У меня есть робот под управлением Linux с проводными и беспроводными адаптерами. Когда я загружаюсь, он подключается к беспроводной сети нормально. Когда я назначаю IP для проводного (статически или с DHCP), это выглядит как работает. Как ifconfig
показано , показывает правильный IP и route
показывает правильные маршруты. Однако, когда я делаю запрос ARP для проводного IP, ответ ARP содержит беспроводной MAC.
??? На роботе нет моста, так почему я не могу получить проводной MAC ???
Когда провод отключен, проводной IP отвечает на пинг ...
Почему робот отвечает по беспроводному интерфейсу на IP-запросы в проводной сети ???
РЕДАКТИРОВАТЬ: проводной и беспроводной адаптеры в одной IP-подсети. Я делаю запрос ARP с компьютера (пробовал на разных компьютерах) в той же IP-подсети.
соответствующий вывод ifconfig:
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)
соответствующий вывод маршрута:
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
Это очень урезанный Linux, поэтому у меня нет таких инструментов, как artptables, iptables, sysctl, brctl и т. Д.
РЕДАКТИРОВАТЬ: диаграмма в соответствии с просьбой
РЕДАКТИРОВАТЬ: я сбрасываю трафик и смотрю на таблицу ARP. Запрос ARP 192.168.0.110 возвращает ответ ARP, содержащий 24: 3C: 20: 06: 3E: 6D. MAC-адрес исходного пакета ответа ARP также составляет 24: 3C: 20: 06: 3E: 6D. Я пробовал возиться с _filter, _ignore и _announce, как упоминалось здесь , но безрезультатно.
РЕДАКТИРОВАТЬ: установка шлюза (на любом интерфейсе) не имеет значения (как это не должно).
РЕДАКТИРОВАТЬ: это работало нормально на предыдущей версии ОС (на основе openembedded). Возможно, они что-то изменили?