ฉันมี VM บนโฮสต์ที่มีการเชื่อมต่อเครือข่าย (ดังนั้นจึงมีที่อยู่ MAC ของตัวเอง) ทั้งโฮสต์และ VM รัน CentOS เครือข่ายของพวกเขาจัดการโดยง่าย /etc/sysconfig/network-scripts/ifcfg-enpXsY
ไฟล์ที่มีที่อยู่ IP แบบคงที่ IPv4 ทำงานได้ดี
ฉันได้กำหนดที่อยู่ IPv6 ให้กับ VM (โฮสต์มีที่อยู่ด้วย) ซึ่งกำหนดเส้นทางอย่างถูกต้องในศูนย์ข้อมูล อย่างไรก็ตาม การเชื่อมต่อส่วนใหญ่ใช้ IPv4 (ยังไม่มีรายการ DNS AAAA สำหรับเครื่อง แต่ยังคงทดสอบ IPv6)
เมื่อฉันบูตเครื่อง VM จะมีการเชื่อมต่อ IPv6 เต็มรูปแบบ อย่างไรก็ตาม, หลังจากนั้นครู่หนึ่งการเชื่อมต่อ IPv6 ก็หยุดทำงาน (เวทย์มนตร์ IPv6?) ฉันได้ จำกัด ปัญหาให้แคบลงเหลือข้อมูลเพื่อนบ้าน (แคช ARP / NDISC):
IPv6 ไม่ทำงานไม่สามารถ ping หรือเชื่อมต่อด้วย IPv6 เข้าหรือออก จากนั้นฉันเห็น:
# เพื่อนบ้าน ip -6
fe80::1 dev enp1s2 lladdr 0c:86:72:2e:04:28 เราเตอร์ STALE
แก้ไข/วิธีแก้ปัญหาเพื่อรีเฟรชแคช:
# ip -6 เพื่อนบ้านล้าง dev enp1s2
# เพื่อนบ้าน ip -6
(ว่างเปล่าตามที่คาดไว้)
แล้ว ปิง6
โฮสต์จากภายใน VM เพื่อเติมแคช:
#ping6 2912:1375:23:9a6c::2
PING 2912:1375:23:9a6c::2(2912:1375:23:9a6c::2) 56 ไบต์ข้อมูล
64 ไบต์จาก 2912:1375:23:9a6c::2: icmp_seq=1 ttl=64 เวลา=2.35 ms
64 ไบต์จาก 2912:1375:23:9a6c::2: icmp_seq=2 ttl=64 เวลา=0.468 ms
^ซี
# เพื่อนบ้าน ip -6
fe80::1 dev enp1s2 lladdr 0c:86:72:2e:04:28 เราเตอร์ เข้าถึงได้
2912:1375:23:9a6c::2 dev enp1s2 lladdr 08:21:4b:b7:f8:31 ดีเลย์
เพื่อนบ้าน IPv6 / ตาราง ARP กลับสู่ความถูกต้องและการเชื่อมต่อใช้งานได้ทั้งในและนอก!
ดังนั้นคำถามของฉันคือ:
- ทำไมแคชถึงค้าง?
- ฉันจะทำอย่างไรเพื่อหลีกเลี่ยงปัญหานี้'
- เหตุใด / คำสั่งด้านบนจึงแก้ไขได้อย่างไร
แน่นอนฉันสามารถเรียกใช้คำสั่งเหล่านั้นในไฟล์ ครอน
งาน (บ่อยแค่ไหน?) แต่ฉันคิดว่า IPv6 นั้นไม่จำเป็นสำหรับการทำงานทั่วไป?
PS: ฉันใช้สคริปต์สำหรับการทดสอบ: สแต็ก IPv6 แบ่งการทำงานทุกๆ 20 นาที. RFC สามารถอธิบายได้หรือไม่?
PPS: การกำหนดค่าไฟร์วอลล์ (เอาต์พุตสั้นลง หวังว่าบิตที่เกี่ยวข้องทั้งหมด):
# ip6tables -nvL
Chain INPUT (นโยบาย DROP 0 แพ็คเก็ต, 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
9023 709K ยอมรับ icmpv6 !lo * ::/0 ::/0
Chain OUTPUT (นโยบาย DROP 0 แพ็คเก็ต, 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
9360 785K ยอมรับ icmpv6 * !lo ::/0 ::/0
ดังนั้น ICMPv6 จึงยอมรับเข้า/ออกบน VM ฉันจำเป็นต้องตรวจสอบการกรองบนโฮสต์หรือไม่