Eu tenho um robô executando o Linux com adaptadores com e sem fio. Quando eu inicializo, ele se conecta à rede sem fio. Quando atribuo um IP ao com fio (estaticamente ou com DHCP), parece que funciona. Como ifconfig
mostra , mostra um IP adequado e route
mostra rotas adequadas. No entanto, quando faço uma solicitação ARP do IP com fio, a resposta ARP contém o MAC sem fio.
??? Não há ponte rodando no robô, então por que não consigo o MAC com fio ???
Quando o fio é desconectado, o IP com fio responde ao ping ...
Por que o robô está respondendo pela interface sem fio a solicitações de IP no fio ???
EDIT: os adaptadores com e sem fio na mesma sub-rede IP. Eu faço uma solicitação ARP de um computador (tentado com computadores diferentes) na mesma sub-rede IP.
saída ifconfig relevante:
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)
saída relevante da rota:
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
É um linux muito reduzido, então não tenho ferramentas como artptables, iptables, sysctl, brctl, etc.
EDIT: diagrama conforme solicitado
EDIT: Estou despejando tráfego e olhando para a tabela ARP. Uma solicitação ARP de 192.168.0.110 retorna uma resposta ARP contendo 24: 3C: 20: 06: 3E: 6D. O MAC de origem do pacote de resposta ARP também é 24: 3C: 20: 06: 3E: 6D. Eu tentei mexer com _filter, _ignore e _announce, como mencionado aqui , mas sem sucesso.
EDIT: configurar um gateway (em qualquer interface) não faz diferença (como não deveria).
EDIT: funcionou bem em uma versão anterior do sistema operacional (baseada em openembedded). é possível que eles mudaram alguma coisa?