2017-03-15 5 views
0

우분투 16.04.2 LTS에서 UDP 패킷을 수신하는 데 문제가 있습니다. 두 가지 네트워크 인터페이스 : 1. 이더넷이 10.xxx 인 IP 2. wifi with 192.168.xx 보조 네트워크 인터페이스의 Linux C/C++ UDP 서버 문제

패킷이 두 번째 인터페이스 (wlan0)에 도착했습니다. wireshark/tcpdump에서 패킷을 볼 수 있지만 udp 서버는 패킷을받지 못했습니다.

는 또한 0.0.0.0,으로 192.168.xx 있지만 운 바인딩. 또한

, netcat -4 -u -l 0.0.0.0 <port>을 (물론으로 192.168.xx에)을 하나도 수신하지 상기 wlan0 인터페이스 (setsockopt(localSock, SOL_SOCKET, SO_BINDTODEVICE, ... 바인딩하려고.

[email protected]:/tmp$ route 
Kernel IP routing table 
Destination  Gateway   Genmask   Flags Metric Ref Use Iface 
default   10.x.x.x  0.0.0.0   UG 0  0  0 eth0 
default   OpenWrt.lan  0.0.0.0   UG 600 0  0 wlan0 
10.x.0.0  *    255.255.0.0  U  100 0  0 eth0 
link-local  *    255.255.0.0  U  1000 0  0 eth0 
192.168.x.0  *    255.255.255.0 U  600 0  0 wlan0 
:

나는 그것이 작동하도록 관리하는 유일한 방법은 내가 주소 192.168.xy

라우팅 테이블에 기본 게이트웨이를 변경 아니라이것은 어쨌든 Not able to receive UDP/IPv6 packets on secondary interface와 관련이있는 것으로 보이지만 이번에는 ipv4에서 나타납니다.

모든 힌트를 높이 평가합니다.

감사합니다.

+0

라우팅 테이블이 혼란 스럽습니다. 두 가지가 아닌 하나의 기본 경로 만있을 수 있습니다. –

+0

이것은 OS의 기본 설정이며 다른 측정 항목입니다. 두 번째 기본 게이트웨이 인'sudo route del default gw OpenWrt.lan'을 제거했고 같은 문제가 있습니다. –

답변