Linux

ifconfig 沒有顯示有效的廣播地址

  • December 3, 2020

我是 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 網路上的任何其他設備。

將您的電話更改為:

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

要獲得正確的廣播,猜測130.30.5.255是您正確的廣播地址。

但請注意,IP 地址將在下次重新啟動時消失。您必須在介面文件中指定它以使其永久化。在使用中它是例如/etc/sysconfig/network/ifcfg-eth1。通常也有一些 gui 工具來進行網路配置,在 suse 中是yast,在 redhat 中是system-config-network

我認為這個問題的正確答案應該是: ip addr add 130.30.5.15/24 brd + dev eth1

這就是iproute2為網路介面定義廣播地址的方式。

引用自:https://serverfault.com/questions/112269