Saya punya robot yang menjalankan linux dengan adaptor berkabel dan nirkabel. Ketika saya boot, itu terhubung ke denda nirkabel. Ketika saya menetapkan IP ke kabel (baik secara statis atau dengan DHCP), sepertinya berfungsi. Seperti dalam, ifconfig
menunjukkan IP yang tepat dan route
menunjukkan rute yang tepat. Namun, ketika saya melakukan permintaan ARP dari IP kabel, jawaban ARP berisi MAC nirkabel.
??? Tidak ada jembatan yang berjalan di robot, jadi mengapa saya tidak mendapatkan MAC kabel ???
Ketika kabel terputus, IP kabel membalas ke ...
Mengapa robot membalas melalui antarmuka nirkabel untuk permintaan IP pada kabel ???
EDIT: baik adaptor berkabel dan nirkabel pada subnet IP yang sama. Saya melakukan permintaan ARP dari komputer (mencoba dengan komputer yang berbeda) pada subnet IP yang sama.
output ifconfig yang relevan:
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)
output rute yang relevan:
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
Ini adalah linux yang sangat ketat, jadi saya tidak memiliki alat seperti artptables, iptables, sysctl, brctl, dll.
EDIT: diagram seperti yang diminta
EDIT: Saya membuang lalu lintas dan melihat tabel ARP. Permintaan ARP 192.168.0.110 mengembalikan balasan ARP yang berisi 24: 3C: 20: 06: 3E: 6D. Sumber MAC dari paket balasan ARP juga 24: 3C: 20: 06: 3E: 6D. Saya sudah mencoba mengutak-atik _filter, _ignore, dan _announce, seperti yang disebutkan di sini , tetapi tidak berhasil.
EDIT: mengatur gateway (di kedua antarmuka) tidak ada bedanya (sebagaimana seharusnya).
EDIT: ini bekerja dengan baik pada versi OS sebelumnya (berdasarkan openembedded). apakah mungkin mereka mengubah sesuatu?