J'ai un robot sous Linux avec des adaptateurs filaires et sans fil. Lorsque je démarre, il se connecte à l'amende sans fil. Lorsque j'attribue une adresse IP au filaire (de manière statique ou avec DHCP), il semble que cela fonctionne. Comme dans, ifconfig
affiche une adresse IP appropriée et route
affiche les itinéraires appropriés. Cependant, lorsque je fais une demande ARP de l'IP filaire, la réponse ARP contient le MAC sans fil.
??? Il n'y a pas de pont en cours d'exécution sur le robot, alors pourquoi ne pas obtenir le MAC câblé ???
Lorsque le fil est déconnecté, l'IP câblée répond au ping ...
Pourquoi le robot répond-il via l'interface sans fil aux requêtes IP sur le câble ???
EDIT: les adaptateurs filaires et sans fil sur le même sous-réseau IP. Je fais une demande ARP à partir d'un ordinateur (essayé avec différents ordinateurs) sur le même sous-réseau IP.
sortie ifconfig pertinente:
eth0 Link encap:Ethernet HWaddr 00:01:C0:04:BD:F7
inet addr:192.168.0.110 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ra0 Link encap:Ethernet HWaddr 24:3C:20:06:3E:6D
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:59 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31023598 (29.5 MiB) TX bytes:85640627 (81.6 MiB)
sortie d'itinéraire appropriée:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ra0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
C'est un linux très simple, donc je n'ai pas d'outils comme artptables, iptables, sysctl, brctl, etc.
EDIT: diagramme comme demandé
EDIT: Je vide le trafic et regarde la table ARP. Une demande ARP de 192.168.0.110 renvoie une réponse ARP contenant 24: 3C: 20: 06: 3E: 6D. Le MAC source du paquet de réponse ARP est également 24: 3C: 20: 06: 3E: 6D. J'ai essayé de jouer avec _filter, _ignore et _announce, comme mentionné ici , mais en vain.
EDIT: la définition d'une passerelle (sur l'une ou l'autre interface) ne fait aucune différence (comme cela ne devrait pas).
EDIT: cela a bien fonctionné sur une version précédente du système d'exploitation (basé sur openembedded). est-il possible qu'ils aient changé quelque chose?