โหนด VPN สาธารณะนี้ให้บริการโปรโตคอลใดจริง ๆ?
ซอฟต์แวร์เซิร์ฟเวอร์ที่รองรับโปรโตคอลไม่ได้หมายความว่าโหนดนี้เปิดใช้งานโปรโตคอลนั้น ตรวจสอบปลายทาง โปรไฟล์ และขั้นตอนที่ล้มเหลวจริง
ซอฟต์แวร์รองรับจึงเป็นเหตุให้โหนดให้บริการ ข้อสรุปนี้ผิดบ่อยพอที่จะเป็นกฎได้ การติดตั้ง SoftEther สามารถเปิดใช้งานชุดย่อยใดก็ได้ของวิธีการเชื่อมต่อที่เข้ากันได้ และโหนดสาธารณะคือการติดตั้งที่มีเจ้าของและการกำหนดค่า สิ่งที่คุณเชื่อมต่อได้ขึ้นอยู่กับโหนดนั้น ไม่ใช่รายการคุณสมบัติของโครงการที่โหนดรันอยู่ ช่องว่างระหว่างสองสิ่งนี้คือที่อยู่จริงของตั๋ว “โปรโตคอลเสีย” ส่วนใหญ่
รายการของโครงการสัญญาอะไรจริง ๆ
ฟังก์ชันโปรโตคอลของโครงการอธิบายว่าเซิร์ฟเวอร์ทำอะไรได้ โหนดหนึ่งจะเปิดผู้รับฟังบางตัวและไม่เปิดตัวอื่น และผู้ดูแลสามารถเปลี่ยนชุดนั้นได้โดยไม่ต้องแตะเวอร์ชันซอฟต์แวร์ ดังนั้นโหนดสองตัวบนบิลด์เดียวกันจึงทำงานต่างกัน และโปรไฟล์ที่ใช้ได้กับตัวหนึ่งไม่ได้พิสูจน์อะไรเกี่ยวกับเป้าหมายถัดไป รายการของโหนดเองมีน้ำหนักกว่าหน้าโครงการเมื่อคุณเลือกว่าจะเชื่อมต่อที่ไหน
อ่านรายการเป็นห้าฟิลด์ ไม่ใช่เมนู ปลายทาง พอร์ต การขนส่ง ตระกูลโปรโตคอล และวิธีการพิสูจน์ตัวตน โหนดสาธารณะที่โฆษณา SSTP บอกคุณเกี่ยวกับผู้รับฟังบนพอร์ตหนึ่ง แต่ไม่ได้บอกว่าจะนำเสนอใบรับรองใดหรือบัญชีของคุณใช้งานได้ที่นั่นหรือไม่ การเปรียบเทียบห้าฟิลด์นั้นกับโปรไฟล์ของคุณเร็วกว่าการติดตั้งไคลเอนต์ใหม่ไม่ว่าจะกี่ครั้ง และสร้างความคาดหวังเป็นลายลักษณ์อักษรที่คุณทดสอบได้ภายหลัง
จับคู่โปรไฟล์กับปลายทางที่มันระบุ
รายการ SoftEther แบบเนทีฟไม่ใช่การกำหนดค่า OpenVPN โดยอัตโนมัติ แม้ทั้งสองจะปรากฏบนหน้าผู้ให้บริการเดียวภายใต้หัวข้อเดียว เมื่อโหนดเผยแพร่ทั้งผู้รับฟัง TCP และ UDP สำหรับ OpenVPN ให้ถือว่าเป็นสองปลายทาง โปรไฟล์ที่แก้ไขจากตัวหนึ่งไปอีกตัวหนึ่งชี้ไปยังผู้รับฟังที่ไม่มีใครเปิดใช้งาน ป้ายกำกับการขนส่งในไฟล์เป็นส่วนหนึ่งของที่อยู่ ไม่ใช่การตั้งค่าเพื่อความสวยงาม
การที่ไคลเอนต์ยอมรับไฟล์ที่นำเข้าได้พิสูจน์ว่าไฟล์นั้นแยกวิเคราะห์ได้ แต่ไม่ได้บอกว่ามีผู้รับฟังระยะไกลรออยู่ที่อีกด้านหรือไม่ ดังนั้นการพยายามเชื่อมต่อครั้งแรกจึงเป็นการทดสอบจริง เปรียบเทียบบรรทัด remote ของโปรไฟล์กับโฮสต์และพอร์ตที่โหนดประกาศก่อนจะโทษโปรโตคอล
ตรวจสอบขั้นตอนที่ล้มเหลว
โฮสต์ที่ตอบสนองทราฟฟิกเว็บอาจยังขาดบริการ VPN ที่ต้องการและโฮสต์ที่ปฏิเสธโปรโตคอลหนึ่งไม่ได้หมายความว่าจะล่มทั้งหมด ความผิดพลาดสองอย่างนี้ส่งคนไปในทิศทางตรงกันข้ามในบ่ายวันเดียวกัน คนหนึ่งไล่ตามไฟร์วอลล์ที่ปกติ อีกคนติดตั้งไคลเอนต์ใหม่ทั้งที่มันไม่เคยเป็นปัญหา ตรวจสอบแต่ละเส้นทางแยกกันเพื่อให้คำตอบอธิบายผู้รับฟังหนึ่งตัว ไม่ใช่ทั้งโฮสต์
การตรวจสอบทั้งห้านี้ครอบคลุมวิธีการทั่วไปของโหนดสาธารณะ ให้รันจากเครือข่ายเดียวกับที่ไคลเอนต์ใช้ เพราะพอร์ตที่ถูกกรองดูเหมือนผู้รับฟังที่หายไปทุกประการเมื่อมองจากระยะไกล
nc -vz node.example 1194
nc -vz node.example 443
openvpn --config client.ovpn --verb 4
nmap -sU -p 500,4500 node.example
openssl s_client -connect node.example:443 -servername node.example
| ผลลัพธ์ | ขั้นตอน | สิ่งที่ตัดออก |
|---|---|---|
| การเชื่อมต่อถูกปฏิเสธหรือหมดเวลา | การขนส่ง | ไม่มีผู้รับฟัง ถูกกรอง หรือพอร์ตผิด |
| ข้อผิดพลาดการจับมือ TLS หรือตัวตน | ใบรับรอง | ความพร้อมใช้งานของโปรโตคอล ผู้รับฟังตอบกลับ |
| AUTH_FAILED หรือบัญชีถูกปฏิเสธ | การพิสูจน์ตัวตน | ปลายทาง ปัญหาอยู่ที่ข้อมูลรับรอง |
| UDP 500 และ 4500 เงียบ | การเจรจา IPsec | ESP และ L2TP ถูกบล็อกก่อนการพิสูจน์ตัวตน |
เชื่อมโยงข้อผิดพลาดที่สังเกตได้แต่ละรายการกับแถวของมันก่อนจะเปลี่ยนอะไร การล้มเหลวของตัวตน TLS พิสูจน์ว่าผู้รับฟังมีอยู่จริง ดังนั้นการเขียนโปรไฟล์ใหม่เป็นโปรโตคอลอื่นจะทิ้งหลักฐานที่ใช้งานได้ การเชื่อมต่อที่ถูกปฏิเสธพิสูจน์เพียงว่าพอร์ตนี้ไม่ตอบ ซึ่งเป็นข้อความที่แคบกว่ามากเมื่อเทียบกับ “โหนดไม่รองรับ OpenVPN”
เก็บข้อผิดพลาดไว้ก่อนจะเปลี่ยนอะไร
บันทึกผลลัพธ์ที่แน่นอน การหมดเวลา การล้มเหลวของตัวตนใบรับรอง การปฏิเสธบัญชี และการปฏิเสธระดับแอปพลิเคชันเป็นผลลัพธ์ที่แตกต่างกันสี่แบบ เฉพาะแบบแรกเท่านั้นที่เกี่ยวกับโปรโตคอลที่ไม่พร้อมใช้งาน และเฉพาะแบบสุดท้ายที่เกี่ยวกับสิทธิ์หลังการเชื่อมต่อสำเร็จ การรีเซ็ตไคลเอนต์หรือสลับโปรโตคอลทำลายความแตกต่างนั้น เพราะความล้มเหลวครั้งถัดไปมาพร้อมประวัติที่ต่างออกไปและไม่มีเส้นฐานให้เปรียบเทียบ
อย่าทำให้การตรวจสอบอ่อนแอลงเพื่อให้โปรไฟล์ที่ไม่เข้ากันดูเหมือนใช้งานได้ การปิดการตรวจสอบใบรับรองเปลี่ยนความล้มเหลวของตัวตนที่ชัดเจนให้เป็นการเชื่อมต่อกับสิ่งที่คุณไม่ได้ตั้งใจจะไปถึง และความสำเร็จที่ได้นั้นแย่กว่าข้อผิดพลาดเดิมเพราะมันซ่อนว่าขั้นตอนใดผิด
ตรวจสอบซ้ำสำหรับทุกโหนด ทุกครั้ง
ตัวเลือก SSL, OpenVPN, L2TP/IPsec และ SSTP แบบเนทีฟในรายการโหนดสาธารณะอธิบายการกำหนดค่าของโหนดนั้นในขณะนั้น ซอฟต์แวร์เดียวกันที่อื่นอาจนำเสนอชุดที่ต่างออกไป และผู้ให้บริการอาจยกเลิกผู้รับฟังระหว่างบุ๊กมาร์กของคุณกับการพยายามครั้งถัดไป บันทึกเก่าอธิบายการติดตั้งเก่า
บันทึกโปรไฟล์ที่ตรวจสอบแล้วพร้อมปลายทางและวิธีการ จากนั้นทำการตรวจสอบซ้ำเมื่อโหนดเปลี่ยนหรือการเชื่อมต่อเริ่มล้มเหลว ข้อกำหนดโปรโตคอล SoftEther เป็นเอกสารอ้างอิงว่าซอฟต์แวร์ทำอะไรได้ รายการของโหนดเองเป็นเอกสารอ้างอิงว่ามันทำอะไร แยกเอกสารสองฉบับออกจากกันแล้วการวินิจฉัยจะสั้นลง