우분투 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에서 나타납니다.
모든 힌트를 높이 평가합니다.
감사합니다.
라우팅 테이블이 혼란 스럽습니다. 두 가지가 아닌 하나의 기본 경로 만있을 수 있습니다. –
이것은 OS의 기본 설정이며 다른 측정 항목입니다. 두 번째 기본 게이트웨이 인'sudo route del default gw OpenWrt.lan'을 제거했고 같은 문제가 있습니다. –