특정 상자에서 (255.255.255.255)의 방송 메시지에 대한 응답을 받을 수 없습니다. 예를 들어
보내기DHCP발견
wlan0에서 255.255.255.255까지의 DHCPREQUEST
해당 네트워크에 있는 DHCP 서버의 응답을 볼 수도 있습니다.
10.0.1.1로 시작하는 DHCPOFFER
그러나 실제 인터페이스는 이를 수신하지 않습니다. 동일한 네트워크의 다른 모든 인터페이스와 다른 상자에서 작동합니다. 이 상자에는 방화벽이 없는 최신 최소 데비안이 있습니다.
그것은 무엇입니까?
추신: 문제는 DHCP에만 있는 것이 아닙니다(클라이언트가 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
그러나 원격 엔드포인트가 네트워크 브로드캐스트가 0인 경우(예: 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
하지만 왜 커널 라우팅만으로는 충분하지 않은지 잘 모르겠습니다...