Score:0

ไม่สามารถเชื่อมต่อ macvlan กับอินเทอร์เน็ต

ธง cn

เมื่อฉันพยายามเชื่อมต่อ แมคแวล ทางอินเตอร์เน็ตแล้วไม่ประสบผลสำเร็จ ฉันใช้เนมสเปซเพื่อทำสิ่งนั้นให้สำเร็จ ฉันตรวจสอบความคิดเห็นในคำถามนี้ด้วย - จะเชื่อมต่อ macvlan กับอินเทอร์เน็ตได้อย่างไร?

ฉันมีเครื่องเสมือน EC2 (Ubuntu 20.04) ของ AWS ซึ่งฉันใช้คำสั่งต่อไปนี้:

sudo ip netns เพิ่ม net1;
ลิงค์ sudo ip เพิ่มลิงค์ macvlan1 eth0 ประเภทสะพานโหมด macvlan;
sudo ip ลิงค์ตั้งค่า macvlan1 netns net1;
sudo ip netns exec net1 ที่อยู่ IP เพิ่ม 172.31.20.45 เพียร์ 172.31.16.1/32 dev macvlan1;
sudo ip netns exec net1 ip ลิงค์ตั้งค่า macvlan1 ขึ้น; sudo ip netns exec net1 ip link ตั้งค่า lo;
sudo ip netns exec net1 เส้นทาง ip เพิ่มค่าเริ่มต้นผ่าน 172.31.16.1;
sudo ip netns exec net1 su -c "หน้าจอ";                           

พยายาม ping เซิร์ฟเวอร์ DNS ของ Google จากเนมสเปซ (เชื่อมต่ออินเทอร์เน็ต)

root@aws:/home/meliwex# ปิง 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) ไบต์ของข้อมูล
จาก 172.31.20.45 icmp_seq=1 ไม่สามารถเข้าถึงโฮสต์ปลายทางได้

พยายาม ping เกตเวย์

root@aws:/home/meliwex# ปิง 172.31.16.1
PING 172.31.16.1 (172.31.16.1) 56(84) ไบต์ของข้อมูล
จาก 172.31.20.45 icmp_seq=1 ไม่สามารถเข้าถึงโฮสต์ปลายทางได้

ผลลัพธ์ของ ifconfig ในโฮสต์ (ฉันให้ผลลัพธ์ง่าย ๆ ):

นักเทียบท่า 0: ค่าสถานะ = 4099<UP,BROADCAST,MULTICAST> mtu 1500
        inet 172.17.0.1 netmask 255.255.0.0 ออกอากาศ 172.17.255.255
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
        inet 172.31.20.45 netmask 255.255.240.0 ออกอากาศ 172.31.31.255
แท้จริง: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
        inet 127.0.0.1 เน็ตมาสก์ 255.0.0.0

ตารางเส้นทางของโฮสต์:

เกตเวย์ปลายทาง Genmask ตั้งค่าสถานะการอ้างอิงเมตริก ใช้ Iface
0.0.0.0 172.31.16.1 0.0.0.0 UG 100 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 คุณ 0 0 0 นักเทียบท่า 0
172.31.16.0 0.0.0.0 255.255.240.0 คุณ 0 0 0 eth0
172.31.16.1 0.0.0.0 255.255.255.255 UH 100 0 0 eth0

ผลลัพธ์ของ ifconfig ในเนมสเปซ (ฉันทำให้ผลลัพธ์เรียบง่าย):

แท้จริง: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
        inet 127.0.0.1 เน็ตมาสก์ 255.0.0.0
macvlan1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
        inet 172.31.20.45 netmask 255.255.255.255 ออกอากาศ 0.0.0.0

ตารางเส้นทางของเนมสเปซ:

เกตเวย์ปลายทาง Genmask ตั้งค่าสถานะการอ้างอิงเมตริก ใช้ Iface
0.0.0.0 172.31.16.1 0.0.0.0 ยูจี 0 0 0 macvlan1
172.31.16.1 0.0.0.0 255.255.255.255 UH 0 0 0 macvlan1

เป็นไปได้ไหมที่จะแก้ไขสิ่งนี้?

djdomi avatar
za flag
คำถามหรือปัญหาเกี่ยวกับธุรกิจที่คุณกำลังเผชิญคืออะไร
Hayk avatar
cn flag
@djdomi ฉันแค่ต้องการทดสอบไดรเวอร์เครือข่าย "macvlan" ใน Docker แต่เมื่อฉันทดสอบฉันประสบปัญหาที่คอนเทนเนอร์ไม่สามารถเชื่อมต่ออินเทอร์เน็ตได้
djdomi avatar
za flag
yoz ไม่ตอบคำถามที่ฉันมี
Hayk avatar
cn flag
@djdomi ปัญหาคือคอนเทนเนอร์ในเครือข่าย "macvlan" ไม่สามารถเชื่อมต่อกับคอมพิวเตอร์ในเครือข่ายทางกายภาพของฉัน (ping ไม่ทำงาน) ในเอกสารประกอบของไดรเวอร์เครือข่าย "macvlan" (https://docs.docker.com/network/macvlan/) มันบอกว่า: คุณสามารถใช้ไดรเวอร์เครือข่าย macvlan เพื่อกำหนดที่อยู่ MAC ให้กับอินเทอร์เฟซเครือข่ายเสมือนของคอนเทนเนอร์แต่ละตัว ทำให้ดูเหมือนว่าเป็นอินเทอร์เฟซเครือข่ายจริงที่เชื่อมต่อโดยตรงกับเครือข่ายจริง ฉันแค่ต้องการทดสอบว่าฉันสามารถปกปิด MAC ของโฮสต์โดยใช้คอนเทนเนอร์ Docker ในเครือข่ายทางกายภาพของฉันได้หรือไม่
A.B avatar
cl flag
A.B
คุณควรลองทดสอบแบบเดียวกันภายนอก AWS เพื่อยืนยันว่าไม่ได้มาจากระบบของคุณ ค่อนข้างเป็นไปได้ที่สภาพแวดล้อม AWS จะจำกัดการใช้ที่อยู่ MAC

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา