ifconfig 没有显示有效的广播地址

ifconfig 没有显示有效的广播地址

我对 Linux 网络还不太熟悉。我按如下方式设置接口 (eth1) 的 IP 地址...

/sbin/ip link set eth1 down
/sbin/addr addr add 130.30.5.15/24 dev eth1
/sbin/ip link set eth1 up

然而,当我打字时ifconfig我得到...

eth1      Link encap:Ethernet  HWaddr 00:0E:0C:E5:F0:B5  
          inet addr:130.30.5.3  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:96945 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2466 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:6460544 (6.1 Mb)  TX bytes:164386 (160.5 Kb)
          Base address:0x2000 Memory:b8800000-b8820000 

为什么广播是 0.0.0.0?这是否意味着它将只使用默认广播 (130.30.5.255)?或者我需要以某种方式设置它?我尝试使用此接口,但无法 ping 网络上的任何其他设备。

答案1

将您的呼叫更改为:

/sbin/ip addr add 130.30.5.15/24 broadcast 130.30.5.255 dev eth1

为了获得正确的广播,猜测130.30.5.255你的正确广播地址。

但请注意,下次重启时 IP 地址将会消失。您必须在接口文件中指定它才能使其永久生效。在 suse 中例如是/etc/sysconfig/network/ifcfg-eth1。通常还有一些 GUI 工具可以进行网络配置,在 suse 中是yast,在 redhat 中是system-config-network

答案2

我认为这个问题的正确答案应该是: ip addr add 130.30.5.15/24 brd + dev eth1

这就是iproute2定义网络接口的广播地址。

相关内容