Score:2

การเชื่อมต่อ IPv6 ขาดหายไปกะทันหัน สถานะเราเตอร์เพื่อนบ้าน IPv6 กลายเป็น SALE ในเวลาเดียวกัน ฉันจะหลีกเลี่ยงได้อย่างไร

ธง de

ฉันมี 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 กลับสู่ความถูกต้องและการเชื่อมต่อใช้งานได้ทั้งในและนอก!

ดังนั้นคำถามของฉันคือ:

  1. ทำไมแคชถึงค้าง?
  2. ฉันจะทำอย่างไรเพื่อหลีกเลี่ยงปัญหานี้'
  3. เหตุใด / คำสั่งด้านบนจึงแก้ไขได้อย่างไร

แน่นอนฉันสามารถเรียกใช้คำสั่งเหล่านั้นในไฟล์ ครอน งาน (บ่อยแค่ไหน?) แต่ฉันคิดว่า 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 ฉันจำเป็นต้องตรวจสอบการกรองบนโฮสต์หรือไม่

cn flag
คุณได้ตั้งค่ากฎไฟร์วอลล์ที่จะบล็อก ICMPv6 (รวมถึง NDP) หรือไม่
de flag
@HÃ¥kanLindqvist ขอบคุณ อาจไม่ถูกกรอง เพิ่มเอาต์พุต `ip6tables`
Michael Hampton avatar
cz flag
มีรายละเอียดบางอย่างขาดหายไป: ใครคือศูนย์ข้อมูล เครือข่ายบริดจ์ถูกตั้งค่าอย่างไรในไฮเปอร์ไวเซอร์ของคุณ (และคืออะไร) สถานะ _complete_ ของไฟร์วอลล์ IPv6 คืออะไร
Score:1
ธง cn

โดยทั่วไปแล้ว Stale State เป็นสิ่งที่ดี แต่จริงๆ แล้วมันก็ยอมรับได้ที่เราจะมี Stale State

ลองดู RFC 4861 หัวข้อ 5.1 :

  STALE เพื่อนบ้านไม่สามารถเข้าถึงได้อีกต่อไป แต่จนกว่าจะมีการส่งข้อมูลไปยังเพื่อนบ้าน ไม่ควรพยายามตรวจสอบการเข้าถึงของมัน

เพื่อนบ้านไม่สามารถเข้าถึงได้อีกต่อไป (ตัวจับเวลาหมดอายุ ไม่มีการรับส่งข้อมูลเมื่อเร็วๆ นี้ ไม่ว่าอะไรก็ตาม) และความสามารถในการเข้าถึงจะถูก 'ยืนยัน' เมื่อมีการส่งการรับส่งข้อมูลไปยังเพื่อนบ้านอีกครั้ง

ดังนั้นจึงไม่มีปัญหาหากคุณสามารถส่งทราฟฟิกไปยังเพื่อนบ้านได้อีกครั้ง

de flag
ขอบคุณ. ปัญหาของฉันคือโฮสต์สูญเสียการเชื่อมต่อ IPv6 - มันหยุดตอบกลับคำขอที่เข้ามาเมื่อสถานะ STALE ปรากฏขึ้น ฉันคิดว่าทั้งสองปัญหามีสาเหตุเดียวกัน? คำสั่ง `ip r` และ `ping` ที่ฉันให้รายละเอียดไว้ในคำถามจะกู้คืนการเชื่อมต่อได้อย่างไร
de flag
ปัญหาคือฉันไม่สามารถส่งทราฟฟิกไปยังเพื่อนบ้านได้หากไม่มีขั้นตอนพิเศษเหล่านี้ และไม่สามารถติดต่อโฮสต์จากภายนอกได้เช่นกัน ดังนั้น: การเชื่อมต่อขาดหายอย่างไรและเพราะเหตุใด คำสั่ง `ip -6 neighbour` และ `ping` จะกู้คืนการเชื่อมต่อได้อย่างไร สามารถทำได้โดยไม่มีขั้นตอนเหล่านี้หรือไม่? เครื่อง IPv6 ทุกเครื่องดำเนินการตามขั้นตอนเหล่านี้เป็นระยะๆ หรือไม่ หรือเหตุใดจึงไม่สูญเสียการเชื่อมต่อ
Omid Estaji avatar
cn flag
Stale State เป็นเรื่องปกติของการค้นพบเพื่อนบ้าน IPv6 เมื่อโฮสต์บูท มันทำบางอย่างและยังเป็นโฆษณาเพื่อนบ้านฟรี แต่เราจะไม่ยอมรับรายการใหม่เมื่อเราเห็น NA ที่ให้เปล่า สิ่งนี้แตกต่างจากโปรโตคอลดั้งเดิม (IPv4) เมื่อใดก็ตามที่เราเห็น ARP ที่ไม่มีค่าใช้จ่าย จริง ๆ แล้วเราได้เข้าสู่แคช ที่นี่ใน IPv6 เราจะเพิ่มรายการลงในแคชก็ต่อเมื่อเราอัปเดตรายการที่มีอยู่ด้วย NA ที่ไม่มีค่าใช้จ่าย ดังนั้น Stale หมายถึง ยังไม่ได้สื่อสาร กำลังรอแพ็กเก็ตที่เข้าคิวถัดไป จากนั้นหากเราส่งแพ็กเก็ต สถานะอาจเข้าสู่โหมด Delay และจะรอให้โปรโตคอลชั้นบนกลับมารับส่งข้อมูล

โพสต์คำตอบ

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