ทำไมชื่ออะแดปเตอร์ VPN อาจซ่อนโปรโตคอลอื่น
ป้ายข้างอะแดปเตอร์อธิบายซอฟต์แวร์ที่สร้างมันขึ้นมา ไม่ใช่แพ็กเก็ตบนเครือข่าย ตรวจสอบไคลเอนต์ โปรไฟล์ และคู่ตรงข้ามก่อนเลือกวิธีแก้
ป้ายข้างอะแดปเตอร์ VPN อธิบายซอฟต์แวร์ที่สร้างอินเทอร์เฟซ และนั่นอยู่เหนือแพ็กเก็ตที่วิ่งผ่านเครือข่ายจริงขึ้นไปหนึ่งชั้น ปลั๊กอินอาจแสดงอะแดปเตอร์ที่ชื่อสะท้อนการจำแนกของปลั๊กอินเอง ไม่ใช่การห่อหุ้มบนเครือข่าย การอ่านไคลเอนต์ โปรไฟล์ และคู่ตรงข้ามตอบสิ่งที่ชื่อตอบไม่ได้ สองการเชื่อมต่อที่ดูเหมือนกันในเมนูการตั้งค่าอาจมีพฤติกรรมต่างกันโดยสิ้นเชิงในการดักจับ
ชื่อมาจากผู้ให้บริการ ไม่ใช่จากเครือข่าย
Windows กำหนดรายการชนิดการเชื่อมต่อสั้น ๆ สำหรับไคลเอนต์ VPN ที่มีมาให้ และผลิตภัณฑ์ของบุคคลที่สามติดตั้งสแตกของตนเองไว้ข้าง ๆ อะแดปเตอร์ที่ปรากฏในรายการเครือข่ายถูกสร้างโดยไดรเวอร์ที่เป็นเจ้าของการเชื่อมต่อ ชื่อจึงเป็นหลักฐานเกี่ยวกับไดรเวอร์ ไม่ใช่การรับประกันเกี่ยวกับโปรโตคอลภายนอก นั่นคือเหตุผลที่การถอนการติดตั้งไคลเอนต์หนึ่งตัวอาจทิ้งชื่ออะแดปเตอร์ไว้
เอกสารของ Microsoft เกี่ยวกับชนิดการเชื่อมต่อ VPN ระบุชัดเจนว่าชนิดนั้นอธิบายการกำหนดค่าของไคลเอนต์สำหรับการเชื่อมต่อนั้น เมื่อมีปลั๊กอินเข้ามาเกี่ยวข้อง ชนิดที่แสดงจะเป็นไปตามสิ่งที่ปลั๊กอินลงทะเบียน และการห่อหุ้มจริงอาจเป็นสิ่งอื่นโดยสิ้นเชิง
การซ้อนชั้นแบบเดียวกันปรากฏที่อื่นด้วย อะแดปเตอร์เสมือนบนโฮสต์ Linux อุปกรณ์ TAP หรือส่วนขยายบริการ VPN บนมือถือ ล้วนเป็นอินเทอร์เฟซที่สร้างโดยซอฟต์แวร์ และชื่ออินเทอร์เฟซถูกเลือกโดยซอฟต์แวร์นั้นแทนที่จะเจรจากับเซิร์ฟเวอร์
พอร์ตและที่อยู่บอกอะไรได้และบอกอะไรไม่ได้
แต่ละชั้นทิ้งหลักฐานที่ต่างกัน อ่านแยกกันแล้วป้ายก็เลิกเป็นคำตัดสิน:
| Evidence | What it establishes | Where it misleads |
|---|---|---|
| Adapter name | Which driver bound the interface | Plugins choose their own labels |
| Profile file | Which client consumes the configuration | Abstraction layers hide the transport |
| Outer port | Which port the peer accepts | 443 carries several protocols plus HTTPS |
| Tunnel address | The inner interface's network | Says nothing about encapsulation |
TCP 443 คือตัวอย่างที่ชัดที่สุด พอร์ตนี้สามารถพา SSTP, อุโมงค์ OpenVPN TCP, เซสชัน SoftEther SSL-VPN หรือทราฟฟิกเว็บธรรมดา และหมายเลขพอร์ตเพียงอย่างเดียวไม่สามารถแยกสิ่งเหล่านี้ได้ ดังนั้นกฎไฟร์วอลล์ที่อนุญาต 443 จึงไม่ใช่หลักฐานว่าไคลเอนต์ใดถูกใช้งาน การดักจับบนอินเทอร์เฟซภายนอกตัดสินเรื่องนี้ และตัดสินได้ในไม่กี่วินาที
อ่านรูปแบบโปรไฟล์และคู่ตรงข้าม
ไฟล์กำหนดค่าเป็นเบาะแสที่แข็งแรงกว่าอะแดปเตอร์ โปรไฟล์ OpenVPN มีคำสั่งอย่าง remote, proto และ ca; การกำหนดค่า WireGuard มีส่วน [Interface] ที่มีคีย์ส่วนตัวและส่วน [Peer] ที่มี IP ที่อนุญาต; รายการสมุดโทรศัพท์ของ Windows เก็บชนิดการเชื่อมต่อในรูปแบบของตัวเอง ทุกไวยากรณ์เป็นของหนึ่งการใช้งาน
จากนั้นดูเอกสารและบันทึกของคู่ตรงข้าม เซิร์ฟเวอร์รู้ว่าตัวจัดการโปรโตคอลใดยอมรับเซสชัน และบันทึกของมันระบุขั้นตอนที่เสร็จสิ้น หลักฐานนั้นเหนือกว่าป้ายใด ๆ บนเดสก์ท็อป เพราะมันถูกบันทึกในที่ที่แพ็กเก็ตถูกตีความจริง
เลือกคู่มือตามโปรโตคอล ไม่ใช่ตามป้าย
คำสั่ง OpenVPN เป็นของ OpenVPN คีย์และ IP ที่อนุญาตของ WireGuard เป็นของ WireGuard และโปรไฟล์ SSTP ไม่ใช่ทั้งสองอย่าง การวางตัวเลือกของไคลเอนต์หนึ่งลงในอีกไคลเอนต์เพราะชื่ออะแดปเตอร์ฟังดูเข้ากันได้ คือวิธีที่การกำหนดค่าที่ใช้งานได้ถูกทำให้พัง
เมื่อระบุโปรโตคอลได้แล้ว เลือกเส้นทางการแก้ปัญหาที่ตรงกัน: บันทึกของไคลเอนต์เอง บันทึกของเซิร์ฟเวอร์ที่เฉพาะกับโปรโตคอล และการดักจับที่แสดงการแลกเปลี่ยนภายนอก จากตรงนั้นความล้มเหลวมีชื่อแทนที่จะเป็นป้าย