สิ่งที่เปลี่ยนจริงเมื่อคุณสลับการตั้งค่า VPN ที่บันทึกไว้บน macOS
การสลับ VPN ที่บันทึกไว้บน Mac ไม่ใช่การเปลี่ยนโปรไฟล์ ดูว่าอะไรเปลี่ยนในเส้นทาง DNS และข้อมูลรับรอง และวิธีตรวจสอบอุโมงค์ที่คุณได้รับจริง
คุณเปิดรายการ VPN เลือกรายการที่บันทึกไว้อีกรายการ และคาดว่าจะสลับได้อย่างสะอาด ที่อยู่ขาออกใหม่และทุกอย่างไม่เปลี่ยน นั่นคือสมมติฐานที่ต้องทิ้งก่อน บน macOS VPN ที่บันทึกไว้เป็นบริการเครือข่ายเต็มรูปแบบไม่ใช่ค่าที่ตั้งไว้ล่วงหน้า การสลับบริการจึงอาจเปลี่ยนเส้นทาง DNS และการพิสูจน์ตัวตนพร้อมกันได้ แถบเมนูบอกว่าบริการใดทำงานอยู่ แต่ไม่ได้บอกว่าอุโมงค์ข้างใต้นั้นตรงกับที่คุณตั้งใจหรือไม่
รายการที่บันทึกไว้ไม่ใช่ตัวเลือกโปรไฟล์
ทุกรายการในการตั้งค่าระบบ > เครือข่ายเป็นบริการของตัวเอง มีที่อยู่เซิร์ฟเวอร์ บัญชี วิธีพิสูจน์ตัวตน เซิร์ฟเวอร์ DNS และตัวเลือกอย่างส่งข้อมูลทั้งหมดผ่านการเชื่อมต่อ VPN ระบบรุ่นเก่าเก็บรายการเดียวกันไว้ในการตั้งค่าระบบ สองรายการชี้ไปที่ชื่อโฮสต์เดียวกันได้แต่ยังทำงานต่างกัน เพราะโปรโตคอลหรือส่วนขยายไคลเอนต์กำหนดว่าอุโมงค์ถูกสร้างอย่างไร
ไคลเอนต์บุคคลที่สามเก็บรายการแยกกัน Tunnelblick อ่านการตั้งค่าจากโฟลเดอร์ของตัวเอง WireGuard เก็บรายการอุโมงค์ของตัวเอง และ OpenVPN Connect เก็บโปรไฟล์ไว้ในแอป บางตัวลงทะเบียนการตั้งค่าระบบ บางตัวเก็บทุกอย่างในแอปและไม่เคยปรากฏในรายการในตัว ดังนั้น «สลับไปรายการที่บันทึกไว้» จึงหมายถึงการกระทำที่ต่างกันตามแอปที่เป็นเจ้าของโปรไฟล์
scutil --nc list พิมพ์บริการ VPN ที่ลงทะเบียนในการตั้งค่าระบบพร้อมชื่อในเครื่องหมายคำพูด ใช้ชื่อเหล่านั้นเมื่อเขียนสคริปต์สลับ และอย่าถือว่ารายการครอบคลุมทุกอุโมงค์ของบุคคลที่สาม
การสลับเปลี่ยนอะไรจริง
สี่อย่างเคลื่อนไปพร้อมกันเมื่อบริการที่ใช้งานเปลี่ยน เส้นทางเริ่มต้นตามอุโมงค์ใหม่หากบริการนั้นส่งข้อมูลทั้งหมด รายการตัวแก้ไขเปลี่ยนเป็นเซิร์ฟเวอร์ DNS ที่บริการระบุ การเชื่อมต่อใหม่ใช้ที่อยูุ่โมงค์ใหม่เป็นแหล่งที่มา และข้อมูลรับรองที่ใช้เป็นของบริการใหม่ การตั้งค่าแบบเนทีฟกับโปรไฟล์แอปใช้แทนกันไม่ได้ แม้ทั้งคู่จะสิ้นสุดที่เกตเวย์เดียวกัน
| What you assume | What the system does |
|---|---|
| Same server name means same tunnel | Protocol, certificate and account are per service |
| All traffic follows the active VPN | Only when Send all traffic over VPN is on |
| DNS switches with the VPN | Only if that service defines DNS servers |
| Disconnect ends the connection | On Demand or a management profile can reconnect |
| Open sessions survive the switch | TCP 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 ยังตอบจากเครือข่ายท้องถิ่น ให้เทียบเซิร์ฟเวอร์ที่ตั้งไว้ของบริการกับรายการตัวแก้ไข หากเส้นทางเริ่มต้นยังชี้ไปที่อินเทอร์เฟซจริง บริการนั้นเป็นอุโมงค์แยกหรือยังเชื่อมต่อไม่สมบูรณ์ ทั้งสองอย่างเป็นผลของการตั้งค่า ไม่ใช่หลักฐานว่าไคลเอนต์เสีย
ลำดับการสลับที่เลี่ยงความประหลาดใจ
- จดบันทึกบริการปัจจุบันและดูว่ามีโปรไฟล์จัดการอยู่หรือไม่
- ตัดการเชื่อมต่อก่อนเมื่อสองอุโมงค์อยู่ร่วมกันไม่ได้
- เชื่อมต่อปลายทางและรอสถานะเชื่อมต่อแล้ว ไม่ใช่กำลังเชื่อมต่อ
- ตรวจสอบเส้นทางเริ่มต้น รายการตัวแก้ไข และที่อยู่ขาออกใหม่
- รีสตาร์ตแอปที่ถือเซสชันยาวนาน
เก็บรายการเก่าไว้จนกว่ารายการใหม่จะผ่านการตรวจเหล่านั้น และตั้งชื่อให้แต่ละรายการต่างกัน ป้ายชื่อที่เหมือนกันทำให้การระบุสาเหตุของความล้มเหลวครั้งถัดไปยากขึ้น ความช่วยเหลือ Mac ของ Apple อธิบายฝั่งเนทีฟไว้ที่ตั้งค่าการเชื่อมต่อ VPN บน Mac ซึ่งเป็นแหล่งอ้างอิงที่ควรตรวจก่อนแก้ไขการตั้งค่าที่ถูกจัดการ
หากการเลือกย้อนกลับ ให้ถือว่าเป็นนโยบายหรือ On Demand ก่อน ยืนยันว่าใครเป็นเจ้าของการตั้งค่าและตั้งให้เชื่อมต่ออัตโนมัติหรือไม่ แล้วตัดสินใจว่าคุณกำลังสลับบริการหรือต่อสู้กับโปรไฟล์