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

การลบการเปลี่ยนเส้นทางเป็นเพียงครึ่งเดียวของการเปลี่ยนแปลง

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

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

หากองค์กรบังคับให้ใช้ Full Tunneling ทั้งหมดนี้ไม่ใช้ การออกแบบเฉพาะส่วนตัวเป็นของการติดตั้งที่การกำหนดเส้นทางแบบแยกได้รับอนุมัติ

pull-filter เป็นการจับคู่ ไม่ใช่สวิตช์

คำสั่ง pull-filter จะลบตัวเลือกที่ถูกผลักซึ่งชื่อตรงกับคำนำหน้า และนั่นคือทั้งหมดที่ทำ การเพิกเฉยต่อการเปลี่ยนเส้นทางจะเหลือตัวเลือกที่ถูกผลักอื่น ๆ ไว้ในที่เดิม ซึ่งปกติคือสิ่งที่ต้องการ: เส้นทาง การตั้งค่า DNS และค่าของเกตเวย์เส้นทางยังคงมาถึง มันยังไม่สามารถลบคำสั่งที่เขียนในโปรไฟล์ท้องถิ่นได้ เพราะการกรองใช้กับสิ่งที่เซิร์ฟเวอร์ผลัก

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

route-nopull เป็นการตัดสินใจที่กว้างกว่าที่เห็น มันหยุดไคลเอนต์จากการยอมรับเส้นทางที่ถูกผลักและตัวเลือกแบบ DHCP เป็นกลุ่ม ซึ่งเป็นนโยบายที่ต่างจากการกรองตัวเลือกเดียว

เขียนรายการเส้นทางจากแอปพลิเคชันออกไปข้างนอก

เริ่มจากสิ่งที่ผู้ใช้เปิดจริง แล้วเพิ่มชิ้นส่วนที่สนับสนุน แอปพลิเคชันที่ 10.60.20.15 บ่งบอกถึง subnet ของมัน 10.60.0.0/16 และชื่อส่วนตัวบ่งบอกถึงตัวแปลงที่ตอบมัน ผู้ใช้ที่ขอแอปพลิเคชันเดียวจึงต้องมีสองปลายทางและการตัดสินใจ DNS หนึ่งครั้ง ทุกอย่างที่เกินเลยรายการนั้นอยู่นอกขอบเขตโดยการออกแบบ และนั่นคือสิ่งที่ทำให้นโยบายตรวจสอบได้

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

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

DestinationIntended path
10.60.0.0/16Tunnel, for the approved application services
10.61.0.53/32Tunnel, to reach the internal resolver
corp.example queriesInternal resolver, selected per namespace
Everything elseLocal path and local resolver

ให้ DNS เดินตามเส้นทางเดียวกัน

เส้นทางไปยังตัวแปลงไม่ใช่นโยบายของตัวแปลง บนไคลเอนต์ systemd-resolved ผลเชิงความหมายคือโดเมนการกำหนดเส้นทางสำหรับเนมสเปซส่วนตัวที่ชี้ไปยังตัวแปลงภายใน และนั่นคือสิ่งที่ทำให้เฉพาะชื่อเหล่านั้นใช้มัน ไคลเอนต์ Windows ต้องมีกลไกนโยบายเนมสเปซของตัวเองแทน บรรทัดเซิร์ฟเวอร์ DNS ในโปรไฟล์ไม่ได้ติดตั้งทั้งสองอย่างด้วยตัวเอง

ตรวจสอบว่าระบบปฏิบัติการเลือกอะไร ไม่ใช่โปรไฟล์ขออะไร บน Linux resolvectl status แสดงโดเมนและเซิร์ฟเวอร์ต่อลิงก์ บน Windows ตารางนโยบายเนมสเปซเป็นหลักฐานที่เทียบเท่า

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

ตรวจสอบทั้งสองครึ่งเมื่อเชื่อมต่อใหม่

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

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

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