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

รายการที่บันทึกไว้ไม่ใช่ตัวเลือกโปรไฟล์

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

ไคลเอนต์บุคคลที่สามเก็บรายการแยกกัน Tunnelblick อ่านการตั้งค่าจากโฟลเดอร์ของตัวเอง WireGuard เก็บรายการอุโมงค์ของตัวเอง และ OpenVPN Connect เก็บโปรไฟล์ไว้ในแอป บางตัวลงทะเบียนการตั้งค่าระบบ บางตัวเก็บทุกอย่างในแอปและไม่เคยปรากฏในรายการในตัว ดังนั้น «สลับไปรายการที่บันทึกไว้» จึงหมายถึงการกระทำที่ต่างกันตามแอปที่เป็นเจ้าของโปรไฟล์

scutil --nc list พิมพ์บริการ VPN ที่ลงทะเบียนในการตั้งค่าระบบพร้อมชื่อในเครื่องหมายคำพูด ใช้ชื่อเหล่านั้นเมื่อเขียนสคริปต์สลับ และอย่าถือว่ารายการครอบคลุมทุกอุโมงค์ของบุคคลที่สาม

การสลับเปลี่ยนอะไรจริง

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

What you assumeWhat the system does
Same server name means same tunnelProtocol, certificate and account are per service
All traffic follows the active VPNOnly when Send all traffic over VPN is on
DNS switches with the VPNOnly if that service defines DNS servers
Disconnect ends the connectionOn Demand or a management profile can reconnect
Open sessions survive the switchTCP sessions tied to the old address stall

ส่วน DNS คือสิ่งที่ทำให้คนสับสน macOS รักษาลำดับตัวแก้ไข และscutil --dns แสดงว่าตัวแก้ไขใดถูกใช้บนอินเทอร์เฟซใด บริการ VPN ที่ไม่ได้ตั้งเซิร์ฟเวอร์ DNS อาจปล่อยให้ตัวแก้ไข Wi-Fi ตอบ คุณจึงได้ที่อยู่สาธารณะใหม่พร้อมพฤติกรรม DNS แบบเก่าและสรุปว่าการสลับทำงานได้ครึ่งเดียว

ทำไมการตั้งค่าเก่าถึงกลับมา

หากคุณตัดการเชื่อมต่อและบริการเดิมเชื่อมต่อใหม่ในอีกครู่ ให้ดู On Demand ก่อน กฎเชื่อมต่อตามคำขออาจนำบริการกลับมาเมื่อแอปแก้ชื่อโดเมนที่ตรงกัน และโปรไฟล์การจัดการอาจบังคับใช้กฎเดียวกัน การลบรายการไม่ค่อยแก้ได้ เพราะการตั้งค่าที่ติดตั้งด้วยโปรไฟล์มักกลับมาเมื่อรีเฟรชโปรไฟล์ครั้งถัดไป และการตั้งค่าแบบทำมืออาจทิ้งรหัสผ่านไว้ใน Keychain ขณะที่บริการหายไปแล้ว

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

ตรวจสอบอุโมงค์ ไม่ใช่เครื่องหมายถูก

ไล่ดูมุมมองของระบบเองก่อนแตะการตั้งค่าscutil --nc status "Name" รายงานสิ่งที่ระบบเชื่อifconfig แสดงว่าอินเทอร์เฟซutun มีที่อยู่หรือไม่netstat -rn -f inet แสดงว่าเส้นทางเริ่มต้นชี้ไปที่ใดscutil --dns แสดงตัวแก้ไขที่ใช้จริง จากนั้นเปิดการเชื่อมต่อใหม่และยืนยันที่อยู่ขาออก เพราะหน้าที่ลงชื่อเข้าใช้ไว้แล้วอาจยังใช้ซ็อกเก็ตที่ผูกกับอุโมงค์เก่า

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

ลำดับการสลับที่เลี่ยงความประหลาดใจ

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

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

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

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