IP คงที่ของ OpenVPN ต่อไคลเอนต์: ifconfig-push ไม่ใช่ ipp.txt
ไฟล์ความคงอยู่คือประวัติ ไม่ใช่การจอง เลือกชื่อไคลเอนต์ให้ถูก จับคู่โทโพโลยี และพิสูจน์ที่อยู่บนการเชื่อมต่อใหม่
การแก้ไขบรรทัดใน ipp.txt ให้ความรู้สึกเหมือนการจองที่อยู่ แต่ไม่ใช่ ไฟล์นั้นซึ่งมีชื่อจาก ifconfig-pool-persist บันทึกว่าชื่อทั่วไปเคยมีที่อยู่ใดครั้งล่าสุด เพื่อให้พูลคืนที่อยู่เดิมได้เมื่อสะดวก ไม่มีสิ่งใดในไฟล์ผูกการเชื่อมต่อถัดไปกับหมายเลขนั้น
ทำการตรวจสอบด้านล่างตามลำดับ แต่ละข้อจะยืนยันกลไก หรือบอกให้คุณหยุดและแก้ไขข้อมูลนำเข้า
ไฟล์ความคงอยู่มีไว้เพื่ออะไร
ไฟล์นี้มีอยู่เพื่อให้ที่อยู่คงที่ระหว่างการรีสตาร์ต ซึ่งทำให้การเชื่อมต่อใหม่เป็นมิตรกว่าและอ่านบันทึกได้ง่ายขึ้น ไฟล์ถูกอ่านเป็นประวัติและเขียนเป็นประวัติ และเส้นทางการจัดสรรยังคงอิสระที่จะเลือกที่อยู่อื่นเมื่อคำใบ้ไม่เหมาะ: พูลอื่น การจัดสรรที่ขัดแย้ง หรือไคลเอนต์ที่มาถึงหลังจากพูลเต็ม ดังนั้นการแก้ไขด้วยมือจึงอาจดูสมบูรณ์แบบในไฟล์และไม่เปลี่ยนอะไรในการเชื่อมต่อ มองมันเป็นแคชของการตัดสินใจในอดีต ไม่ใช่แหล่งที่มาของนโยบาย
หากคุณต้องการที่อยู่เฉพาะสำหรับไคลเอนต์เฉพาะ กลไกที่บันทึกไว้คือ ifconfig-push และมันอยู่ในคอนฟิกูเรชันที่เป็นเจ้าของไคลเอนต์นั้น
ตรวจสอบว่าเลือกไคลเอนต์ที่ถูกต้อง
การจัดสรรแบบชัดเจนถูกค้นหาด้วยชื่อทั่วไปของไคลเอนต์ ดังนั้นไฟล์ที่ตั้งชื่อตามตัวตนผิดจะไม่ถูกอ่านเลย ยืนยันว่าคุณลักษณะใดที่เซิร์ฟเวอร์ถือเป็นชื่อของไคลเอนต์นั้น โดยเฉพาะที่ username-as-common-name เปลี่ยนชื่อนั้นหลังการตรวจสอบสิทธิ์ จากนั้นยืนยันว่าชื่อไฟล์ตรงกับค่านั้นทุกประการ รวมถึงตัวพิมพ์เล็กใหญ่
พิจารณาความพร้อมกันขณะอยู่ที่นี่ หากอนุญาต duplicate-cn อุปกรณ์หลายเครื่องสามารถแสดงตัวตนเดียวกันได้ และที่อยู่คงที่หนึ่งรายการไม่สามารถไม่ซ้ำสำหรับทุกเครื่องได้ ตัดสินใจว่าที่อยู่คงที่คุ้มค่าที่จะปฏิเสธเซสชันพร้อมกันสำหรับตัวตนนั้นหรือไม่ เพราะข้อกำหนดทั้งสองไม่สามารถตอบสนองพร้อมกันได้
ตรวจสอบว่าตัวเลขตรงกับโทโพโลยี
ความหมายของอาร์กิวเมนต์ขึ้นอยู่กับโทโพโลยีของอุโมงค์ และนี่คือจุดที่ตัวอย่างที่คัดลอกมาสร้างความเสียหายมากที่สุด ในรูปแบบ net30 แบบเก่า ไคลเอนต์แต่ละรายใช้บล็อกสี่ที่อยู่ ดังนั้น push จึงให้ที่อยู่หนึ่งคู่ ในโทโพโลยีซับเน็ต ไคลเอนต์ได้รับที่อยู่หนึ่งรายการบวกกับมาสก์ของพูล และรูปแบบคู่นั้นผิด อ่านโทโพโลยีจากคอนฟิกูเรชันที่กำลังทำงานก่อนเขียนบรรทัด
# /etc/openvpn/ccd/partner-a (subnet topology)
ifconfig-push 10.44.0.61 255.255.255.0ตรวจสอบที่อยู่กับทุกสิ่งอื่นที่อาจเป็นเจ้าของได้: การจัดสรรแบบชัดเจนอีกรายการ ช่วงพูลแบบไดนามิก และเส้นทางแบบคงที่ใด ๆ ที่สมมติโฮสต์คงที่ ที่อยู่ที่ทับซ้อนกับพูลจะทำงานจนกว่าพูลจะมอบให้คนอื่น และความล้มเหลวนั้นจะดูเหมือนเกิดขึ้นแบบสุ่ม
ตรวจสอบผลลัพธ์บนการเชื่อมต่อใหม่
เซสชันที่มีอยู่จะเก็บที่อยู่ที่ได้รับ ดังนั้นการทดสอบที่มีความหมายเพียงอย่างเดียวคือการเชื่อมต่อใหม่ ตัดการเชื่อมต่อไคลเอนต์ เชื่อมต่อใหม่ และอ่านที่อยู่ที่ได้รับจริงพร้อมกับเส้นทางที่มาด้วย หากที่อยู่ยังเป็นไดนามิก การจัดสรรไม่ได้ถูกนำไปใช้ และขั้นตอนถัดไปคือการค้นหาในคอนฟิกูเรชัน ไม่ใช่การแก้ไขไฟล์ประวัติอีกครั้ง
เก็บหลักฐานไว้ด้วยกัน: ชื่อไคลเอนต์ ไฟล์ที่ตรงกัน ที่อยู่ที่จัดสรร และพูลที่มันมาจาก
สุดท้าย ที่อยู่ tunnel แบบคงที่ไม่ใช่ข้อมูลรับรองของอุปกรณ์ มันระบุตำแหน่งในแผนที่อยู่ ในขณะที่การตรวจสอบสิทธิ์ยังคงอาศัยใบรับรองและบัญชี การสับสนทั้งสองอย่างทำให้ความขัดแย้งของที่อยู่กลายเป็นสมมติฐานด้านความปลอดภัยที่ไม่มีใครเขียนไว้