广播 255.255.255.255 的响应

广播 255.255.255.255 的响应

在一个特定的盒子上,我无法收到对 (255.255.255.255) 的广播消息的响应。例如

发送 DHCPDISCOVER

wlan0 上的 DHCPREQUEST 到 255.255.255.255

甚至可以查看该网络上 DHCP 服务器的响应

从 10.0.1.1 开始的 DHCPOFFER

但实际接口没有接收到它。它适用于所有其他接口以及同一网络上的其他盒子。这个盒子有新鲜的最小的 Debian,没有防火墙。

会是什么?

PS:问题不仅仅在于 DHCP(即使客户端因此无法获取 IP)。但是发送到 255.255.255.255 并得到响应的任何消息都会到达框,但无法从界面读取。

这是该接口的 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

答案1

好了,问题解决了。这实际上与某些事情有关,我不太明白。基本上,除了常规路由之外,出于某种原因,为了能够从单播端点读取,我应该添加默认路由、源和指标。因此以下完全解决了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

但不确定为什么内核路由还不够......

相关内容