ไคลเอนต์ของคุณเชื่อมต่อและแสดงคู่ที่อยู่ หรือที่อยู่เดียวที่มี255.255.255.255มาสก์ และปฏิกิริยาแรกคือเซิร์ฟเวอร์แจกอะไรที่เสีย ไม่มีอะไรเสีย: อินเทอร์เฟซแบบอุโมงค์เป็นลิงก์จุดต่อจุด และมาสก์อธิบายปลายทางไกลของลิงก์เดียวนั้น ไม่ใช่ช่วงของเพื่อนบ้าน การอ่านคู่นี้เป็นที่อยู่ท้องถิ่นและเพียร์อธิบายมาสก์แปลก ๆ เส้นทางโฮสต์เดียวข้าง ๆ และตารางเพื่อนบ้านที่หายไป สิ่งที่การอ่านแบบเดียวกันไม่อาจแก้ตัวได้คือแผนที่อยู่ที่ทับซ้อนกับเครือข่ายสำนักงาน

ทำไมมาสก์จึงดูผิดบนลิงก์อุโมงค์

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

นี่จึงเป็นเหตุให้เส้นทางโฮสต์เดียวข้างมาสก์กว้างเป็นเรื่องปกติที่นี่ ไม่ใช่อาการ การเข้าถึงบนลิงก์นี้หมายถึงที่อยู่เดียว และเคอร์เนลบันทึกไว้อย่างนั้น อ่านที่อยู่ทั้งสองพร้อมกัน ก่อนตัดสินว่าคอนฟิกผิด เพราะแต่ละอันเดี่ยว ๆ ดูเหมือนข้อผิดพลาด

สองโทโพโลยี สองรูปทรงที่อยู่

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

TopologyClient address shapePeerRoute to expect
Point-to-point block per clientTwo neighbouring addresses inside a small blockThe far address of that blockA single host route on the tunnel device
Shared poolOne address carrying the pool maskThe server's tunnel addressA single host route on the tunnel device

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

เมื่อพูลและเครือข่ายสำนักงานอ้างบิตเดียวกัน

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

คำนำหน้าที่เพียงดูคล้ายกันเป็นอีกกรณี และการเทียบออกเตตด้วยตาไม่ใช่การเทียบคำนำหน้า เขียนทั้งสองและนับบิตที่ถูกมาสก์: 192.168.4.0/24 เทียบกับ 192.168.6.0/24 ตรงกันถึงบิต 22 และแยกจากกันที่บิต 23 เพราะออกเตตที่สามอ่านเป็น 00000100 เทียบกับ 00000110 ดังนั้นสองเครือข่ายนั้นแยกจากกันจริง วาง 10.8.0.0/24 ไว้ข้าง 10.8.0.0/24 อีกอัน และบิตที่ถูกมาสก์ทั้ง 24 บิตตรงกัน ซึ่งหมายความว่าเส้นทางเดียวไม่อาจแสดงทั้งสองสถานที่ ความยาวมาสก์กำหนดว่าการเทียบหยุดที่ใด และเครือข่ายที่ติดตั้งเป็นอันที่สองคือฝ่ายที่แพ้

สิ่งที่ลิงก์ที่กำหนดเส้นทางให้ไม่ได้

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

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

การอ่านอินเทอร์เฟซก่อนแก้ไขโปรไฟล์

ถามเคอร์เนลว่าติดตั้งอะไรไว้ ไม่ใช่สิ่งที่โปรไฟล์ดูเหมือนจะบอก เอาต์พุตที่อยู่แสดงเพียร์ที่อธิบายมาสก์ และเอาต์พุตเส้นทางแสดงว่ามีเส้นทางไปถึงหรือไม่ การรันทั้งสองกับอุปกรณ์เทนเนลใช้เวลาเพียงครู่และตัดสินคำถาม

ip -4 addr show dev tun0
ip route show dev tun0
ip route get 10.8.0.1

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

บทความที่เกี่ยวข้อง