วางแผนช่วงที่อยู่ VPN ส่วนตัวก่อนไซต์จะชนกัน
ช่วงส่วนตัวที่ทับซ้อนกันทำให้การกำหนดเส้นทางเสียก่อนที่จะมีอุโมงค์ใด ๆ ทำบัญชีรายการคำนำหน้า แยกขนาดพูลไคลเอนต์จาก LAN ของไซต์ และทดสอบจากฝั่งไกล
สองไซต์ที่ต่างใช้ 192.168.1.0/24 อาจเข้าถึงอินเทอร์เน็ตได้ทั้งคู่แต่ยังเข้าถึงกันไม่ได้ เกตเวย์ไม่แจ้งข้อผิดพลาด มันติดตั้งเส้นทางเดียวสำหรับคำนำหน้านั้นและส่งทุกแพ็กเก็ตไปยังคู่ที่อ้างสิทธิ์ก่อน ไม่มีสิ่งใดในแฮนด์เชก รายการรหัส หรือเมตริกของอินเทอร์เฟซที่บอกว่าคู่ใดผิด การวางแผนที่อยู่คือส่วนของการออกแบบที่ตัดสินเรื่องนี้ก่อนใครจะเชื่อมต่อ
ทำบัญชีทุกพื้นที่ที่ต้องเข้าถึงได้
จดช่วงที่ต้องกำหนดเส้นทาง ไม่ใช่เฉพาะช่วงที่คุณกำลังกำหนดค่า นั่นหมายถึง LAN ของไซต์ พูลไคลเอนต์ VPN ซับเน็ตบนคลาวด์ เครือข่ายบริหารและนอกแบนด์ เซกเมนต์ห้องแล็บ และเครือข่ายที่ผู้ใช้มักเชื่อมต่อจากบ้าน เราเตอร์สำหรับผู้บริโภคที่จัดส่งมาเป็น 192.168.1.0/24 ไม่ใช่เรื่องสมมติ และคำนำหน้าเดียวกันก็ปรากฏในโรงแรมและศูนย์ประชุม บัญชีรายการคือตารางของคำนำหน้า เจ้าของ และวัตถุประสงค์ และเป็นเอกสารเดียวที่กันไม่ให้ช่วงเดียวกันถูกแจกจ่ายสองครั้ง
| Prefix | Purpose | Owner |
|---|---|---|
| 10.20.0.0/16 | site LANs | network team |
| 10.20.100.0/22 | VPN client pool | remote access |
| 10.20.200.0/24 | management | operations |
เพิ่มคำนำหน้าที่คุณคาดว่าจะมีในปีหน้า เพราะแผนที่ครอบคลุมแค่วันนี้จะล้มเหลวที่ไซต์ใหม่แห่งแรก ทำเครื่องหมายในแต่ละแถ้วว่าใครเปลี่ยนได้ ไม่ใช่แค่ใครเป็นเจ้าของ
การนำกลับมาใช้ซ้ำคือสิ่งที่ทำให้เรื่องนี้ยาก พื้นที่ส่วนตัวมีจำกัดและทุกองค์กรถือว่า 10.0.0.0/8 เป็นของตน แผนไม่สามารถสัญญาได้ว่า LAN ของแขกในอนาคตจะไม่ตกลงบนคำนำหน้าของคุณ ดังนั้นการออกแบบต้องบอกว่าเกิดอะไรขึ้นเมื่อมันเกิดขึ้น กฎสองข้อทำงานส่วนใหญ่ได้ หาพูลไคลเอนต์ไว้ในบล็อกต่อเนื่องเดียวที่สรุปได้ และอย่าจัดสรรช่วงที่ทีมอื่นกำหนดเส้นทางอยู่แล้ว สิ่งที่เหลือคือบันทึกที่ใครสักคนดูแลให้เป็นปัจจุบัน
ทำไมการทับซ้อนจึงเอาชนะตารางเส้นทาง
เส้นทางคือคำนำหน้าบวกฮ็อปถัดไป และการส่งต่อเลือกคำนำหน้าที่ตรงกันยาวที่สุด เมื่อคู่สองรายอ้างสิทธิ์ 192.168.1.0/24 เดียวกัน ตารางมีรายการเดียวสำหรับมัน ดังนั้นทราฟฟิกของทั้งสองไซต์จึงออกผ่านอุโมงค์เดียวกัน ไซต์ที่สองไม่ได้กำหนดค่าผิด มันเข้าถึงไม่ได้เพราะไซต์แรกตอบแทนที่อยู่เดียวกัน ไม่มีเมตริกใดแยกทั้งสองได้ เพราะการจับคู่เกิดขึ้นก่อนที่จะพิจารณาเมตริก
ความล้มเหลวไม่สมมาตรและอ่านผิดได้ง่าย โฮสต์ในไซต์ A เข้าถึงเกตเวย์และบริการบางอย่าง ขณะที่โฮสต์ของไซต์ B ไม่ตอบอะไรเลย และบันทึกแสดงอุโมงค์ที่แข็งแรงทั้งสองทิศทาง รูปแบบนั้นคือการชนกันของที่อยู่ ไม่ใช่ความผิดพลาดของการพิสูจน์ตัวตนหรือไฟร์วอลล์ และการยืนยันต้องใช้การดัมพ์ตารางหนึ่งครั้งเทียบกับบัญชีรายการ
กำหนดขนาดพูลไคลเอนต์และช่วงของไซต์อย่างตั้งใจ
พูลไคลเอนต์ VPN คือช่วงที่เกตเวย์แจกทีละที่อยู่ ขนาดจึงจำกัดจำนวนผู้ใช้พร้อมกัน /24 มีที่อยู่ใช้ได้ 254 ที่ ซึ่งเหลือเฟือสำหรับทีมเล็กและคับแคบสำหรับสาขาที่รันคอนเทนเนอร์ /22 ไม่มีค่าใช้จ่ายเพิ่มในพื้นที่ส่วนตัวและลบข้อโต้แย้งออกไป รักษาพูลให้ต่อเนื่องและห่างจาก LAN ของทุกไซต์ เพื่อให้เส้นทางสรุปไปยังไคลเอนต์ไม่กลืนไซต์ รักษาช่วงไว้แม้พูลจะว่าง เพราะช่วงที่ไม่ได้เขียนไว้คือช่วงที่วิศวกรคนถัดไปจะจัดสรร
ไซต์ได้ช่วงที่กำหนดขนาดสำหรับโฮสต์ที่คาดไว้บวกการเติบโต เรียงบนขอบเขตที่สรุปได้สะอาด ช่องว่างโดยตั้งใจระหว่างการจัดสรรไม่มีค่าใช้จ่ายและซื้อที่ว่างสำหรับการรวมภายหลัง
จากนั้นตรวจทิศทางที่คนลืม คือเส้นทางกลับ เราเตอร์ของแต่ละไซต์ต้องมีเส้นทางไปยังพูลไคลเอนต์ และคอนเซนเทรเตอร์ต้องมีเส้นทางไปยังทุกคำนำหน้าของไซต์ที่ให้บริการ ตารางคำนำหน้าที่เรียบร้อยโดยไม่มีทางกลับไปยังพูลก็ยังเป็นการออกแบบที่พัง และอาการคือการเชื่อมต่อทางเดียวที่ไม่ตอบอะไรเลย เก็บทั้งสองทิศทางไว้ในตารางเดียวกันและทบทวนทุกครั้งที่เพิ่มไซต์
การแปลที่อยู่และการเปลี่ยนเลขใหม่แก้ปัญหาต่างกัน
เมื่อมีการทับซ้อนอยู่แล้ว มีสองทางเลือกที่ซื่อสัตย์และหนึ่งทางเลือกที่ไม่ซื่อสัตย์ การเปลี่ยนเลขใหม่ลบการชนกันอย่างถาวรและมีค่าใช้จ่ายเป็นหน้าต่างบำรุงรักษาบวกทุกที่อยู่ที่ฝังตายตัวซึ่งคุณลืม การแปลที่อยู่ จับคู่ช่วงส่วนตัวของฝั่งหนึ่งไปยังอีกช่วงที่ขอบอุโมงค์ ซึ่งปล่อยทั้งสองไซต์ไว้ไม่แตะต้องแต่เพิ่มสถานะ ทำให้โปรโตคอลที่ฝังที่อยู่เสียหาย และทำให้บันทึกอ่านยากขึ้น ทางเลือกที่ไม่ซื่อสัตย์คือเส้นทางโฮสต์ไปยังเซิร์ฟเวอร์เดียว ซึ่งผ่านการทดสอบเดียวและล้มเหลวในทุกอย่างอื่น
เลือกตามการควบคุมและอายุการใช้งาน ไซต์ที่คุณเป็นเจ้าของและจัดตารางได้อยู่ในเส้นทางการเปลี่ยนเลขใหม่ เครือข่ายของพันธมิตรที่คุณแตะต้องไม่ได้และใช้กับแอปพลิเคชันเดียวเป็นผู้สมัครสำหรับการแปลพร้อมการแมปที่บันทึกไว้ จดการแมปนั้นไว้ เพราะการแปลที่มีอยู่เพียงในไฟล์กำหนดค่าจะหายไปในทันทีที่ไฟล์ถูกแทนที่
ทดสอบจากฝั่งไกลก่อนนำไปใช้
ทดสอบจากเครือข่ายที่ไม่ได้โฮสต์เกตเวย์ เพราะ LAN ของเกตเวย์เองซ่อนความผิดพลาดในการกำหนดเส้นทางส่วนใหญ่ เชื่อมไคลเอนต์ไว้หลังเราเตอร์บ้านทั่วไป แล้วเข้าถึงบริการในแต่ละไซต์และหนึ่งรายการในพูลไคลเอนต์ ทดสอบทิศทางย้อนกลับด้วย จากโฮสต์ของไซต์ไปยังไคลเอนต์ เพราะเส้นทางกลับล้มเหลวอย่างอิสระ การทดสอบที่เพียง ping เกตเวย์พิสูจน์ว่าอุโมงค์ทำงานและไม่มีอะไรมากกว่านั้น
เก็บบัญชีช่วง เจ้าของ และการแมปการแปลไว้ในบันทึกที่ใช้ร่วมกันหนึ่งฉบับซึ่งไซต์ถัดไปอ่านก่อนจัดสรรสิ่งใด ทบทวนเมื่อเพิ่มไซต์ และถือว่าช่วงที่ไม่มีเอกสารเป็นข้อบกพร่องไม่ใช่เรื่องเซอร์ไพรส์
บันทึกคือสิ่งที่ส่งมอบ แผนที่อยู่ในความจำของสามคนจะล้มเหลวครั้งแรกเมื่อหนึ่งในนั้นลาพักร้อน และการทับซ้อนที่พบในการใช้งานจริงมีค่าใช้จ่ายมากกว่าที่ตารางจะมี