Score:1

ไม่สามารถ ping เนมสเปซเครือข่ายภายใน

ธง ky

ฉันได้สร้างเนมสเปซเครือข่ายสองรายการ นั่นคือสีแดงและสีน้ำเงินบนเครื่อง centos ดังนี้:

[root@ip-xxx-xxx-xxx-xxx ~]# ip netns เพิ่มสีแดง
[root@ip-xxx-xxx-xxx-xxx ~]# ip netns เพิ่มสีน้ำเงิน

[รูท@ip-xxx-xxx-xxx-xxx ~]# ip netns
สีน้ำเงิน
สีแดง

ฉันได้สร้างสายเคเบิลเสมือน 'veth-red' และ 'veth-blue' แล้วเชื่อมต่อโดยใช้คำสั่งต่อไปนี้:

[root@ip-xxx-xxx-xxx-xxx ~]# ลิงค์ไอพี เพิ่มประเภท veth-red ชื่อ veth peer veth-blue

จากนั้นฉันแนบส่วนต่อประสานที่เหมาะสมกับแต่ละเนมสเปซดังนี้:

[root@ip-xxx-xxx-xxx-xxx ~]# ลิงค์ ip ตั้งค่า veth-red netns red
[root@ip-xxx-xxx-xxx-xxx ~]# ลิงค์ ip ตั้งค่า veth-blue netns blue

จากนั้นฉันกำหนดที่อยู่ IP ให้กับแต่ละเนมสเปซเหล่านี้ดังนี้:

[root@ip-xxx-xxx-xxx-xxx ~]# ip -n red addr เพิ่ม 192.168.15.1 dev veth-red

[root@ip-xxx-xxx-xxx-xxx ~]# ip -n blue addr เพิ่ม 192.168.15.2 dev veth-blue

จากนั้นฉันเรียกอินเทอร์เฟซโดยใช้คำสั่งตั้งค่าลิงค์ IP สำหรับแต่ละอุปกรณ์ภายในเนมสเปซที่เกี่ยวข้อง

[root@ip-xxx-xxx-xxx-xxx ~]# ip -n ลิงก์สีแดงตั้งค่า veth-red ขึ้น
[root@ip-xxx-xxx-xxx-xxx ~]# ip -n ลิงค์สีน้ำเงินตั้งค่า veth-blue ขึ้น

จากนั้น เมื่อฉันตรวจสอบอินเทอร์เฟซภายในเนมสเปซแต่ละอัน ฉันจะได้รับ 'veth-red' ในเนมสเปซ 'red' และ 'veth-blue' ในเนมสเปซสีน้ำเงินดังนี้:

[root@ip-xxx-xxx-xxx-xxx ~]# ip -n ลิงค์สีแดง
1: lo: <LOOPBACK> mtu 65536 สถานะ qdisc noop โหมดลง DEFAULT กลุ่มเริ่มต้น qlen 1000
    ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
17: veth-red@if16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 สถานะ qdisc noqueue UP โหมด DEFAULT กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ 7e:9d:42:79:2d:2f brd ff:ff:ff:ff:ff:ff ลิงค์-netnsid 1
[root@ip-xxx-xxx-xxx-xxx ~]# ip -n ลิงก์สีน้ำเงิน
1: lo: <LOOPBACK> mtu 65536 สถานะ qdisc noop โหมดลง DEFAULT กลุ่มเริ่มต้น qlen 1000
    ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
16: veth-blue@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 สถานะ qdisc noqueue UP โหมด DEFAULT กลุ่มเริ่มต้น qlen 1000
    ลิงค์ / อีเธอร์ 62:aa:79:55:46:56 brd ff:ff:ff:ff:ff:ff ลิงค์-netnsid 0

ข้อสงสัยของฉันเกิดขึ้นเมื่อฉันพยายามส่ง ping จากสีแดงเป็นสีน้ำเงิน (ที่อยู่ IP: 192.168.15.2) ดังนี้:

