รายการอนุญาตปลายทาง VPN: การรีเฟรช DNS ที่คุณลืม
ข้อยกเว้นไฟร์วอลล์สำหรับชื่อโฮสต์ VPN ไม่ใช่การสมัครใช้ DNS แบบสด ตัดสินใจว่าใครจะแก้ไข เมื่อชุดข้อมูลรีเฟรช และการค้นหาที่ล้มเหลวควรทำอย่างไร
การพิมพ์ vpn.example.com ลงในข้อยกเว้นไฟร์วอลล์ให้ความรู้สึกเหมือนสมัครใช้ DNS สิ่งที่มักเกิดขึ้นคือการแปลตอนโหลด หลังจากนั้นกฎจะเก็บที่อยู่และไม่มีสิ่งใดรีเฟรชมัน สององค์ประกอบแบ่งงานกันในตอนนี้: ตัวแก้ไขที่ตอบคำถามและไฟร์วอลล์ที่เก็บข้อมูล ความล้มเหลวของปลายทางส่วนใหญ่เริ่มต้นตรงจุดที่การส่งต่อนั้นไม่เคยถูกออกแบบ
ชื่อโฮสต์ในกฎไม่ใช่การสมัครใช้แบบสด
เครื่องมือบางตัวแก้ไขชื่อเมื่อโหลดการกำหนดค่า บางตัวเก็บชื่อโฮสต์และแก้ไขใหม่ตามตารางของตัวเอง ส่วนบางตัวรับเฉพาะที่อยู่ การกำหนดค่าที่มองเห็นแทบไม่ระบุว่าเป็นแบบใด ตัวอย่างในเอกสารมักถือว่าเป็นกรณีโหลด ซึ่งเป็นเหตุผลที่ความแตกต่างทำให้คนประหลาดใจระหว่างการย้ายระบบ อ่านพฤติกรรมของการนำไปใช้ก่อนสันนิษฐานว่าการเปลี่ยนที่อยู่จะถูกสังเกต เพราะ รายการอนุญาตที่เก่าคร่ำดูเหมือนรายการที่ใช้งานได้ทุกประการ จนกว่าปลายทางจะย้าย
กฎที่ระบุชื่อโฮสต์ที่ถูกต้องยังอาจอนุญาตที่อยู่ผิด ช่องว่างนั้นคือเรื่องเล่า ไม่ใช่การพิมพ์ผิด
TTL ของแคชไม่ใช่ตัวจับเวลาของไฟร์วอลล์ของคุณ
ระเบียน DNS มีอายุการใช้งาน และตัวแก้ไขแคชคำตอบไว้ตามระยะนั้น ข้อกำหนด DNS กำหนดพฤติกรรมการแคชนั้น แต่ควบคุมข้อมูล DNS ไม่ใช่ที่เก็บที่อยู่แยกของไฟร์วอลล์ TTL สั้นไม่ได้สร้างงานรีเฟรชในที่ที่ไม่มี การแคชยังเกิดขึ้นมากกว่าหนึ่งชั้น คำตอบที่เทอร์มินัลเห็นจึงอาจไม่ใช่คำตอบที่ไฟร์วอลล์เห็น
ถามผลิตภัณฑ์จริงสามคำถาม: แก้ไขเมื่อใด เก็บผลลัพธ์ที่ใด และอะไรกระตุ้นการอัปเดต หากคำตอบคือตอนบูตเท่านั้น เซสชันที่อยู่นานอาจมีชีวิตยืนกว่าที่อยู่ที่ได้รับอนุญาต
dig +short vpn.example.com
resolvectl query vpn.example.com
ออกแบบการรีเฟรชและความล้มเหลวเป็นนโยบายเดียว
ข้อยกเว้นที่ดูแลอยู่ต้องการคำตอบชัดเจน: อะไรกระตุ้นการรีเฟรชก่อนไคลเอนต์เลือกที่อยู่ใหม่ ชุดที่อนุญาตเปลี่ยนอย่างไรโดยไม่เปิดหน้าต่างชั่วคราวกว้าง และเมื่อใดจึงลบรายการที่ล้าสมัย เขียนคำตอบเหล่านั้นไว้ข้างกฎ
เลือกพฤติกรรมเมื่อล้มเหลวอย่างตั้งใจ การเก็บที่อยู่เดิมอาจรักษาเซสชันและทิ้งการอนุญาตที่เก่า การล้างชุดอาจขัดขวางการกู้คืน ทั้งสองไม่ควรเป็นผลลัพธ์บังเอิญจากการค้นหาที่ล้มเหลว เขียนพฤติกรรมที่เลือกไว้ใน runbook เพื่อให้ผู้ปฏิบัติงานคนถัดไปไม่ด้นสดภายใต้แรงกดดัน
รักษา bootstrap DNS ให้แคบเช่นกัน ข้อยกเว้นแบบไม่มีเงื่อนไขสำหรับตัวแก้ไขสาธารณะคือเส้นทาง DNS ตรงสำหรับทุกสิ่งที่ตรงกัน ไม่ใช่เฉพาะชื่อของปลายทาง
พิสูจน์การเปลี่ยนแปลงของปลายทาง ไม่ใช่การเชื่อมต่อครั้งแรก
ใช้ตัวจัดการที่ไคลเอนต์รองรับหากมันประสานการแก้ไขและการบล็อกอยู่แล้ว บนโฮสต์ PF ที่จัดการโดยไซต์ ให้รักษาความเป็นเจ้าของและแผนกู้คืนของไซต์แทนการคัดลอกไวยากรณ์ตารางชื่อโฮสต์จากแพลตฟอร์มอื่นที่มีพฤติกรรมวงจรชีวิตต่างกัน
ด้วยการทดสอบที่ได้รับอนุมัติและไม่เป็นอันตราย เปรียบเทียบที่อยู่ที่ไคลเอนต์เลือกกับชุดที่อนุญาตที่ใช้งานอยู่ก่อนและหลังการเปลี่ยนแปลงที่ควบคุม ครอบคลุมการค้นหาที่ล้มเหลว การลบรายการที่ใช้ไม่ได้แล้ว และหากรองรับ ตระกูลที่อยู่ต่างกัน อุโมงค์ที่ต้องการควรกู้คืนได้ในขณะที่ทราฟฟิกตรงที่ไม่เกี่ยวข้องยังอยู่ภายใต้นโยบาย การเชื่อมต่อครั้งแรกที่สำเร็จพิสูจน์เพียงว่าการแปลเริ่มต้นถูกต้องโดยบังเอิญ