Networking
來自多播 255.255.255.255 的響應
在一個特定的盒子上,我無法收到對(255.255.255.255)廣播消息的響應。例如
發送 DHCPDISCOVER
wlan0 到 255.255.255.255 上的 DHCPREQUEST
甚至可以看到來自該網路上 DHCP 伺服器的響應
來自 10.0.1.1 的 DHCPOFFER
但實際介面沒有收到它。它適用於所有其他介面,也適用於同一網路上的其他盒子。這個盒子有新鮮的最小 Debian,沒有防火牆。
會是什麼?
PS:問題不僅在於 DHCP(即使客戶端因此沒有獲得 ip)。但是任何發送到 255.255.255.255 並得到響應的消息都會到達 box,但無法從介面讀取。
這裡是這個介面的 netstat -g 的輸出
wlan0 1 224.0.0.251 wlan0 1 all-systems.mcast.net
更新 1:根據此處的請求,此介面的路由表
**me@host:~ $ ip address show dev wlan0** 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether *[MAC]* brd ff:ff:ff:ff:ff:ff inet 192.168.10.3/24 brd 192.168.10.255 scope global wlan0 valid_lft forever preferred_lft forever **me@host:~ $ ip route show dev wlan0** 192.168.10.0/24 proto kernel scope link src 192.168.10.3 **me@host:~ $ ip route show dev wlan0 table local** broadcast 192.168.10.0 proto kernel scope link src 192.168.10.3 local 192.168.10.3 proto kernel scope host src 192.168.10.3 broadcast 192.168.10.255 proto kernel scope link src 192.168.10.3
但是當遠端端點回复零網路多播(例如 255.255.255.255 或 192.168.10.255)時,我看到數據包進來並且無法處理它(例如netcat -ul 192.168.10.3 68沒有響應)
IP (tos 0x0, ttl 64, id 11512, offset 0, flags [DF], proto UDP (17), length 76) 192.168.10.3.68 > 192.168.10.255.67: UDP, length 48 IP (tos 0x0, ttl 64, id 509, offset 0, flags [none], proto UDP (17), length 156) 192.168.10.1.67 > 192.168.10.3.68: UDP, length 128
嗯,問題解決了。它實際上與一些我不太了解的東西有關。基本上,除了正常路由,出於某種原因,為了能夠從單播端點讀取,我應該添加預設路由、源和指標。因此,以下完全解決了 192.168.10.3/24 網路的問題
ip route add default via 192.168.10.1 src 192.168.10.3 metric 303 dev wlan0 ip route add 192.168.10.0/24 via 192.168.10.1 src 192.168.10.3 metric 303 dev wlan0
不過不確定,為什麼核心路由還不夠…