web-dev-qa-db-fra.com

ifconfig définit une mauvaise diffusion jusqu'à ce qu'elle soit à nouveau exécutée

Cette question est très déroutante pour moi. ifconfig définit une adresse de diffusion différente de celle spécifiée, jusqu'à ce que je relance la même commande.

J'essaie de changer l'interface eth0:

inet addr:172.23.5.1  Bcast:172.23.5.255  Mask:255.255.255.0

Je lance alors ifconfig eth0 broadcast 172.23.6.255 netmask 255.255.255.0 172.23.6.1

(notez comment Bcast est maintenant .255.255 au lieu du .6.255. spécifié).):

inet addr:172.23.6.1  Bcast:172.23.255.255  Mask:255.255.0.0

Lorsque je lance à nouveau la même commande, la Bcast est telle que spécifiée:

inet addr:172.23.6.1  Bcast:172.23.6.255  Mask:255.255.255.0

  1. Pourquoi cela arrive-t-il?
  2. Y'a t'il un moyen d'arranger cela?
1
jomo

Généralement, vous n'avez pas besoin de spécifier broadcast. L'adresse broadcast est la dernière adresse du sous-réseau. Le masque de réseau spécifie déjà la plage du sous-réseau. Lorsque vous configurez une interface, vous ne pouvez définir que l'adresse IP et le masque de réseau.

L'ordre des paramètres dans votre commande est incorrect.

Vous dites à votre NIC de régler broadcast et netmask avant ip address. C'est pourquoi vous rencontrez ce problème.

ifconfig définit broadcast et netmask et après cela définit le ip address.

L'adresse IP 172.23.6.1 est B class de l'adresse, more here , et le masque de réseau par défaut est 255.255.0.0. Vous devez définir votre diffusion sur 172.16.255.255 avant de définir l'adresse IP.


Avec le bon ordre de paramètres, vous n'aurez pas ce problème.

ifconfig ethX xxx.xxx.xxx.xxx broadcast xxx.xxx.xxx.yyy netmask yyy.yyy.yyy.yyy

ou

ifconfig ethX  xxx.xxx.xxx.xxx netmask yyy.yyy.yyy.yyy

Vous n'avez pas besoin de spécifier la broadcast

2
2707974