2017-03-15 1 views
0

J'ai un problème de réception des paquets UDP sur un UTS Ubuntu 16.04.2, avec 2 interfaces réseau différentes: 0 ethernet avec 10.xxx IP 2. wifi avec 192.168.xxServeur Linux C/C++ UDP sur le problème de l'interface réseau secondaire

Les paquets arrivent sur la 2ème interface (wlan0), je peux les voir sur wireshark/tcpdump, mais aucun paquet reçu par mon serveur udp.

J'ai essayé aussi de se lier à l'interface wlan0 (setsockopt(localSock, SOL_SOCKET, SO_BINDTODEVICE, ..., se lier à 0.0.0.0, 192.168.xx, mais pas de chance.

En outre, netcat -4 -u -l 0.0.0.0 <port> (ainsi que sur 192.168.xx) reçoit aucune.

la seule façon que je réussi à le faire fonctionner est que je change la passerelle par défaut à la 192.168.xy

table de routage:

[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 

Cela semble être en quelque sorte lié à Not able to receive UDP/IPv6 packets on secondary interface mais cette fois sur ipv4.

Tous les indices sont très appréciés.

Merci

+0

Votre table de routage est confuse. Il ne peut y avoir qu'une route par défaut, pas deux. –

+0

Ce sont les paramètres par défaut du système d'exploitation et ils ont des métriques différentes. J'ai enlevé la deuxième passerelle par défaut 'sudo route du défaut gw OpenWrt.lan' et j'ai le même problème. –

Répondre