Score:0

บังคับให้แหล่งที่มาของ IPv6 NS เป็นส่วนกลางแทนลิงก์

ธง tr

โดยสรุป ฉันจะบังคับให้อินเทอร์เฟซใช้ที่อยู่ IPv6 ส่วนกลางเป็นแหล่งที่มาสำหรับข้อความเชิญชวนเพื่อนบ้านแทนที่จะเป็นที่อยู่ลิงก์ได้อย่างไร

พื้นหลัง: ผู้ให้บริการ VPS หลายรายไม่จัดสรรเส้นทาง IPv6 /64 แต่เพียงกำหนดบล็อกบน /48 เกตเวย์คือที่อยู่ IPv6 ส่วนกลางใน /48 แต่อยู่นอก /64 เกตเวย์ตอบสนองต่อข้อความ NS ที่ส่งจากที่อยู่ร่วม แต่ไม่ตอบสนองต่อข้อความ NS บนที่อยู่ลิงก์ (หรือข้อความ RS จากแหล่งใดก็ตาม) สิ่งนี้ใช้ได้เมื่อมีการสร้างทราฟฟิกทั่วโลกบน VPS อย่างไรก็ตาม เมื่อการรับส่งข้อมูลเกิดขึ้นภายในคอนเทนเนอร์ LXC บน [KVM] VPS ที่อยู่ลิงก์จะถูกใช้สำหรับ NS ไปยังเกตเวย์และการค้นหาเพื่อนบ้านจะไม่ทำงาน

ปัญหาพื้นฐาน (ตัวอย่างในชีวิตจริง):

LXC กำเนิด -> lxcbr0 -> eth0 -> เกตเวย์ผู้ให้บริการ VPS -> อินเทอร์เน็ต

เริ่มด้วย eth0. การตั้งค่า KVM VPS พื้นฐานเป็นดังนี้:

# ip แสดง dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ 00:16:3c:a8:db:1b brd ff:ff:ff:ff:ff:ff
    inet6 2a01:8888:1:5555::4444/64 ขอบเขตทั่วโลก
       valid_lft ตลอดไป reserved_lft ตลอดไป
    ลิงค์ขอบเขต inet6 fe80::216:3cff:fea8:db1b/64
       valid_lft ตลอดไป reserved_lft ตลอดไป
# ip -6 ร
2a01:8888:1::1 dev eth0 เมตริก 1024 pref สื่อ
2a01:8888:1:5555::/64 dev eth0 proto kernel metric 256 pref สื่อ
fe80::/64 dev eth0 เคอร์เนลโปรโตเมตริก 256 pref สื่อ
ค่าเริ่มต้นผ่าน 2a01:8888:1::1 dev eth0 metric 1024 pref medium

สิ่งนี้ใช้ได้ในแง่ต่อไปนี้:

# ping ipv6.google.com -c 3
PING ipv6.google.com (2a00:1450:400e:810::200e): 56 ไบต์ข้อมูล
64 ไบต์จาก 2a00:1450:400e:810::200e: seq=0 ttl=117 เวลา=36.298 ms
64 ไบต์จาก 2a00:1450:400e:810::200e: seq=1 ttl=117 เวลา=33.580 ms
64 ไบต์จาก 2a00:1450:400e:810::200e: seq=2 ttl=117 เวลา=33.112 ms

--- สถิติการ ping ของ ipv6.google.com ---
ส่ง 3 แพ็กเก็ต ได้รับ 3 แพ็กเก็ต สูญเสียแพ็กเก็ต 0%
ไป-กลับ นาที/เฉลี่ย/สูงสุด = 33.112/34.330/36.298 ms
# ndisc6 -s 2a01:8888:1:5555::4444 2a01:8888:1::1 eth0
กำลังเรียกร้อง 2a01:8888:1::1 (2a01:8888:1::1) บน eth0...
ที่อยู่ลิงค์เลเยอร์เป้าหมาย: 3C:61:04:A4:1F:7C
 จาก 2a01:8888:1::1

ตอนนี้ LXC มีดังต่อไปนี้ lxcbr0 ติดตั้ง:

# ip แสดง dev lxcbr0
3: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ 00:16:3e:a7:17:58 brd ff:ff:ff:ff:ff:ff
    inet6 2a01:8888:1:5555:216::ffff/64 ขอบเขตทั่วโลก
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet6 fe80::216:3eff:fea7:1758/64 ลิงค์ขอบเขต
       valid_lft ตลอดไป reserved_lft ตลอดไป

และภายในภาชนะ (ใช้ก เวทนา เชื่อมโยงไปยัง lxcbr0) มีลักษณะดังนี้:

# ip การแสดง eth0
2: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ 00:16:3e:2f:82:a7 brd ff:ff:ff:ff:ff:ff ลิงค์-netnsid 0
    inet6 2a01:8888:1:5555::1238/64 ขอบเขตทั่วโลก
       valid_lft ตลอดไป reserved_lft ตลอดไป
    ลิงค์ขอบเขต inet6 fe80::216:3eff:fe2f:82a7/64
       valid_lft ตลอดไป reserved_lft ตลอดไป
# ip -6 ร
2a01:8888:1:5555::/64 dev eth0 proto kernel metric 256 pref สื่อ
fe80::/64 dev eth0 เคอร์เนลโปรโตเมตริก 256 pref สื่อ
ค่าเริ่มต้นผ่าน fe80::216:3eff:fea7:1758 dev eth0 metric 1024 pref medium

