หลังเชื่อมต่อ VPN เมตริกเส้นทางเปลี่ยนไป: หมายความว่าอย่างไร
เมตริกที่ต่ำกว่าจะตัดสินเสมอกันเฉพาะระหว่างเส้นทางที่เฉพาะเจาะจงเท่ากันเท่านั้น อ่านกฎนโยบาย คำนำหน้า และเส้นทางโฮสต์ของปลายทางก่อนแก้ไขหมายเลขเส้นทาง VPN ใด ๆ
คุณเชื่อมต่อ VPN แล้วรัน route print จะเห็นว่าเส้นทางเริ่มต้นมีเมตริกต่ำกว่าก่อนมาก สรุปตามธรรมชาติคือ VPN เข้ามาใช้เส้นทางเริ่มต้นเพราะตัวเลขน้อยกว่า บางครั้งก็เป็นอย่างนั้นจริง ๆ แต่บ่อยครั้งเมตริกไม่ใช่ปัจจัยที่ตัดสินเลย และการแก้ไขก็ไม่เปลี่ยนอะไร เพราะการเลือกเกิดขึ้นก่อนหน้านั้นแล้ว ด้วยความยาวคำนำหน้าหรือด้วยกฎนโยบาย
อาการเป็นเรื่องจริง ทราฟฟิกที่เคยออกผ่านอะแดปเตอร์ Wi-Fi ตอนนี้ออกผ่านอุโมงค์ หรือกลับกัน เมตริกเป็นเพียงหนึ่งอินพุตของการค้นหาที่ทำงานตามลำดับตายตัว และลำดับนั้นคือสิ่งที่ต้องอ่านก่อนจะแตะตัวเลข
ตัวเลขนั้นแข่งกับอะไรจริง ๆ
การเปรียบเทียบแรกคือความเฉพาะเจาะจง ไม่ใช่ความชอบ เส้นทางสำหรับ 10.20.0.0/16 ชนะ 10.0.0.0/8 และทั้งคู่ชนะ 0.0.0.0/0 ไม่ว่าเมตริกจะบอกอะไร VPN ที่ติดตั้งเส้นทางเริ่มต้นด้วยเมตริกต่ำสุดบนเครื่องก็ยังแพ้เส้นทางที่เฉพาะเจาะจงกว่าซึ่งตรงกับปลายทาง รวมถึงเส้นทางโฮสต์ที่ไคลเอนต์ติดตั้งไว้สำหรับเซิร์ฟเวอร์ของตัวเอง
ด้วยเหตุนี้การลดเมตริกบนเส้นทางเริ่มต้นจึงบังคับ ซับเน็ตที่เชื่อมต่อโดยตรง เข้าไปในอุโมงค์ไม่ได้ ถ้าต้องการซับเน็ตนั้นอยู่ใน VPN ให้เพิ่มเส้นทางสำหรับคำนำหน้าหรือเลือกตารางของอุโมงค์ด้วยกฎนโยบาย เมตริกเป็นคันโยกที่ผิดสำหรับงานนี้
| Check in this order | Question | Where you read it |
|---|---|---|
| 1. Policy and table | Which routing table does this traffic use? | ip rule, client profile |
| 2. Prefix length | Which matching route is most specific? | route print, ip route |
| 3. Metric | Which of the equally specific routes is preferred? | route print, ip route |
| 4. Interface state | Is the chosen next hop reachable? | adapter status, link state |
ลินุกซ์เลือกตารางก่อนเมตริก
บนลินุกซ์ เคอร์เนลจะถามฐานข้อมูลนโยบายก่อน ip rule แสดงรายการกฎและตารางที่กฎเหล่านั้นเลือก และ ip route get 203.0.113.10 รายงานตาราง เส้นทาง และแอดเดรสต้นทางที่เคอร์เนลจะใช้จริงสำหรับปลายทางนั้น เมตริกภายในตาราง 100 ไม่เคยแข่งกับเส้นทางในตารางหลัก เพราะกฎเลือกตารางก่อนที่จะมีการเปรียบเทียบเมตริกใด ๆ
ด้วยเหตุนี้เส้นทางอาจดูถูกต้องใน ip route show table all แต่ยังไม่พาทราฟฟิกไป อ่านกฎที่ตรงกัน แล้วอ่านตารางที่กฎเลือก แล้วจึงเปรียบเทียบเส้นทางภายในตารางนั้น ถ้าเลือกตารางผิด การแก้เมตริกในอีกตารางก็ไม่ช่วย
วินโดวส์รวมเมตริกสองตัว
วินโดวส์ไม่มีฐานข้อมูลนโยบายโดยค่าเริ่มต้น แต่รวมเมตริกของเส้นทางกับเมตริกของอินเทอร์เฟซ และเมตริกอินเทอร์เฟซอัตโนมัติอาจเปลี่ยนตามความเร็วลิงก์และสถานะอะแดปเตอร์ ด้วยเหตุนี้เส้นทางเดียวกันอาจทำงานต่างไปหลังจากมีด็อกกิ้งสเตชันหรืออะแดปเตอร์เสมือนปรากฏขึ้น Find-NetRoute -RemoteIPAddress 203.0.113.10 รายงานแอดเดรสต้นทาง ฮอปถัดไป และอินเทอร์เฟซที่เลือก ซึ่งใกล้กับการตัดสินใจจริงมากกว่าตารางดิบ
อ่านค่าของเส้นทางและอินเทอร์เฟซไปพร้อมกัน การเพิ่มเมตริกของอินเทอร์เฟซอาจย้ายทราฟฟิกโดยไม่มีรายการเส้นทางใดเปลี่ยน และ ไคลเอนต์ VPN ที่เป็นเจ้าของเส้นทางของตัวเองจะติดตั้งใหม่เมื่อเชื่อมต่ออีกครั้งและทิ้งการแก้ไขของคุณ
เก็บปลายทางของอุโมงค์ไว้ด้านนอกอุโมงค์
ทุกอุโมงค์ต้องมีเส้นทางไปยังเซิร์ฟเวอร์ของตัวเองที่ไม่ผ่านอุโมงค์ ไคลเอนต์ติดตั้งเส้นทางโฮสต์สำหรับปลายทางผ่านเกตเวย์กายภาพ และเส้นทางนั้นต้องเฉพาะเจาะจงกว่าเส้นทางเริ่มต้นที่ไคลเอนต์เพิ่มเข้ามา ถ้าลบมันหรือปล่อยให้อุโมงค์ชนะการค้นหาสำหรับแอดเดรสนั้น แพ็กเก็ตที่ห่อหุ้มจะพยายามเข้าอุโมงค์ที่มันควรจะสร้าง การเชื่อมต่อจะล้มเหลวหรือวนซ้ำ
ตรวจสอบเส้นทางโฮสต์นั้นก่อนและหลังการเปลี่ยนเมตริกทุกครั้ง มันควรชี้ไปที่ฮอปถัดไปเชิงกายภาพและอยู่รอดหลังการเชื่อมต่อใหม่ ถ้าไคลเอนต์เป็นเจ้าของ ให้เปลี่ยนโปรไฟล์หรือการกำหนดค่าที่จัดการแทนค่าที่จะถูกเขียนทับตอนรันไทม์
ตรวจสอบทั้งสองตระกูลแอดเดรสและบริบทของแอป
IPv4 และ IPv6 เป็นการตัดสินใจแยกกันด้วยตารางแยกกัน VPN อาจพา IPv4 ไปพร้อมกับที่ IPv6 ยังใช้เราเตอร์ท้องถิ่น และการเปลี่ยนเมตริกในตระกูลหนึ่งไม่ได้บอกอะไรเกี่ยวกับอีกตระกูล ตรวจสอบทั้งสอง แล้วตรวจสอบบริบทของแอปพลิเคชัน โปรเซสที่ผูกกับอินเทอร์เฟซ เนมสเปซของคอนเทนเนอร์ หรือ VPN ต่อแอปอาจเห็นตารางต่างจากเชลล์ของคุณ
ตรวจสอบด้วยเครื่องมือที่รายงานการตัดสินใจสำหรับปลายทางจริง ไม่ใช่ด้วยรายการตารางทั้งหมด ถ้าเส้นทางที่เลือกคือเส้นทางที่การออกแบบตั้งใจไว้ ก็หยุดได้ เมตริกที่ไม่ใช่ตัวเลขน้อยที่สุดบนหน้าจอไม่ใช่ข้อบกพร่อง และการบังคับให้เป็นตัวเลขน้อยที่สุดอาจทำลายเส้นทางของปลายทางที่อุโมงค์ต้องพึ่งพา