[root@ip-xxx-xxx-xxx-xxx ~]# ip netns exec แดง ping 192.168.15.2
เชื่อมต่อ: ไม่สามารถเข้าถึงเครือข่ายได้

ใครช่วยบอกฉันทีว่าทำไมฉันถึงได้รับ 'เครือข่ายไม่สามารถเข้าถึงได้' เมื่อฉันทำทุกอย่างตามหนังสือ กรุณาช่วย

Michael Hampton avatar
cz flag
แสดง `ip -n red address` (และ `blue`)
Gompu avatar
ky flag
[root@ip-xxx-xxx-xxx-xxx ~]# ip -n ที่อยู่สีแดง 1: แท้จริง: mtu 65536 สถานะ qdisc noop กลุ่ม DOWN เริ่มต้น qlen 1,000 ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00 17: veth-red@if16: mtu 1500 สถานะ noqueue qdisc กลุ่ม UP เริ่มต้น qlen 1000 ลิงค์/อีเธอร์ 7e:9d:42:79:2d:2f brd ff:ff:ff:ff:ff:ff ลิงค์-netnsid 1 inet 192.168.15.1/32 ขอบเขต global veth-red valid_lft ตลอดไป reserved_lft ตลอดไป ลิงค์ขอบเขต inet6 fe80::7c9d:42ff:fe79:2d2f/64 valid_lft ตลอดไป reserved_lft ตลอดไป
Michael Hampton avatar
cz flag
ที่อ่านไม่ได้ แก้ไขคำถามของคุณ
Score:2
ธง cn

คุณสามารถแก้ปัญหาด้วย เส้นทาง สั่งการ:

# ip -n เส้นทางสีแดงรับ 192.168.15.2
คำตอบ RTNETLINK: ไม่สามารถเข้าถึงเครือข่ายได้

นั่นเป็นคำแนะนำที่ดี คุณไม่มีการกำหนดเส้นทางที่ถูกต้องในเนมสเปซ ในกรณีนี้ เป็นเพราะคุณพลาดเน็ตมาสก์เมื่อเพิ่มที่อยู่ IP:

# ip -o -n สีแดง
7: veth-red inet 192.168.15.1/32 ขอบเขตทั่วโลก veth-red\ valid_lft ตลอดไป reserved_lft ตลอดไป 

ลองเพิ่มที่อยู่ IP ด้วย a /24 ดังนั้นตารางเส้นทางจึงรู้ว่าสามารถเข้าถึง IP อื่นในเครือข่ายผ่านอินเทอร์เฟซนี้

  1. ล้างที่อยู่ IP ทั้งหมดก่อน
# ip -n red addr flush dev veth-red
# ip -n blue addr flush dev veth-blue

  1. เพิ่ม IP ที่ถูกต้อง ด้วยเน็ตมาสก์ (โดยใช้ /24 สับสนน้อยที่สุด แต่ถึงแม้ /30 จะทำงานสำหรับตัวอย่างของคุณ)
# ip -n red addr เพิ่ม 192.168.15.1/24 dev veth-red
# ip -n blue addr เพิ่ม 192.168.15.2/24 dev veth-blue

และคุณทำเสร็จแล้ว:

# ip netns exec แดง ping -c2 192.168.15.2
PING 192.168.15.2 (192.168.15.2) 56(84) ไบต์ของข้อมูล
64 ไบต์จาก 192.168.15.2: icmp_seq=1 ttl=64 เวลา=0.034 ms
64 ไบต์จาก 192.168.15.2: icmp_seq=2 ttl=64 เวลา=0.022 ms

--- สถิติ ping 192.168.15.2 ---
ส่ง 2 แพ็กเก็ต, 2 แพ็กเก็ตที่ได้รับ, การสูญเสียแพ็กเก็ต 0%, เวลา 1035ms
rtt นาที/เฉลี่ย/สูงสุด/mdev = 0.022/0.028/0.034/0.006 ms```
Gompu avatar
ky flag
ขอบคุณ มันได้ผล

โพสต์คำตอบ

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