ฉันประสบปัญหากับคำขอ / ตอบกลับ ARP จากคอนเทนเนอร์ Ubuntu ที่มีแพลตฟอร์ม windows เป็นโฮสต์นักเทียบท่า
การทดลองดำเนินการด้วยการตั้งค่าพื้นฐาน
โหมดเครือข่ายต่อไปนี้พร้อมใช้งานเป็นส่วนหนึ่งของการติดตั้งเดสก์ท็อปนักเทียบท่าใน Windows
D:\Docker\ubuntu>เครือข่ายนักเทียบท่า ls
ขอบเขตไดรเวอร์ชื่อรหัสเครือข่าย
8375175c22dc สะพานสะพานท้องถิ่น
โฮสต์ 1b9942f6e958 โฮสต์ในพื้นที่
f15c87f3e568 ไม่มีค่าว่างในเครื่อง
ดึงอิมเมจอูบุนตูล่าสุด (จากอูบุนตู: ล่าสุด) และเริ่มใช้งานโดยใช้ เรียกใช้นักเทียบท่า สั่งการ
D:\Docker\ubuntu>นักเทียบท่ารัน -i -t dockertest /bin/bash
รูท@4895113a218d:~#
คอนเทนเนอร์อูบุนตูกำลังทำงานในโหมดเครือข่ายบริดจ์และอาจเห็นอินเทอร์เฟซต่อไปนี้ภายในคอนเทนเนอร์
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 ออกอากาศ 172.17.255.255
อีเธอร์ 02:42:ac:11:00:02 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 4129 ไบต์ 5898871 (5.8 MB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 1674 ไบต์ 95577 (95.5 KB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
แท้จริง: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 เน็ตมาสก์ 255.0.0.0
วนซ้ำ txqueuelen 1,000 (วนกลับในเครื่อง)
แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
ฉันติดตั้ง nmap ภายในคอนเทนเนอร์ Ubuntu และลองส่งคำขอ ARP ไปยังหนึ่งในโหนดในเครือข่ายท้องถิ่นโดยใช้คำสั่ง nping แต่ไม่มีการตอบสนองจากโหนดนั้น (192.168.10.207) แม้จะเข้าถึงได้จากโฮสต์ windows
root@1fdc2acb5928:~# nping --arp-type ARP 192.168.10.207
เริ่ม Nping 0.7.80 ( https://nmap.org/nping ) เวลา 2022-03-21 12:39 UTC
SENT (0.0770s) ARP ใครมี 192.168.10.207? บอก 172.17.0.2
SENT (1.0774s) ARP ใครมี 192.168.10.207? บอก 172.17.0.2
SENT (2.0789s) ARP ใครมี 192.168.10.207? บอก 172.17.0.2
SENT (3.0803s) ARP ใครมี 192.168.10.207? บอก 172.17.0.2
SENT (4.0819s) ARP ใครมี 192.168.10.207? บอก 172.17.0.2
rtt สูงสุด: N/A | rtt ขั้นต่ำ: N/A | rtt เฉลี่ย: N/A
ส่งแพ็คเก็ตดิบ: 5 (210B) | Rcvd: 0 (0B) | แพ้: 5 (100.00%)
Nping เสร็จสิ้น: 1 ที่อยู่ IP ปิงใน 5.16 วินาที
อีกทางหนึ่ง ฉันลองด้วยคำสั่ง ping และมันก็ใช้ได้ดีทีเดียว อาจเป็นโปรโตคอลเลเยอร์ 3 ของมัน
root@1fdc2acb5928:~# ปิง 192.168.10.207
PING 192.168.10.207 (192.168.10.207) 56(84) ไบต์ของข้อมูล
64 ไบต์จาก 192.168.10.207: icmp_seq=1 ttl=37 เวลา=8.00 ms
64 ไบต์จาก 192.168.10.207: icmp_seq=2 ttl=37 เวลา=5.79 ms
64 ไบต์จาก 192.168.10.207: icmp_seq=3 ttl=37 เวลา=5.97 ms
การกำหนดค่าระบบ
- โฮสต์นักเทียบท่า: Windows 10
- ภาพนักเทียบท่า: อูบุนตู: ล่าสุด
- แอปพลิเคชันที่ใช้สำหรับการตรวจสอบ ARP: nping (ติดตั้งผ่านแพ็คเกจ nmap)
เหตุใด ARP จึงไม่ทำงานในคอนเทนเนอร์นักเทียบท่า Ubuntu โดยเลือกโหมดเครือข่ายเป็นบริดจ์ โปรโตคอลเลเยอร์ 2 มีปัญหาในโหมดเครือข่ายบริดจ์หรือไม่
มีคนช่วยฉันแก้ไขปัญหานี้ได้ไหม