Responses from multicast 255.255.255.255

multicastnetworkingudp

On one particular box, i cannot get responses to broadcasted messages to (255.255.255.255). For example

Sending DHCPDISCOVER

DHCPREQUEST on wlan0 to 255.255.255.255

And see even responses from DHCP server on this network

DHCPOFFER from 10.0.1.1

But actual interface is not receiving it.
It works on all other interfaces and also on other boxes on the same network.
This box has fresh minimal Debian, no firewall.

What can it be?

PS: The problem is not only with DHCP (even if client is not getting ip because of it). But any message sent to 255.255.255.255 and being responded reaches box, but cannot be read from the interface.

Here the output on netstat -g for this interface

wlan0           1      224.0.0.251
wlan0           1      all-systems.mcast.net

Update 1:
As per request here routing tables of this interface

**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

But when remote endpoint replies to zero network multicast (e.g. 255.255.255.255 or 192.168.10.255) I see packets coming and cannot handle it (e.g. netcat -ul 192.168.10.3 68 not responding)

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

Best Answer

Well, the issue is solved. It was actually related to something, which I not quite understand. Basically, in addition to regular route, for some reason, in order to enable reading from unicasting endpoint, i should add default route, source and metrics. So following fully solves the issue for 192.168.10.3/24 network

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

Not sure though, why kernel route is not enough...

Related Question