ฉันมีหุ่นยนต์ที่ใช้ linux พร้อมอะแดปเตอร์แบบมีสายและไร้สาย เมื่อฉันบูทขึ้นมันจะเชื่อมต่อกับอุปกรณ์ไร้สาย เมื่อฉันกำหนด IP ให้กับสาย (ทั้งแบบคงที่หรือกับ DHCP) ดูเหมือนว่าใช้งานได้ เช่นเดียวกับifconfig
แสดง IP ที่เหมาะสมและroute
แสดงเส้นทางที่เหมาะสม อย่างไรก็ตามเมื่อฉันทำการร้องขอ ARP ของ IP แบบใช้สายการตอบกลับ ARP จะมี MAC ไร้สาย
??? ไม่มีบริดจ์ที่รันบนหุ่นยนต์ดังนั้นทำไมฉันไม่รับ MAC แบบใช้สาย ???
เมื่อสายไฟถูกตัดการเชื่อมต่อ IP แบบผ่านสายตอบกลับการ ping ...
ทำไมหุ่นยนต์ถึงตอบผ่านอินเตอร์เฟซไร้สายเพื่อร้องขอ 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) เป็นไปได้ไหมที่พวกเขาจะเปลี่ยนแปลงบางสิ่ง?