พร็อกซีดีบักตาบอดเมื่อ VPN ขององค์กรเชื่อมต่อ
ไม่มีอะไรเปลี่ยนในพร็อกซีของคุณ รายการทันเนลมีค่าตั้งของตัวเอง PAC ที่จัดการอาจกลับมา และไคลเอนต์บางตัวไม่เคยอ่านพร็อกซีของระบบเลย
เครื่องมือดักจับทำงานตลอดเช้า ทันเนลเชื่อมต่อ แล้วมันก็เงียบ ถอดออกแล้วมันก็เริ่มใหม่ ความคิดแรกคือ VPN ทำให้พร็อกซีพัง แต่จริง ๆ แล้วการกำหนดค่าพร็อกซีไม่ได้เปลี่ยน สิ่งที่เปลี่ยนคือแอปพลิเคชันอ่านการกำหนดค่าใดตอนนี้: รายการทันเนลอาจมีค่าตั้งพร็อกซีของตัวเอง โปรไฟล์ที่จัดการอยู่อาจเปิดการกำหนดค่าอัตโนมัติอีกครั้ง และรันไทม์บางตัวอ่านเพียงบางส่วนของสิ่งที่ระบบปฏิบัติการเสนอ อ่านค่าของแต่ละการเชื่อมต่อก่อนแตะค่าส่วนกลาง
Windows เก็บพร็อกซีแยกตามการเชื่อมต่อ
ในตัวเลือกอินเทอร์เน็ตมีสองชั้นที่ดูเหมือนกันในหน้าต่าง การตั้งค่าเครือข่ายท้องถิ่นใช้กับการเชื่อมต่อท้องถิ่นปกติ ขณะที่รายการ dial-up หรือ VPN เก็บสำเนาของตัวเองไว้ใต้ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections ซึ่งเก็บเป็นค่าไบนารี การเขียนค่ารีจิสทรีส่วนกลางที่คุ้นเคยไม่ช่วยอัปเดตสำเนานั้น
เครื่องมือทำงานถูกต้องก่อนเชื่อมต่อและผิดหลังเชื่อมต่อก็เพราะเหตุนี้ โดยไม่มีการเปลี่ยนแปลงที่มองเห็นได้ในการตั้งค่า หน้าต่างที่คุณจ้องอยู่นั้นคือแผงเครือข่ายท้องถิ่น มันถูกต้อง และมันไม่เกี่ยวข้อง รายการที่ Windows ใช้จริงคือรายการที่สร้างขึ้นสำหรับทันเนล
วิธีที่รองรับในการเปลี่ยนรายการเดียวคือ API ตัวเลือกการเชื่อมต่อของ WinINET: กรอก INTERNET_PER_CONN_OPTION_LIST ด้วยชื่อการเชื่อมต่อ แฟล็ก เซิร์ฟเวอร์พร็อกซี และรายการยกเว้น นำไปใช้แล้วรีเฟรช สำหรับการตรวจสอบอย่างรวดเร็ว ให้เปิดหน้าต่างการตั้งค่าของรายการทันเนลเองแล้วเทียบแผงพร็อกซีกับการตั้งค่าเครือข่ายท้องถิ่น ความแตกต่างมักชัดเจนเมื่อรู้ว่าจะดูตรงไหน
PAC ที่จัดการอยู่อาจเปิดตัวเองกลับมาได้
ใน macOS สคริปต์กำหนดค่าพร็อกซีอัตโนมัติและการค้นหาพร็อกซีอัตโนมัติเป็นคุณสมบัติของบริการเครือข่าย ไม่ใช่ของเครื่อง โปรไฟล์การกำหนดค่าอาจบังคับให้มีสิ่งเหล่านี้ จึงปรากฏขึ้นอีกครั้งหลังคุณเอาเครื่องหมายออก แล้วทุกคำขอจะถูกส่งไปยังพร็อกซีที่สคริปต์เลือก
ตรวจสอบ และหากได้รับอนุญาต ให้ปิดสวิตช์สองตัวนั้นสำหรับบริการที่รับส่งข้อมูล:
networksetup -setautoproxystate "Wi-Fi" off
networksetup -setproxyautodiscovery "Wi-Fi" off
scutil --proxy
ใช้ชื่อบริการจริงแทนการเดา แล็ปท็อปที่มีทั้งไวไฟและอะแดปเตอร์ USB Ethernet มีสองบริการ และมีเพียงหนึ่งเดียวที่รับส่งข้อมูลของคุณ scutil --proxy พิมพ์ค่าเฉพาะของบริการหลักปัจจุบัน เปรียบเทียบผลลัพธ์นั้นกับสิ่งที่คุณแก้ไขก่อนสรุปว่าโปรไฟล์ชนะ
ชี้นำเครื่องมือไปยังต้นทางจริง
ถ้าสคริปต์มีพร็อกซีองค์กร ให้อ่านและป้อนที่อยู่เดียวกันเป็นพร็อกซีภายนอกในเครื่องมือดักจับ จากนั้นเครื่องมือจะส่งต่อไปยังต้นทางจริง ซึ่งเป็นสิ่งที่พร็อกซีองค์กรคาดหวัง และมันยังอยู่ในเส้นทางของคำขอแทนที่จะต่อสู้กับนโยบาย
นี่คือท่าที่ทำให้คุณยังคงดีบักแทนที่จะกำหนดค่าใหม่
ดันพร็อกซีเข้าไปในทันเนล
ไคลเอนต์ที่ใช้ OpenVPN สามารถรับตัวเลือกพร็อกซีที่ใช้ได้เมื่อทันเนลขึ้นแล้ว ซึ่งสะดวกเมื่อไคลเอนต์เป็นเจ้าของเส้นทาง:
dhcp-option HTTPPROXY 127.0.0.1:8888
dhcp-option HTTPSPROXY 127.0.0.1:8888
มีเพียงไคลเอนต์ที่เคารพตัวเลือกนี้เท่านั้นที่จะใช้ และมันเขียนพอร์ตที่รับฟังของคุณลงในโปรไฟล์อย่างตายตัว มองว่านี่คือความสะดวกในห้องแล็บ ไม่ใช่มาตรฐานการติดตั้ง เพราะการพุชโปรไฟล์ครั้งถัดไปจะลบมันออก
ไคลเอนต์บางตัวไม่เคยอ่านพร็อกซีของระบบ
Firefox เก็บการตั้งค่าพร็อกซีของตัวเอง จึงบางครั้งยังดักจับต่อเมื่อเบราว์เซอร์ที่ใช้พร็อกซีระบบเลิกทำแล้ว ไคลเอนต์ .NET รุ่นเก่าที่ไม่เข้าใจการกำหนดค่าอัตโนมัติเชื่อมต่อโดยตรงไม่ว่าจะรันที่ไหน หน้าเว็บที่โหลดผ่านรายการทันเนลจึงยังล้มเหลวภายในแอปพลิเคชันได้
เครื่องมือเครือข่ายก็มีสาเหตุของตัวเองเช่นกัน เซสชัน FTP ที่ค้างผ่านทันเนลหรือการแชร์อินเทอร์เน็ตจากมือถือมักเป็นปัญหาโหมดแอ็กทีฟเทียบแพสซีฟที่ไคลเอนต์เจรจา และไม่มีการตั้งค่าพร็อกซีใดเปลี่ยนมันได้
อ่านการกำหนดค่า ไม่ใช่สวิตช์
ทำงานตามลำดับนี้: ค่าพร็อกซีของรายการทันเนลเอง สถานะ PAC และการค้นหาอัตโนมัติของแต่ละบริการ แล้วจึงเป็นการจัดการพร็อกซีของแอปพลิเคชันเอง หยุดที่สิ่งแรกที่ต่างจากสมมติฐานของคุณ
ทุกกรณีที่นี่เป็นปัญหาลำดับความสำคัญของการกำหนดค่า ไม่มีกรณีใดที่ทันเนลทำให้เครื่องมือของคุณพัง