ifconfig 设置错误广播直到再次运行

ifconfig 设置错误广播直到再次运行

这个问题让我很困惑。ifconfig设置一个与指定不同的广播地址,直到我再次运行相同的命令。

我正在尝试更改 eth0 接口:

inet addr:172.23.5.1  Bcast:172.23.5.255  Mask:255.255.255.0

然后我跑ifconfig eth0 broadcast 172.23.6.255 netmask 255.255.255.0 172.23.6.1

(请注意Bcast现在是.255.255而不是指定的.6.255。)

inet addr:172.23.6.1  Bcast:172.23.255.255  Mask:255.255.0.0

当我再次运行相同的命令时,Bcast结果如下:

inet addr:172.23.6.1  Bcast:172.23.6.255  Mask:255.255.255.0

  1. 为什么会发生这种情况?
  2. 有没有办法来解决这个问题?

答案1

通常不需要指定broadcastbroadcast地址是子网的最后一个地址。网络掩码已经指定了子网的范围。配置接口时,可以只设置IP地址和网络掩码。

您的命令中的参数顺序错误。

你告诉你的网卡在 之前设置broadcast和。这就是你遇到这个问题的原因。netmaskip address

ifconfig集合broadcastnetmask在那之后设置ip address

IP地址172.23.6.1B class地址,更多这里,默认网络掩码为。在设置 IP 地址之前,255.255.0.0您必须先将广播设置为。172.16.255.255


只要参数顺序正确,就不会遇到这个问题。

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

或者

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

您不需要指定broadcast

相关内容