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

ปุ่มลบการกำหนดค่าลบอะไรจริง ๆ

ทุก VPN ที่คุณเพิ่มจะกลายเป็นบริการเครือข่าย วัตถุชนิดเดียวกับ Wi-Fi หรือ Thunderbolt Bridge macOS เก็บไว้ทั้งหมดที่นี่: /Library/Preferences/SystemConfiguration/preferences.plist โดยแต่ละรายการมี ID บริการ ชื่อที่แสดง และพจนานุกรมการกำหนดค่าที่อธิบายชนิดของอุโมงค์ ที่อยู่เซิร์ฟเวอร์ และวิธีที่อุโมงค์เริ่มทำงาน

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

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

แสดงรายการสิ่งที่ Mac ยังคิดว่าติดตั้งอยู่

ทำบัญชีก่อนลบอะไร สามคำสั่งครอบคลุมสามชั้นที่ทำให้เกิดความล้มเหลวที่มองเห็นได้เหมือนกัน:

scutil --nc list
networksetup -listallnetworkservices
profiles -P

scutil --nc list เป็นมุมมองที่เชื่อถือได้ของการกำหนดค่า VPN พร้อมสถานะการเชื่อมต่อ ชื่อบริการ และ ID บริการ มักแสดงรายการที่ไม่เคยปรากฏในรายการการตั้งค่า บริการที่เหลือจากไคลเอนต์ที่คุณถอนการติดตั้งเมื่อหลายเดือนก่อน และการกำหนดค่าตามคำขอที่เริ่มอย่างเงียบ ๆ networksetup -listallnetworkservices แสดงบริการเครือข่ายด้วยชื่อที่เครื่องมือบรรทัดคำสั่งคาดหวัง และนั่นคือสิ่งที่คุณต้องใช้เพื่อลบตามชื่อ profiles -P แสดงรายการโปรไฟล์การกำหนดค่าที่ติดตั้งไว้ บน Mac ที่ถูกจัดการ VPN อาจไม่ใช่บริการที่คุณเพิ่มเอง แต่เป็นเพย์โหลดภายในโปรไฟล์เหล่านั้นโปรไฟล์ใดโปรไฟล์หนึ่ง

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

ลบบริการผ่านเจ้าของ

สำหรับบริการที่คุณเพิ่มเอง ให้อยู่ในเส้นทางที่เอกสารระบุ ระบบตั้งค่า VPN ปุ่มข้อมูล ลบการกำหนดค่า Apple เอกสารเส้นทางนั้น และมันทำให้ที่เก็บการกำหนดค่าสอดคล้องกัน การแก้ไขด้วยมือ preferences.plist ขณะที่สแต็กเครือข่ายทำงานอยู่คือวิธีที่คุณจะได้บริการซ้ำหรือซอมบี้ที่ไม่มีอินเทอร์เฟซใดลบได้

จากเทอร์มินัล ลบบริการตามชื่อด้วย networksetup -removenetworkservice "Service Name" จากนั้นยืนยันด้วย scutil --nc list คำสั่งทำงานบนรายการบริการเดียวกับอินเทอร์เฟซ ดังนั้นชื่อที่ไม่ปรากฏใน networksetup -listallnetworkservices จะไม่ถูกลบด้วยเส้นทางใดเลย เมื่อไคลเอนต์เป็นเจ้าของอุโมงค์ ให้ใช้เส้นทางลบหรือถอนการติดตั้งของไคลเอนต์นั้นก่อน เพราะไคลเอนต์จะสร้างบริการขึ้นใหม่ในการเปิดครั้งถัดไป

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

เศษที่เหลือซึ่งเชื่อมต่อใหม่โดยไม่มีบริการ

รายงาน «มันกลับมา» ตามปกติไม่ใช่บริการที่กลับมา แต่เป็นส่วนขยายที่เป็นเจ้าของมัน แสดงรายการส่วนขยายระบบที่ลงทะเบียนและส่วนขยายแอปชนิดส่วนขยายเครือข่าย:

systemextensionsctl list
pluginkit -m -p com.apple.networkextension.packet-tunnel

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

ข้อมูลรับรองเป็นเศษที่สอง รหัสผ่านหรือใบรับรองไคลเอนต์ที่บันทึกในคีย์เชนเข้าสู่ระบบไม่ถูกลบไปกับบริการ และความลับร่วมของ IPSec อยู่ในคีย์เชนระบบตามประวัติศาสตร์ นั่นคือเหตุผลที่ลบแล้วเพิ่มใหม่บางครั้งข้ามการถามรหัสผ่าน ถ้า Mac กำลังออกจากการควบคุมของคุณ ให้ค้นหารายการตามชื่อบริการใน Keychain Access และเพิกถอนบัญชี ใบรับรอง หรือคีย์คู่ที่ข้อมูลรับรองที่บันทึกไว้เป็นตัวแทน A copied configuration file is a live credential even after local removal.

ตรวจสอบการลบ และอ่านโปรไฟล์ที่กลับมาอย่างถูกต้อง

การลบเสร็จสมบูรณ์เมื่อบริการหายไปจากทั้งสองมุมมองและยังคงหายไปหลังรีสตาร์ท ตรวจสอบ scutil --nc list สำหรับ ID บริการ ยืนยันว่าการแปลงชื่อใช้ตัวแปลงที่คุณคาดหวังด้วย scutil --dns จากนั้นรีสตาร์ทหนึ่งครั้ง เพราะกฎตามคำขอและเอเจนต์เข้าสู่ระบบเป็นสองสิ่งที่จะแสดงตัวเฉพาะในการบูตที่สะอาด

ถ้ามันยังอยู่ อย่าลบวัตถุเพิ่ม เจาะจงว่าชั้นใดสร้างมันใหม่ โปรไฟล์ MDM ผลักบริการอีกครั้ง เอเจนต์ไคลเอนต์สร้างใหม่ หรือบริการไม่เคยถูกลบเพราะชื่อไม่ตรงกัน คำตอบนั้นตัดสินว่าคุณต้องใช้ตัวถอนการติดตั้งของผู้ขาย ทีมไอทีของคุณ หรืออีกรอบผ่านกล่องโต้ตอบลบเดียวกัน คู่มือการลบของ Apple ครอบคลุมเส้นทางที่รองรับสำหรับบริการที่คุณเพิ่ม เศษที่เหลือคือส่วนที่คุณต้องตรวจสอบเอง: remove a VPN configuration.

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