วิธีวางแผนกลุ่มที่อยู่ไคลเอนต์ VPN ให้พอดี
เลือกกลุ่มในช่องเซิร์ฟเวอร์ จากนั้นอ่านที่อยู่ที่ไคลเอนต์ได้รับจริง ติดตามการตอบกลับย้อนกลับ และบันทึกช่วง โหมด เส้นทาง และขอบเขต DNS
เริ่มที่ช่องกลุ่มบนเซิร์ฟเวอร์ VPN ไม่ใช่ในสเปรดชีต สิ่งที่คุณพิมพ์ลงไปจะกลายเป็นพื้นที่ที่อยู่ภายในสำหรับไคลเอนต์ทุกตัวที่เชื่อมต่อหลังจากนั้น และต้องอยู่ร่วมกับ LAN ที่ไคลเอนต์เหล่านั้นเข้าถึง ไซต์ที่กำหนดเส้นทางไว้ด้านหลัง และที่อยู่ใดก็ตามที่ไคลเอนต์มีอยู่แล้วที่บ้าน เชื่อมต่อไคลเอนต์หนึ่งตัวทันทีที่บันทึกกลุ่ม เพราะการเชื่อมต่อครั้งแรกนั้นบอกคุณว่าค่านั้นทำงานได้จริงหรือไม่ จากตรงนั้นขั้นตอนจะขยายออกไปด้านนอก: ที่อยู่ที่ไคลเอนต์ได้รับ เส้นทางที่การตอบกลับวิ่งไป และบันทึกที่คุณทิ้งไว้
เริ่มที่ช่องกลุ่ม ก่อนไคลเอนต์ใดจะเชื่อมต่อ
แต่ละผลิตภัณฑ์แสดงออกมาไม่เหมือนกัน ดังนั้นจงหาวัตถุที่กำหนดที่อยู่จริง ๆ OpenVPN มีคำสั่งกลุ่มฝั่งเซิร์ฟเวอร์ที่แจกที่อยู่ว่างถัดไป เกตเวย์ IKEv2 มีส่วนกลุ่มที่ผูกกับคอนฟิกูเรชันของเพียร์ และ WireGuard ไม่มีทั้งสองอย่างเพราะแต่ละเพียร์บรรทุกที่อยู่ของตัวเองไว้ในไฟล์คอนฟิกูเรชัน คำสั่งกลุ่มและที่อยู่รายเพียร์ใช้แทนกันไม่ได้ และการแก้ไขผิดตัวก็ทำให้ขั้นตอนที่เหลือเสียเปล่า
เมื่อได้ช่องแล้ว ให้ระบุช่วงที่มีอยู่แล้ว: LAN ของสำนักงาน ทุกไซต์ที่กำหนดเส้นทาง VPC บนคลาวด์ และกลุ่มอื่นใดที่ยังใช้งานอยู่ การทับซ้อนตัดสินด้วยเลขคณิตของพรีฟิกซ์ ไม่ใช่ด้วยว่าหมายเลขโฮสต์ดูคุ้นเคยหรือไม่ ดังนั้นจงเทียบผลรวมกับแต่ละช่วงเหล่านั้น สองช่วงที่ดูเหมือน 10.x ทั้งคู่จะไม่เป็นอันตรายเมื่อผลรวมไม่ตัดกัน และกลายเป็นเหตุการณ์ฝ่ายสนับสนุนเมื่อตัดกัน
จากนั้นตัดสินว่าที่อยู่เป็นฟังก์ชันของใครเชื่อมต่อหรือของเวลาเชื่อมต่อ การกำหนดแบบพลวัตแจกสิ่งที่ว่างอยู่ ขณะที่การกำหนดตามตัวตนผูกที่อยู่คงที่กับข้อมูลรับรอง เขียนตัวเลือกไว้ เพราะมันเปลี่ยนว่าการเชื่อมต่อใหม่ควรมีหน้าตาอย่างไรในภายหลัง
อ่านที่อยู่ที่ไคลเอนต์ได้รับจริง
เชื่อมต่อไคลเอนต์หนึ่งตัวและอ่านสิ่งที่อุโมงค์รายงาน ไม่ใช่สิ่งที่กลุ่มสัญญาไว้ ไคลเอนต์แสดงที่อยู่ภายในในสถานะการเชื่อมต่อ และบน Linux อินเทอร์เฟซถือมันไว้โดยตรง
เทียบที่อยู่นั้นกับช่วงที่คุณบันทึกไว้ หากอยู่นอกช่วง แสดงว่าคุณกำลังดูเส้นทางการกำหนดที่ต่างจากที่คุณแก้ไข ตรวจความยาวพรีฟิกซ์ด้วย เพราะไคลเอนต์ที่ถือ /32 ไม่มีเพียร์บนลิงก์และส่งทุกปลายทางผ่านเส้นทางเริ่มต้นของตน
ip -4 addr show tun0
ip route get 192.168.50.20
ไคลเอนต์ที่เชื่อมต่อจากเราเตอร์บ้านที่ใช้ช่วงเดียวกันจะเชื่อมต่อได้แล้วแทบไปไม่ถึงอะไร ไคลเอนต์เก็บเส้นทางท้องถิ่นของตนไว้สำหรับพรีฟิกซ์นั้น ที่อยู่ของอุโมงค์จึงชนกับเครือข่ายด้านหลังและทราฟฟิกออกทางอินเทอร์เฟซผิด กรณีนั้นซ่อมบนเซิร์ฟเวอร์ไม่ได้ วิธีแก้ที่บันทึกไว้คือเปลี่ยนเลขเครือข่ายบ้านหรือเลือกช่วงกลุ่มที่ไกลพอให้การชนกันยังเกิดน้อยครั้ง บันทึกทั้งความล้มเหลวและวิธีแก้ เพราะฝ่ายช่วยเหลือจะพบมันอีก
เชื่อมต่อไคลเอนต์เดิมอีกครั้งและเฝ้าดูที่อยู่ กลุ่มพลวัตอาจคืนค่าเดิมหรือค่าอื่น และทั้งสองถูกต้อง ขณะที่กลุ่มตามตัวตนที่เปลี่ยนที่อยู่ไม่ได้รักษาข้อผูกไว้ การตรวจนั้นใช้เวลาไม่กี่วินาทีและชี้ขาดว่าโหมดที่คุณบันทึกในส่วนแรกคือโหมดที่บังคับใช้
ติดตามการตอบกลับย้อนกลับจากบริการ
กลุ่มจะทำงานได้ก็ต่อเมื่อการตอบกลับวิ่งกลับมาถึงมันได้ บริการบน LAN ตอบที่อยู่ภายใน ดังนั้นเกตเวย์ของมันต้องมีเส้นทางสำหรับกลุ่มหรือมีการแปลที่อยู่ด้านหน้าบริการ เมื่อคำขอมาทางอุโมงค์และการตอบกลับออกไปคนละทาง ไฟร์วอลล์แบบเก็บสถานะหรือการตรวจเส้นทางย้อนกลับจะทิ้งมัน และไคลเอนต์เห็นบริการที่เชื่อมต่อได้แล้วค้าง วางกลุ่มลงในออกแบบการกำหนดเส้นทางเป็นบล็อกเดียวที่สรุปได้ แทนการเพิ่มเส้นทางรายโฮสต์
การแปลเปลี่ยนสิ่งที่ระบบส่วนที่เหลือมองเห็น เมื่อเขียนต้นทางใหม่ ที่อยู่ในไฟร์วอลล์ของโฮสต์และในล็อกของแอปพลิเคชันคือที่อยู่ที่แปลแล้ว กฎที่เขียนกับที่อยู่ของกลุ่มจึงไม่ตรงกับอะไรเลย และบรรทัดล็อกก็ติดตามกลับไปหาไคลเอนต์ไม่ได้ เอกสารการส่งต่อของ strongSwan ครอบคลุมครึ่งฝั่งเซิร์ฟเวอร์ของเส้นทางนั้นสำหรับเกตเวย์ IKEv2 DNS ก็มีข้อจำกัดเดียวกัน เพราะชื่อที่แปลงเป็นที่อยู่ที่ไคลเอนต์ไปไม่ถึงจะล้มเหลวในภายหลังและที่อื่น
ไคลเอนต์สองตัว แล้วเพิกถอนหนึ่งครั้ง
เชื่อมต่อไคลเอนต์สองตัวพร้อมกันและอ่านที่อยู่ทั้งสอง ต้องแตกต่างกัน ใช้งานได้ และอยู่ในกลุ่ม และแต่ละตัวต้องไปถึงบริการที่มันตั้งใจไว้ กลุ่มที่แจกที่อยู่ซ้ำมักปรากฏตรงนี้ ไม่ใช่ในการทดสอบไคลเอนต์เดียวครั้งแรก
เพิกถอนข้อมูลรับรองหนึ่งรายการขณะที่ไคลเอนต์อีกตัวยังเชื่อมต่ออยู่ แล้วลองใช้บริการจากไคลเอนต์ที่รอด การเพิกถอนที่รบกวนอีกเซสชันชี้ไปที่สถานะที่ใช้ร่วมกัน ซึ่งมักเป็นข้อมูลรับรองเดียวหรือที่อยู่เดียวที่ใช้ซ้ำข้ามอุปกรณ์ เชื่อมต่อไคลเอนต์ที่ถูกเพิกถอนอีกครั้งและยืนยันว่าถูกปฏิเสธ ไม่ใช่ได้รับที่อยู่ที่ปล่อยคืนมา
ปิดท้ายด้วยปลายทางที่ควรถูกปฏิเสธ ไคลเอนต์ที่ไปถึงทุกอย่างคือเชื่อมต่อแล้ว ไม่ใช่ทดสอบแล้ว
เขียนค่าทั้งสี่ไว้ตรงที่การเปลี่ยนแปลงครั้งหน้าจะพบ
บันทึกสั้น ๆ: ช่วงและพรีฟิกซ์ของกลุ่ม โหมดการกำหนด เส้นทางขากลับหรือการแปลที่ใช้อยู่ และขอบเขต DNS ที่ตอบสำหรับปลายทางเหล่านั้น วางไว้ข้างคอนฟิกูเรชันเซิร์ฟเวอร์ ไม่ใช่ในตั๋ว และลงวันที่ ใครก็ตามที่เปลี่ยนหนึ่งในสี่ในภายหลังต้องมีอีกสามข้ออยู่ตรงหน้า เพราะการเปลี่ยนขนาดกลุ่มทำให้เส้นทางพัง และการเปลี่ยนเส้นทางทำให้คำตอบ DNS พัง
เก็บหมายเหตุความเป็นเจ้าของไว้ด้วย: ช่วงของอุโมงค์เป็นของเซิร์ฟเวอร์ VPN และ การจองที่ทำในขอบเขต DHCP ของ LAN ไม่ได้จองอะไรให้ไคลเอนต์ภายในอุโมงค์เลย บรรทัดเดียวนี้ป้องกันการทำงานซ้ำที่พบบ่อยที่สุด ซึ่งมีคนเพิ่มการจองแล้วคาดว่าที่อยู่ของอุโมงค์จะตามมันไป