Est-il nécessaire de définir manuellement l'adresse de diffusion de l'interface?

9

Je convertis mes scripts à partir d'anciens net-tools:

ifconfig eth0 192.168.2.1 netmask 255.255.255.0

vers iproute2:

ip link set eth0 up
ip addr add 192.168.2.1/24 dev eth0

et je remarque que les nouvelles commandes ne définissent pas l'adresse de diffusion par défaut.

Quel était:

1: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 1c:6f:65:c5:d6:d7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.1/24 brd 192.168.2.255 scope global eth0

est maintenant:

1: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 1c:6f:65:c5:d6:d7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.1/24 scope global eth0

Je peux ajouter l'adresse de diffusion à ip addrcommander, mais je me demande si elle est nécessaire du tout? Tout d'abord, comment et où cette adresse de diffusion est-elle utilisée? Qu'est-ce qui pourrait se casser s'il n'est pas défini? Deuxièmement, il semble que la table de routage ait toujours les entrées correctes par défaut:

# ip route show table local dev eth0 scope link
broadcast 192.168.2.0  proto kernel  src 192.168.2.1 
broadcast 192.168.2.255  proto kernel  src 192.168.2.1 

Je ne peux même pas le tester car de nos jours personne ne répond ping -b.

Homme de pouvoir
la source

Réponses:

4

Il n'est pas nécessaire de définir manuellement l'adresse de diffusion, elle est déterminée automatiquement à partir du réseau IP et du masque de sous-réseau.

mgorven
la source
Il me semble que vous avez raison de dire "il n'est pas nécessaire de définir l'adresse de diffusion", car elle peut toujours être déduite du masque de réseau et de l'ip. Mais sur certains systèmes (j'ai essayé sur Ubuntu dans un conteneur docker), il peut arriver que l'adresse de diffusion ne soit pas définie. Et je me demande donc pourquoi un tel champ existe dans une définition d'interface. En d'autres termes, pourquoi puis-je le faire $ ip addr 192.168.0.4/16 broadcast 1.2.3.4 dev <dev>? L'addr de diffusion ne doit pas être un champ, mais toujours calculé, non?
JonasVautherin
Ne répond pas aux questions: comment et où cette adresse de diffusion est-elle utilisée? Qu'est-ce qui pourrait se casser s'il n'est pas défini?
claymation du
0

Dans mon environnement, si je ne définis pas l'adresse de diffusion, je peux envoyer une requête ping à la nouvelle IP à partir de toutes les ressources du sous-réseau "physique" local, par exemple chaque périphérique directement connecté à mon commutateur. Cependant, je ne peux pas cingler la nouvelle IP à partir d'un appareil connecté à mon routeur sans fil, auquel le commutateur est branché. En ajoutant l'adresse de diffusion, le routeur sans fil détecte la nouvelle adresse IP et tous les appareils se voient indépendamment de la façon dont ils sont connectés. Cela peut dépendre du fabricant de l'équipement que j'utilise / de ma topologie individuelle, mais c'était en effet nécessaire.

Dan
la source