อย่างไรก็ตาม สิ่งนี้ไม่ได้ผล:

# ping ipv6.google.com -c 3
PING 2a00:1450:400e:810::200e (2a00:1450:400e:810::200e): 56 ไบต์ข้อมูล

--- สถิติ ping 2a00:1450:400e:810::200e ---
ส่ง 3 แพ็กเก็ต ได้รับ 0 แพ็กเก็ต สูญเสียแพ็กเก็ต 100%

สาเหตุของปัญหา

ถ้าฉันทำ tcpdump บนโฮสต์ ฉันสังเกตว่าเมื่อการรับส่งข้อมูลเริ่มต้นในคอนเทนเนอร์ LXC ข้อความ NS ที่ส่งไปยังเกตเวย์จะมาจากที่อยู่ลิงก์:

#tcpdump ip6
tcpdump: เอาต์พุต verbose ถูกระงับ ใช้ -v[v]... สำหรับการถอดรหัสโปรโตคอลแบบเต็ม
กำลังฟัง eth0, ประเภทลิงก์ EN10MB (Ethernet), ความยาวสแน็ปช็อต 262144 ไบต์
08:41:55.229077 IP6 fe80::216:3cff:fea8:db1b > ff02::1:ff00:1: ICMP6 การชักชวนเพื่อนบ้าน ซึ่งมี 2a01:8888:1::1 ความยาว 32
08:41:56.305550 IP6 fe80::216:3cff:fea8:db1b > ff02::1:ff00:1: ICMP6 การชักชวนเพื่อนบ้าน ซึ่งมี 2a01:8888:1::1 ความยาว 32
08:41:57.345548 IP6 fe80::216:3cff:fea8:db1b > ff02::1:ff00:1: ICMP6 การชักชวนเพื่อนบ้าน ซึ่งมี 2a01:8888:1::1 ความยาว 32
# ip -6 n แสดง dev eth0
2a01:8888:1::1 เราเตอร์ล้มเหลว
...

ตรงกันข้ามเหมือนกัน tcpdump เมื่อทำการ ping นอกคอนเทนเนอร์ LXC:

#tcpdump ip6
tcpdump: ระงับเอาต์พุต verbose ใช้ -v[v]...สำหรับการถอดรหัสโปรโตคอลแบบเต็ม
กำลังฟัง eth0, ประเภทลิงก์ EN10MB (Ethernet), ความยาวสแน็ปช็อต 262144 ไบต์
10:06:33.926756 IP6 2a01:8888:1:5555::4444 > ff02::1:ff00:1: ICMP6 การชักชวนเพื่อนบ้าน ซึ่งมี 2a01:8888:1::1 ความยาว 32
10:06:33.929886 IP6 2a01:8888:1::1 > 2a01:8888:1:5555::4444: ICMP6, โฆษณาเพื่อนบ้าน, tgt คือ 2a01:8888:1::1, ความยาว 32
10:06:33.929917 IP6 2a01:8888:1:5555::4444 > ams17s12-in-x0e.1e100.net: ICMP6, คำขอ echo, id 52543, seq 0, ความยาว 64
10:06:33.962581 IP6 ams17s12-in-x0e.1e100.net > 2a01:8888:1:5555::4444: ICMP6, echo reply, id 52543, seq 0, length 64
10:06:34.926947 IP6 2a01:8888:1:5555::4444 > ams17s12-in-x0e.1e100.net: ICMP6, คำขอ echo, id 52543, seq 1, ความยาว 64
10:06:34.959682 IP6 ams17s12-in-x0e.1e100.net > 2a01:8888:1:5555::4444: ICMP6, echo reply, id 52543, seq 1, length 64
10:06:35.927166 IP6 2a01:8888:1:5555::4444 > ams17s12-in-x0e.1e100.net: ICMP6, คำขอ echo, id 52543, seq 2, ความยาว 64
10:06:35.959820 IP6 ams17s12-in-x0e.1e100.net > 2a01:8888:1:5555::4444: ICMP6, echo reply, id 52543, seq 2, length 64
# ip -6 n แสดง dev eth0
2a01:8888:1::1 dev eth0 lladdr 3c:61:04:a4:1f:7c เราเตอร์ เข้าถึงได้
...

ผู้ให้บริการไม่ได้ให้ IP เกตเวย์ลิงก์ ฉันลองใช้ lxcbr0ที่อยู่ร่วมของเป็นเกตเวย์ภายในคอนเทนเนอร์ LXC โดยไม่มีความแตกต่างใดๆ การกำหนดค่านี้ดูเหมือนจะแพร่หลายในหมู่ผู้ให้บริการ ดังนั้นการขอให้เปลี่ยน/แก้ไขสถาปัตยกรรมจึงไม่น่าจะส่งผลให้เกิดการแก้ปัญหา

ฉันจะแก้ปัญหาพื้นฐานของการเชื่อมต่อ IPv6 จากภายในคอนเทนเนอร์ LXC ได้อย่างไรในขณะที่ยังใช้งานอยู่ เวทนา? คำแนะนำยินดีเป็นอย่างยิ่ง

โพสต์คำตอบ

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