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

ทำบัญชีทุกพื้นที่ที่ต้องเข้าถึงได้

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

PrefixPurposeOwner
10.20.0.0/16site LANsnetwork team
10.20.100.0/22VPN client poolremote access
10.20.200.0/24managementoperations

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

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

ทำไมการทับซ้อนจึงเอาชนะตารางเส้นทาง

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

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

กำหนดขนาดพูลไคลเอนต์และช่วงของไซต์อย่างตั้งใจ

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

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

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

การแปลที่อยู่และการเปลี่ยนเลขใหม่แก้ปัญหาต่างกัน

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

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

ทดสอบจากฝั่งไกลก่อนนำไปใช้

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

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

บันทึกคือสิ่งที่ส่งมอบ แผนที่อยู่ในความจำของสามคนจะล้มเหลวครั้งแรกเมื่อหนึ่งในนั้นลาพักร้อน และการทับซ้อนที่พบในการใช้งานจริงมีค่าใช้จ่ายมากกว่าที่ตารางจะมี

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