Calcul d'adresses IP avec ipcalc
Mise à jour :
Configurer un réseau IP demande de la rigueur. Comment savoir rapidement si une adresse IP appartient à un sous-réseau ? Quel est le masque correspondant ? Combien d’hôtes peuvent être configurés ? Pour les administrateurs systèmes, ces calculs sont quotidiens… mais souvent fastidieux.
La gestion manuelle des adresses IP, des masques de sous-réseau, et des plages d’adresses peut entraîner des erreurs coûteuses : conflits d’adresses, mauvaise segmentation du réseau, ou pertes de connectivité. Pour y remédier, il existe un outil simple, rapide et efficace : ipcalc.
Qu’est-ce qu’ipcalc ?
ipcalc est un utilitaire en ligne de commande qui facilite le calcul et la visualisation des informations liées aux adresses IP. Il permet de vérifier la validité d’une configuration réseau, de découper des sous-réseaux adaptés à vos besoins, et d’obtenir en un coup d’œil des données précises comme l’adresse de diffusion, la plage d’hôtes utilisables, ou la classe d’adresse.
Son avantage ? Il est léger, disponible sur la plupart des distributions Linux, et s’utilise directement depuis un terminal, sans interface graphique lourde. Grâce à lui, fini les calculs à la main ou les tableaux confus : vos informations réseau sont à portée de commande.
Installation de ipcalc
ipcalc est généralement disponible dans les dépôts officiels des principales distributions Linux. L’installation est donc rapide et adaptée à votre environnement.
Sur Debian, Ubuntu et dérivés
Utilisez apt
pour installer ipcalc :
sudo apt updatesudo apt install ipcalc
Sur CentOS, Red Hat, AlmaLinux
ipcalc est inclus dans le paquet initscripts
. Pour l’installer :
sudo yum install initscripts
ou sur les versions plus récentes utilisant dnf
:
sudo dnf install initscripts
Sur Arch Linux et Manjaro
Utilisez pacman
:
sudo pacman -S ipcalc
Pour macOS via Homebrew
Si vous utilisez macOS avec Homebrew :
brew install ipcalc
Vérification de l’installation
Après installation, vous pouvez vérifier que ipcalc est bien fonctionnel avec :
ipcalc --version
Ou en testant une commande simple :
ipcalc 192.168.1.0/24
Vous devriez obtenir une sortie détaillant les informations réseau correspondantes.
Cette simplicité d’installation permet de l’intégrer rapidement à vos outils d’administration, que ce soit sur un serveur distant ou en local.
Comprendre les sorties de ipcalc
L’un des atouts majeurs de ipcalc est sa capacité à fournir instantanément des informations précises à partir d’une simple adresse IP. Voici comment interpréter les résultats affichés :
Adresse IP et Netmask
Address: 192.168.1.0Netmask: 255.255.255.0 = 24
Address : l’adresse IP analysée. Netmask : le masque de sous-réseau en notation décimale et CIDR.
Ces données définissent le cadre du sous-réseau.
Wildcard et Network
Wildcard: 0.0.0.255Network: 192.168.1.0/24
Wildcard : utile en configuration ACL (access-list) pour exprimer les bits variables. Network : identifie le réseau auquel appartient l’adresse IP, avec son masque.
Broadcast et Host Range
Broadcast: 192.168.1.255HostMin: 192.168.1.1HostMax: 192.168.1.254
Broadcast : adresse utilisée pour envoyer un message à tous les hôtes du réseau. HostMin et HostMax : plage d’adresses utilisables par les machines du réseau.
Nombre d’hôtes
Hosts/Net: 254
Ce champ indique combien de machines peuvent être configurées dans ce
sous-réseau. Pour un /24
, on a 2⁸ - 2 = 254 hôtes.
Affichage binaire
ipcalc affiche également les adresses au format binaire, utile pour comprendre les transitions de bits entre réseau et hôtes. Par exemple :
ipcalc 10.0.0.1/8
renvoie :
Address: 10.0.0.1 00001010.00000000.00000000.00000001Netmask: 255.0.0.0 = 8 11111111.00000000.00000000.00000000
Cela permet de visualiser très clairement la séparation entre les bits réseau et hôtes.
Classe et masque générique Cisco
Class: C
Class : classification traditionnelle des adresses IP (A, B, C…), encore utilisée pour certaines configurations. Certaines versions de ipcalc affichent également le masque générique Cisco ou les prefixes VLSM, utiles en environnement Cisco.
Grâce à cette sortie structurée, ipcalc devient un outil indispensable pour diagnostiquer rapidement la configuration réseau et planifier efficacement le subnetting.
Utilisation de base de ipcalc
L’utilisation de ipcalc est intuitive : il suffit de lui passer une adresse IP et éventuellement un masque pour obtenir toutes les informations nécessaires à la configuration réseau.
Adresse IP seule
En fournissant uniquement une adresse IP, ipcalc renvoie les détails par défaut :
ipcalc 192.168.0.1Address: 192.168.0.1 11000000.10101000.00000000. 00000001Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111=>Network: 192.168.0.0/24 11000000.10101000.00000000. 00000000HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110Broadcast: 192.168.0.255 11000000.10101000.00000000. 11111111Hosts/Net: 254 Class C, Private Internet
Cela retourne l’adresse IP, la classe du réseau, et le masque par défaut correspondant à cette classe.
Adresse IP avec CIDR
Pour spécifier précisément le sous-réseau, utilisez la notation CIDR :
ipcalc 192.168.0.1/24Address: 192.168.0.1 11000000.10101000.00000000. 00000001Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111=>Network: 192.168.0.0/24 11000000.10101000.00000000. 00000000HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110Broadcast: 192.168.0.255 11000000.10101000.00000000. 11111111Hosts/Net: 254 Class C, Private Internet
Cette commande calcule automatiquement le masque, le broadcast, la plage d’hôtes utilisables, et le nombre d’hôtes.
Adresse IP avec masque décimal
Vous pouvez aussi indiquer un masque complet :
ipcalc 192.168.0.1 255.255.255.0Address: 192.168.0.1 11000000.10101000.00000000. 00000001Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111=>Network: 192.168.0.0/24 11000000.10101000.00000000. 00000000HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110Broadcast: 192.168.0.255 11000000.10101000.00000000. 11111111Hosts/Net: 254 Class C, Private Internet
Le résultat sera identique à l’utilisation de la notation CIDR /24
.
En résumé, en quelques secondes et une simple ligne de commande, ipcalc vous fournit une lecture complète de votre configuration IP. Indispensable pour éviter les erreurs dans vos fichiers de configuration ou vos scripts d’automatisation.
Options avancées de ipcalc
ipcalc propose plusieurs options en ligne de commande qui étendent ses fonctionnalités au-delà de l’analyse simple d’adresses IP. Voici les principales options à connaître pour optimiser son usage en ligne de commande ou dans des scripts.
Supprimer les couleurs ANSI
Par défaut, ipcalc utilise les codes de couleurs ANSI pour améliorer la lisibilité. Pour désactiver ces couleurs, utilisez :
ipcalc -n 192.168.1.1/24
ou son équivalent long :
ipcalc --nocolor 192.168.1.1/24
Forcer l’affichage coloré
Si votre terminal ne supporte pas les couleurs par défaut, vous pouvez les forcer :
ipcalc -c 192.168.1.1/24
ou :
ipcalc --color 192.168.1.1/24
Supprimer l’affichage binaire
Pour un affichage plus épuré, sans représentation binaire des adresses :
ipcalc -b 192.168.1.1/24Address: 192.168.1.1Netmask: 255.255.255.0 = 24Wildcard: 0.0.0.255=>Network: 192.168.1.0/24HostMin: 192.168.1.1HostMax: 192.168.1.254Broadcast: 192.168.1.255Hosts/Net: 254 Class C, Private Internet
ou :
ipcalc --nobinary 192.168.1.1/24
Affichage de la classe réseau
Pour obtenir uniquement le masque de bits (bit-count-mask) d’une adresse IP :
ipcalc --class 192.168.1.124
Cela affiche simplement le préfixe CIDR associé.
Mode HTML (expérimental)
Une option de sortie HTML existe mais n’est pas finalisée :
ipcalc -h 192.168.1.1/24
ou :
ipcalc --html 192.168.1.1/24
À utiliser avec précaution.
Subnetting par tailles spécifiques
Pour diviser un réseau en plusieurs sous-réseaux avec un nombre précis d’hôtes :
ipcalc --split 50 25 25 192.168.1.0/24Address: 192.168.1.0 11000000.10101000.00000001. 00000000Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111=>Network: 192.168.1.0/24 11000000.10101000.00000001. 00000000HostMin: 192.168.1.1 11000000.10101000.00000001. 00000001HostMax: 192.168.1.254 11000000.10101000.00000001. 11111110Broadcast: 192.168.1.255 11000000.10101000.00000001. 11111111Hosts/Net: 254 Class C, Private Internet
1. Requested size: 50 hostsNetmask: 255.255.255.224 = 27 11111111.11111111.11111111.111 00000Network: 192.168.1.0/27 11000000.10101000.00000001.000 00000HostMin: 192.168.1.1 11000000.10101000.00000001.000 00001HostMax: 192.168.1.30 11000000.10101000.00000001.000 11110Broadcast: 192.168.1.31 11000000.10101000.00000001.000 11111Hosts/Net: 30 Class C, Private Internet
2. Requested size: 25 hostsNetmask: 255.255.255.224 = 27 11111111.11111111.11111111.111 00000Network: 192.168.1.64/27 11000000.10101000.00000001.010 00000HostMin: 192.168.1.65 11000000.10101000.00000001.010 00001HostMax: 192.168.1.94 11000000.10101000.00000001.010 11110Broadcast: 192.168.1.95 11000000.10101000.00000001.010 11111Hosts/Net: 30 Class C, Private Internet
3. Requested size: 25 hostsNetmask: 255.255.255.224 = 27 11111111.11111111.11111111.111 00000Network: 192.168.1.96/27 11000000.10101000.00000001.011 00000HostMin: 192.168.1.97 11000000.10101000.00000001.011 00001HostMax: 192.168.1.126 11000000.10101000.00000001.011 11110Broadcast: 192.168.1.127 11000000.10101000.00000001.011 11111Hosts/Net: 30 Class C, Private Internet
Needed size: 128 addresses.Used network: 192.168.1.0/24.999999999999999999999999999999999999999Unused:192.168.1.128/25
La commande ipcalc --split 50 25 25 192.168.1.0/24
divise le réseau
192.168.1.0/24
en trois sous-réseaux pour accueillir respectivement 50, 25 et
25 hôtes :
- Le premier sous-réseau, bien que demandé pour 50 hôtes, utilise un masque
/27
qui permet 30 hôtes utilisables. C’est le plus proche possible sans dépasser les limites CIDR. - Le deuxième sous-réseau commence à
192.168.1.64/27
et offre également 30 adresses, suffisant pour les 25 hôtes requis. - Le troisième sous-réseau débute à
192.168.1.96/27
, couvrant à nouveau 30 adresses utilisables.
Enfin, après l’allocation de ces trois sous-réseaux, un espace reste disponible
: le bloc 192.168.1.128/25
, qui peut accueillir 126 hôtes. ipcalc optimise
ainsi l’usage du réseau tout en respectant les contraintes d’alignement des
adresses IP.
Décomposition d’une plage d’adresses
L’option --range
permet de décomposer une plage IP en sous-réseaux :
ipcalc --range 192.168.1.0-192.168.1.255deaggregate 192.168.1.0 - 192.168.1.255192.168.1.0/24
Utile pour identifier automatiquement les segments de réseau compatibles.
Conclusion
ipcalc est un outil puissant et polyvalent pour les administrateurs systèmes et réseaux. Que vous soyez novice ou expert, il vous permet de simplifier la gestion de vos adresses IP et de vos sous-réseaux. Grâce à sa syntaxe simple et ses nombreuses options, vous pouvez rapidement obtenir des informations précises sur vos configurations réseau.
Plus d’informations
Pour plus de détails sur les options et fonctionnalités de ipcalc, vous pouvez consulter :
- la documentation officielle ↗.
- le dépôt GitHub ↗ pour les contributions et les problèmes.