VPN บน Mac ตัวกรองเนื้อหา หรือ Private Relay: อะไรกำลังทำงานอยู่
สามชั้นเครือข่ายของ Mac ดูคล้ายกันใน Settings ใช้เส้นทางออก นโยบายโฟลว์ และขอบเขตการท่องเว็บแยก VPN ตัวกรองเนื้อหา และ Private Relay ออกจากกัน
Mac ของคุณอาจมีทั้งอุโมงค์ VPN ตัวกรองเนื้อหา และ iCloud Private Relay ติดตั้งพร้อมกัน และไม่มีตัวใดบอกว่าตัวไหนกำลังกำหนดรูปร่างของการเชื่อมต่อหนึ่ง ๆ แผงการตั้งค่าดูคล้ายกัน ไอคอนก็ดูคล้ายกัน และผู้ขายแทบทุกรายเรียกผลิตภัณฑ์ของตนว่าความปลอดภัยเครือข่าย มีข้อเท็จจริงสามข้อที่แยกออกจากกัน คือทราฟฟิกออกผ่านปลายทางระยะไกลที่คุณเรียกชื่อได้หรือไม่ เครื่องยนต์นโยบายตัดสินอนุญาต-หรือ-ทิ้งในแต่ละโฟลว์หรือไม่ และการป้องกันหยุดที่ Safari หรือไม่ จัดการสามข้อนี้ให้ชัด แล้วคำถามว่า VPN ของฉันเปิดอยู่ไหมส่วนใหญ่ก็ตอบตัวเองได้
สามเงื่อนไขที่ระบุองค์ประกอบ
เงื่อนไขแรกคือทางออก ผู้ให้บริการอุโมงค์ส่งแพ็กเก็ตไปยังเกตเวย์ระยะไกล ที่อยู่สาธารณะของคุณจึงเปลี่ยน และหากโปรไฟล์ระบุไว้ โฮสต์หลังเกตเวย์นั้นก็เข้าถึงได้ ถ้าที่อยู่ไม่เคยเปลี่ยนและไม่มีซับเน็ตส่วนตัวเปิดขึ้น คุณไม่ได้กำลังดูอุโมงค์ที่ทำงานอยู่ ไม่ว่าแถบเมนูจะบอกอะไร
เงื่อนไขที่สองคือการตัดสินใจ ตัวกรองเนื้อหาประเมินโฟลว์และคืนค่าอนุญาตหรือทิ้ง มันบังคับใช้การบล็อกหมวดหมู่ กฎรายแอป หรือนโยบายที่นายจ้างส่งมาได้ และบันทึกคำตัดสินได้ สิ่งที่มันทำเองไม่ได้คือให้ที่ไปกับทราฟฟิก
เงื่อนไขที่สามคือขอบเขต Private Relay ปกป้องการท่องเว็บเพียงส่วนที่กำหนด ไม่ใช่อุปกรณ์ทั้งเครื่อง และหน้าที่ของมันคือแยกว่าคุณเป็นใครออกจากสิ่งที่คุณเข้าชม ไม่ใช่ย้ายคุณไปยังเครือข่ายอื่น
วางสามอย่างเคียงกันแล้วเส้นแบ่งก็ยากที่จะมองข้าม:
| Layer | Question it answers | Evidence to look for | What it does not do |
|---|---|---|---|
| VPN tunnel provider | Where does my traffic emerge, and which private networks can I reach? | Changed public address, a connected service, a default route through a utun interface | Enforce per-app content policy |
| Content filter | May this flow proceed, and who decided? | A filter extension in Network Extensions, drop verdicts, an MDM profile | Supply a different public exit |
| iCloud Private Relay | Can the local network see which sites Safari loads? | A relay egress address in Safari only, the relay toggle in iCloud settings | Cover other apps or grant access to a private subnet |
ตัวกรองเนื้อหาเป็นเครื่องยนต์นโยบาย ไม่ใช่ทางออก
บน macOS ตัวกรองมาในรูป Network Extension ที่สร้างบนคลาสผู้ให้บริการข้อมูลการกรองของ Apple คือ NEFilterDataProvider ในการติดตั้งแบบมีการจัดการ MDM เป็นตัวผลักดัน ติดตั้งเป็นส่วนขยายระบบ และอนุมัติหนึ่งครั้งใน System Settings > General > Login Items and Extensions หลังจากนั้นมันเห็นโฟลว์ TCP และในบางการกำหนดค่าก็เห็น UDP ด้วย แล้วคืนคำตัดสินให้แต่ละโฟลว์
วิธีที่มันล้มเหลวคือสิ่งที่ทำให้คนสับสน ตัวกรองที่ทิ้งโฟลว์ทำให้เกิดการหมดเวลา การจับมือ TLS ที่ค้าง หรือการรีเซ็ต ซึ่งดูเหมือนอุโมงค์ที่ขึ้นแล้วแต่ส่งทราฟฟิกผ่านไม่ได้เลย ที่อยู่สาธารณะไม่เคยเปลี่ยน เพราะไม่เคยมีทางออกให้เปลี่ยน
ไคลเอนต์เชิงพาณิชย์มักรวมทั้งสองบทบาทไว้ด้วยกัน ตัวติดตั้งตัวเดียวมีทั้งผู้ให้บริการอุโมงค์และตัวกรอง ตัวกรองทำหน้าที่บล็อก อุโมงค์ทำหน้าที่กำหนดเส้นทาง ชื่อแอปจึงไม่ได้บอกอะไรว่าองค์ประกอบใดปฏิเสธการเชื่อมต่อ ตรวจรายการส่วนขยาย แล้วจึงดูบริการที่เชื่อมต่อ แล้วจึงดูบันทึกของไคลเอนต์ ตามลำดับนั้น
Private Relay ครอบคลุม Safari ไม่ใช่ทั้งเครื่อง
Private Relay ส่งการท่องเว็บที่มันครอบคลุมผ่านรีเลย์สองตัวที่ดำเนินการโดยฝ่ายแยกกัน จึงไม่มีผู้ให้บริการรายเดียวถือทั้งตัวตนและปลายทางของคุณ นี่คือการออกแบบความเป็นส่วนตัว ไม่ใช่อุโมงค์ ไม่มีเกตเวย์ให้เข้าไป ไม่มีซับเน็ตส่วนตัว และไม่มีวิธีปักหมุดที่อยู่ทางออกในประเทศที่คุณเลือก
ขอบเขตของมันแคบโดยเจตนา ครอบคลุมการท่องเว็บใน Safari พร้อมการสอบถาม DNS และการโหลด HTTP ที่ไม่ปลอดภัยซึ่งมาด้วยกัน เซสชันเทอร์มินัล ไคลเอนต์อีเมล แอปแชต และตัวเรียกเกมอยู่นอกขอบเขต ถ้าการตรวจในเทอร์มินัลยังแสดงที่อยู่เครือข่ายเข้าถึงของคุณ ขณะที่ Safari แสดงที่อยู่รีเลย์ นั่นคือผลลัพธ์ที่คาดไว้ ไม่ใช่การติดตั้งที่พัง
ความพร้อมใช้งานมีเงื่อนไข ต้องมีแพ็กเกจ iCloud+ ไม่มีให้ในทุกภูมิภาค และเครือข่ายที่มีการจัดการสามารถบล็อกการเข้าถึงรีเลย์ ซึ่งในกรณีนั้น Safari จะกลับไปใช้การเชื่อมต่อโดยตรง ภาพรวม Private Relay ของ Apple เป็นข้อมูลอ้างอิงสำหรับขอบเขตปัจจุบัน เมื่อโปรไฟล์ VPN เชื่อมต่ออยู่และส่งทราฟฟิกนั้น รีเลย์ไม่ได้ซ้อนทับอยู่ข้างบน โปรไฟล์เป็นตัวกำหนดเส้นทาง
อ่านหลักฐานตามลำดับที่ถูกต้อง
เริ่มจากสถานะบริการ เพราะเป็นสัญญาณที่ถูกที่สุด scutil --nc list พิมพ์บริการ VPN ที่กำหนดค่าไว้และบอกว่าแต่ละตัวเชื่อมต่ออยู่หรือไม่ โปรไฟล์อาจนอนอยู่ตรงนั้นเป็นปีโดยไม่เคยเชื่อมต่อ และผู้คนก็มักนับมันเป็นอุโมงค์
จากนั้นดูอินเทอร์เฟซและเส้นทาง ifconfig แสดงอินเทอร์เฟซ utun แต่การมีอยู่เพียงอย่างเดียวพิสูจน์ได้น้อย เพราะ macOS ใช้ utun เพื่อหลายวัตถุประสงค์นอกเหนือจาก VPN สิ่งที่สำคัญคือเส้นทางเริ่มต้นชี้เข้าไปในตัวใดตัวหนึ่งหรือไม่ ซึ่ง route -n get default รายงาน
สำหรับการแปลงชื่อ scutil --dns แสดงรายการตัวแปลงที่ระบบจะใช้จริง และผู้ให้บริการพร็อกซี DNS ก็ปรากฏที่นั่น การเปรียบเทียบ dig +short example.com กับ dig +short example.com @1.1.1.1 แยกตัวแปลงที่ตอบออกจากตัวแปลงที่ถูกดักจับ
กิจกรรมของส่วนขยายไปถึงบันทึกรวม: log show --predicate 'subsystem == "com.apple.networkextension"' --last 5m คุณกำลังหาว่าส่วนขยายใดเริ่มทำงาน และตัวกรองรายงานคำตัดสินในโฟลว์ที่คุณสนใจหรือไม่ ไม่ใช่บรรทัดให้ท่องจำ
จำกัดอาการให้แคบก่อนปิดสิ่งใด
จำแนกความล้มเหลวก่อน ชื่อที่แปลงไม่ได้ การเชื่อมต่อที่ถูกปฏิเสธทันที และการเชื่อมต่อที่ค้างจนหมดเวลาเป็นการสังเกตที่แตกต่างกันสามแบบพร้อมผู้รับผิดชอบต่างกันสามราย การแปลงชื่อชี้ไปที่ตัวแปลงหรือพร็อกซี DNS การปฏิเสธทันทีชี้ไปที่กฎของตัวกรอง ความเงียบมักชี้ไปที่การกำหนดเส้นทาง หรืออุโมงค์ที่ขึ้นแล้วแต่ไม่ส่งต่อ
บน Mac ที่มีการจัดการ ให้ถือว่าตัวกรองเป็นขององค์กร การปิดมันเพื่อทดสอบ VPN คือการถอดองค์ประกอบที่คุณต้องการสังเกตออกไป และ MDM มักคืนค่ามันในการตรวจครั้งถัดไป ถามผู้ดูแลระบบถึงชื่อนโยบายก่อนเปลี่ยนแปลงสิ่งใด และทดสอบด้วยแอปเฉพาะที่ล้มเหลว ไม่ใช่ทั้งระบบ
กับดักอีกข้อ: การปิด Private Relay เพื่อทดสอบ VPN ไม่บอกอะไรเกี่ยวกับทราฟฟิกต่างประเทศ เพราะรีเลย์ไม่เคยครอบคลุมทราฟฟิกนั้น แต่ละชั้นต้องถูกทดสอบในแอปที่มันกำกับจริง
ไล่รายการนี้และหยุดที่ข้อแรกที่ล้มเหลว:
scutil --nc listแสดงบริการที่คุณคาดว่าจะเชื่อมต่ออยู่หรือไม่- ที่อยู่สาธารณะที่เห็นจากเทอร์มินัลต่างจากที่อยู่ที่เครือข่ายเข้าถึงของคุณกำหนดให้หรือไม่
- มีส่วนขยายตัวกรองติดตั้งอยู่หรือไม่ และมันบันทึกคำตัดสินสำหรับโฟลว์ที่ล้มเหลวหรือไม่
- ความล้มเหลวเกิดเฉพาะใน Safari หรือไม่ ถ้าใช่ ให้ตรวจขอบเขตของรีเลย์ก่อนโทษอุโมงค์
ถ้าทั้งสี่ข้อผ่านและแอปยังล้มเหลว ปัญหาอยู่เหนือชั้นเครือข่าย: การตั้งค่าพร็อกซี ความเชื่อถือใบรับรอง หรือรายการอนุญาตระดับแอป