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

ชั้นไหนเป็นเจ้าของการตั้งค่าพร็อกซี่

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

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

อ่านค่าที่แต่ละเครื่องมือใช้จริง

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

env | grep -i -E 'http_proxy|https_proxy|all_proxy|no_proxy'
scutil --proxy
gsettings get org.gnome.system.proxy mode
netsh winhttp show proxy

รันเฉพาะบรรทัดที่ตรงกับแพลตฟอร์มตรงหน้าคุณ แล้วอ่านผลลัพธ์เรื่องโฮสต์ พอร์ต และข้อมูลรับรอง ค่าเช่น http://proxy.corp.example:8080 หมายความว่าเครื่องมือถามโฮสต์นั้นในทุกคำขอ ขณะที่ผลลัพธ์ว่างหมายความว่าไปทางตรงและข้อบกพร่องที่แท้จริงอยู่ที่อื่น ปิดบังส่วนชื่อผู้ใช้และรหัสผ่านก่อนวางผลลัพธ์ลงในตั๋ว เพราะสตริงเหล่านั้นเป็นข้อมูลรับรองที่ยังใช้งานได้บ่อยกว่าที่คนทั่วไปคิดมาก

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

ล้างการเขียนทับและทดสอบคำขอเดิมอีกครั้ง

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

unset http_proxy https_proxy all_proxy
curl -v --max-time 10 https://example.com 2>&1 | grep -i -E 'uses proxy|connected to|http/'

ถ้าผลลัพธ์แบบละเอียดยังอ้างว่ามีพร็อกซี่ สภาพแวดล้อมก็ไม่ใช่ผู้มีอำนาจ ขึ้นไปหนึ่งชั้นแทนการซ้อนการเขียนทับเพิ่ม

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

ยืนยันว่าการแก้ไขอยู่รอดหลังรีสตาร์ท

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

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

env -i /usr/bin/curl -sS -o /dev/null -w '%{http_code} %{remote_ip}
' https://example.com
networksetup -getwebproxy "Wi-Fi"

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

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