Les seuls numéros de réseau que je peux garder dans ma tête sont maintenant et ont toujours été un réseau de classe C avec un masque de réseau 24 bits, tel que 192.168.1.0/24. Je sais qu'il y a 254 adresses hôtes utilisables disponibles avec une adresse de diffusion de 192.168.1.255, une adresse de passerelle/routeur de 192.168.1.1 ou 192.168.1.254 (selon qui exécute le réseau) et un masque de réseau lisible par l'homme de 255.255.255.0 . C'est mon réseau standard. Après tout, 254 hôtes suffisent pour n'importe quel sous-réseau, n'est-ce pas ? Mauvais. Il y a quelques années, j'ai dû sortir de mon scénario standard de 254 hôtes par sous-réseau lorsque j'ai décidé d'utiliser un masque de réseau 22 bits (255.255.252.0) pour obtenir un espace d'adressage utilisable de 1022.
Je connaissais peu cet espace d'adressage et il était frustrant d'essayer de rechercher les informations simples dont j'avais besoin sans faire défiler les forums avec tous les bavardages inutiles et la rhétorique hors sujet. Je suppose que certaines personnes ont juste besoin d'un espace dans lequel exprimer leurs griefs à propos de tout. Je m'égare.
Le problème
Étant donné que tout a une adresse IP de nos jours, mon serveur DHCP manquait d'adresses IP et je devais faire quelque chose de simple pour remédier à la situation. J'avais l'idée ridicule que 254 adresses seraient suffisantes pour environ 130 employés, 30 serveurs, 10 imprimantes, deux routeurs, 10 points d'accès sans fil et quelques autres appareils aléatoires dans chacun de nos deux sites. J'avais oublié que tout le monde a un téléphone qu'il a connecté au WiFi. Vous pouvez voir que mon adresse 254 ne couvrirait pas les PC de tout le monde ainsi que leurs téléphones et ne prendrait pas en charge mes autres appareils requis. J'ai reçu beaucoup trop d'appels et de tickets décrivant des problèmes qui n'étaient pas si faciles à résoudre jusqu'à ce que je réalise que j'étais à court d'adresses IP. Et, malheureusement, les serveurs DHCP distribuent les adresses selon le principe du premier arrivé, premier servi, sans se soucier de qui (ou de quoi) obtient ces adresses.
J'ai découvert le sipcalc
commande pour me faciliter un peu la vie lors de la détermination des plages d'adresses IP, des masques de réseau et des adresses de passerelle potentielles. Le sipcalc
La commande est une sorte de calculateur de ligne de commande qui affiche toutes les informations relatives à l'IP dont vous avez besoin pour remplir vos informations DHCP ou configurer vos adresses IP statiques.
utilisation de sipcalc
Voici un exemple de réseau standard 24 bits de classe C utilisant sipcalc
.
$ sipcalc 192.168.1.0/24
-[ipv4 : 192.168.1.0/24] - 0
[CIDR]
Host address - 192.168.1.0
Host address (decimal) - 3232235776
Host address (hex) - C0A80100
Network address - 192.168.1.0
Network mask - 255.255.255.0
Network mask (bits) - 24
Network mask (hex) - FFFFFF00
Broadcast address - 192.168.1.255
Cisco wildcard - 0.0.0.255
Addresses in network - 256
Network range - 192.168.1.0 - 192.168.1.255
Usable range - 192.168.1.1 - 192.168.1.254
Et, l'exemple de masque de réseau 22 bits équivalent.
$ sipcalc 192.168.1.0/22
-[ipv4 : 192.168.1.0/22] - 0
[CIDR]
Host address - 192.168.1.0
Host address (decimal) - 3232235776
Host address (hex) - C0A80100
Network address - 192.168.0.0
Network mask - 255.255.252.0
Network mask (bits) - 22
Network mask (hex) - FFFFFC00
Broadcast address - 192.168.3.255
Cisco wildcard - 0.0.3.255
Addresses in network - 1024
Network range - 192.168.0.0 - 192.168.3.255
Usable range - 192.168.0.1 - 192.168.3.254
Si vous faites partie de ceux qui aiment voir beaucoup d'informations, quelle que soit leur valeur, essayez d'ajouter le -a
(tous) passent à votre commande.
$ sipcalc -a 192.168.1.0/24
-[ipv4 : 192.168.1.0/24] - 0
[Classful]
Host address - 192.168.1.0
Host address (decimal) - 3232235776
Host address (hex) - C0A80100
Network address - 192.168.1.0
Network class - C
Network mask - 255.255.255.0
Network mask (hex) - FFFFFF00
Broadcast address - 192.168.1.255
[CIDR]
Host address - 192.168.1.0
Host address (decimal) - 3232235776
Host address (hex) - C0A80100
Network address - 192.168.1.0
Network mask - 255.255.255.0
Network mask (bits) - 24
Network mask (hex) - FFFFFF00
Broadcast address - 192.168.1.255
Cisco wildcard - 0.0.0.255
Addresses in network - 256
Network range - 192.168.1.0 - 192.168.1.255
Usable range - 192.168.1.1 - 192.168.1.254
[Classful bitmaps]
Network address - 11000000.10101000.00000001.00000000
Network mask - 11111111.11111111.11111111.00000000
[CIDR bitmaps]
Host address - 11000000.10101000.00000001.00000000
Network address - 11000000.10101000.00000001.00000000
Network mask - 11111111.11111111.11111111.00000000
Broadcast address - 11000000.10101000.00000001.11111111
Cisco wildcard - 00000000.00000000.00000000.11111111
Network range - 11000000.10101000.00000001.00000000 -
11000000.10101000.00000001.11111111
Usable range - 11000000.10101000.00000001.00000001 -
11000000.10101000.00000001.11111110
[Networks]
Network - 192.168.1.0 - 192.168.1.255 (current)
Personnellement, je pense que les informations CIDR (Classless Inter-Domain Routing) sont les plus utiles. C'est la sortie par défaut pour le sipcalc
commande. Je ne sais pas qui utilise les informations bitmap, mais elles sont là pour ceux d'entre vous qui le font. Je n'ai jamais eu d'exemple dans ma carrière pour le connaître ou l'utiliser. Peut-être que sa connaissance est utile pour les examens de certification réseau, mais au-delà de cela, je ne suis pas sûr que vous le verrez jamais dans un réseau ou une application réelle. Si c'est le cas, utilisez sipcalc
pour vous faciliter la tâche.
[ Vous pourriez également apprécier :Exécuter une analyse NMAP rapide pour inventorier mon réseau ]
options sipcalc
Si vous avez lu l'un de mes articles, vous savez que j'utilise un sous-ensemble d'options de commande - juste celles dont j'ai besoin, en fait. J'ai rarement le temps ou la patience d'explorer toutes les options d'une commande. J'accède généralement à la page de manuel, trouve une ou deux options qui me donnent les informations dont j'ai besoin, puis je passe à autre chose. Pour ceux d'entre vous qui aiment explorer tous les coins et recoins, profitez de tout sipcalc
les coins et recoins (liste d'options) de la page de manuel :
OPTIONS
-a --all
Give all possible information about an adress or
interface, this is equivalent to giving the flags
-b -c -i -n 0 for IPv4 and -e -r -t for IPv6.
-b --cidr-bitmap (IPv4)
Display CIDR based bitmaps.
-c --classfull-addr (IPv4)
Display classfull address information.
-d --resolve
Enable name resolution.
-e --v4inv6 (IPv6)
Display v4inv6 address information.
-h --help
Display the commandline help.
-i --cidr-addr (default IPv4)
Display CIDR address information.
-I, --addr-int=INT
Explicitly add an interface. This can be used to
circumvent the sipcalc "smart parsing" of
addresses/interfaces on the commandline. This can
be useful if you for example for some reason have
an interface with the same name as an actual
address, eg. 127.0.0.1 or ::1 etc. See also: -4
-6.
-n --subnets=NUM
Display NUM extra subnets (starting from the cur-
rent subnet). Will display all subnets in the cur-
rent /24 if NUM is 0.
-r --v6rev (IPv6)
Display IPv6 reverse DNS information.
-s --v4split=MASK (IPv4)
Split the current network into subnets of MASK
size. MASK can be given in dotted quad, hex or CIDR
form.
-S, --v6split=MASK (IPv6)
Split the current network into subnets of MASK
size. MASK must be given in CIDR form, either with
or with the '/' character.
-t, --v6-standard (default IPv6)
Display IPv6 address information.
-u, --split-verbose
This will put network splitting into verbose mode.
This means that all the subnets generated when
splitting a network will be passed back to sipcalc
for explicit parsing giving the same output as if
the address had been given on the commandline. All
options passed to sipcalc on the commandline will
also be inherited when the subnet is passed back to
sipcalc for parsing, with one exception, the -s/-S
flag, we don't want an endless loop. Sending only
the -s/-S and -u flags to sipcalc will give the
default output (-i for ipv4 and -t for ipv6).
-v --version
Display version information.
-x --classful-bitmap (IPv6)
Display a classfull bitmap.
-4, --addr-ipv4=ADDR
Explicitly add an IPv4 address. See also: -I -6.
-6, --addr-ipv6=ADDR
Explicitly add an IPv6 address. See also: -I -4.
Pour moi, les informations IPv6 ne valent presque rien car si jamais je convertis un de mes réseaux dessus, DHCP sera mon meilleur ami. Je préfère ne pas regarder ou tenter de taper des adresses 128 bits. En attendant, sipcalc
et je poursuivrai notre relation minimaliste orientée IPv4.
[ Vous souhaitez en savoir plus sur l'automatisation du système ? Démarrez avec The Automated Enterprise, un livre gratuit de Red Hat. ]
Récapitulez
Le sipcalc
La commande est l'une de ces commandes que vous conservez dans votre arsenal personnel d'administrateur système lorsque vous en avez besoin. Et vous n'en avez pas besoin très souvent, sauf si vous vous occupez quotidiennement de la création, de la gestion et de l'attribution d'espaces d'adressage IP. Certains administrateurs système pipent sipcalc
dans un fichier texte et imprimez-le pour référence future. Je trouve qu'envoyer les informations sur une page HTML est beaucoup plus pratique que de garder une trace de bouts de papier pour le reste de mes jours ou de les épingler sur le mur de mon box déjà surpeuplé.