Netgear OpenVPN: TUN กับ TAP รับฟังบนพอร์ตที่ต่างกัน
เฟิร์มแวร์ของเราเตอร์ตามบ้านอาจประกาศตัวรับฟัง TUN และ TAP บนพอร์ตที่ต่างกัน โปรไฟล์ที่เล็งไปยังตัวผิดจะหมดเวลานานก่อนที่ใบรับรองใด ๆ จะถูกตรวจสอบ
โทรศัพท์เชื่อมต่อ VPN ของเราเตอร์ได้โดยไม่มีปัญหา แต่แล็ปท็อปที่ใช้โปรไฟล์จากหน้าดาวน์โหลดเดียวกันกลับหมดเวลา ไม่มีอะไรเกี่ยวกับใบรับรองเปลี่ยนไประหว่างสองความพยายามนั้น เพราะแล็ปท็อปไม่เคยไปถึงจุดที่ใบรับรองมีความสำคัญ เราเตอร์ประกาศตัวรับฟังแยกกันสำหรับ TUN และ TAP และโปรไฟล์ที่ใช้งานได้ต้องเลือกตัวที่ตรงกับชนิดอุปกรณ์ของตัวเอง
การตัดสินใจว่าจะไล่ตามความผิดพลาดใดจากสามอย่างที่เป็นไปได้คือทั้งหมดของงานตรงนี้ พอร์ต ชนิดอุปกรณ์ หรือการเจรจาไซเฟอร์ของช่องข้อมูล
สามสิ่งที่จะต้องตรงกัน
ชนิดอุปกรณ์ บรรทัดอินเทอร์เฟซของโปรไฟล์ และพอร์ตของตัวรับฟังประกอบกันเป็นการเลือกเพียงครั้งเดียว ไม่ใช่สามครั้ง โปรไฟล์ที่ประกาศ dev tun และเล็งไปที่ตัวรับฟัง TAP ไม่สามารถทำเซสชันให้สำเร็จได้ และการกลับกันก็ล้มเหลวแบบเดียวกัน สำหรับรุ่นและเฟิร์มแวร์ของคุณ ให้อ่านพอร์ตจากหน้าวีพีเอ็นของเราเตอร์เองแทนที่จะอ่านจากคู่มือ เพราะตัวเลขเปลี่ยนไประหว่างบิลด์ เขียนรุ่นและเวอร์ชันเฟิร์มแวร์ไว้ข้างตัวเลขนั้นเพื่อให้คนถัดไปตรวจสอบได้
รายงานภาคสนามกล่าวถึงคู่หนึ่ง เช่น 12973 สำหรับ TUN และ 12974 สำหรับ TAP บนเฟิร์มแวร์ตัวหนึ่ง และตัวเลขอื่นบนอีกตัวหนึ่ง ให้อ่านสิ่งเหล่านี้เป็นหลักฐานว่าบิลด์ต่างกัน ไม่ใช่ค่าคงที่ให้คัดลอก จากนั้นโปรไฟล์ต้องการชื่อโฮสต์ที่เหมาะสมกับระยะทาง คือชื่อ DNS แบบไดนามิกของเราเตอร์แทนที่อยู่ WAN ที่จะเปลี่ยนไป
หลังจากแก้ไขพอร์ตและบรรทัดอินเทอร์เฟซแล้ว โปรไฟล์ดูเหมือนการกำหนดค่าผู้ใช้ทั่วไปที่มีบรรทัด remote หนึ่งบรรทัดและบรรทัด dev หนึ่งบรรทัด หากทั้งสองไม่ตรงกัน การลองซ้ำไม่ว่ากี่ครั้งก็ไม่ทำให้เกิดเซสชัน
อ่านล็อกตามลำดับที่พิมพ์ออกมา
ไคลเอนต์ OpenVPN รายงานเหตุการณ์ตามลำดับที่เกิดขึ้น บรรทัดสุดท้ายก่อนความเงียบจึงระบุชั้นที่ต้องตรวจสอบ เมื่อการทำงานจบที่ TLS Error: TLS key negotiation failed หรือเพียงรอการตอบกลับแรกแล้วยอมแพ้ การเปรียบเทียบใบรับรองไม่เคยเกิดขึ้นเลย นั่นชี้ไปที่การเข้าถึงได้ ตัวรับฟัง หรือพอร์ตที่ไม่มีอะไรอยู่ข้างหลัง ไม่มีสิ่งใดในนั้นที่แก้ได้ด้วยการเปลี่ยนไฟล์ CA
การทำงานที่ไปถึง VERIFY OK แล้วล้มเหลวอยู่ที่อื่นโดยสิ้นเชิง พร้อมสาเหตุของตัวเอง การแยกผลลัพธ์สองอย่างนี้ออกจากกันก่อนแตะไฟล์จะป้องกันการอ้อมไปตามชุดใบรับรองที่ไม่เคยถูกถามถึง เมื่อแฮนด์เชกเสร็จแต่อุโมงค์ไม่ขึ้น ให้ดูการเจรจาไซเฟอร์แทนการเข้าถึงได้
เพิ่มรายการไซเฟอร์ที่ไคลเอนต์สมัยใหม่คาดหวัง
ไคลเอนต์ OpenVPN รุ่นใหม่ปฏิเสธค่าเริ่มต้นเก่าที่เฟิร์มแวร์ตามบ้านยังเสนออยู่ และอาการคือการเจรจาล้มเหลวทันทีหลังแฮนด์เชกสำเร็จ การแก้ไขคือบรรทัดโปรไฟล์หนึ่งบรรทัดที่ระบุสิ่งที่ไคลเอนต์จะยอมรับ ตั้งค่า data-ciphers เป็น AES-256-GCM, AES-128-GCM, CHACHA20-POLY1305 และ AES-128-CBC ตามลำดับนั้น อัลกอริทึมใดที่เราเตอร์ไม่ได้ใช้งานจะไม่ถูกเลือกเลย รายการที่ยาวขึ้นจึงไม่เสียอะไรนอกจากเวลาเจรจาที่นานขึ้นเล็กน้อย
การลงรายการไซเฟอร์ไม่ได้สอนเราเตอร์ให้รู้จักตัวที่มันไม่มี หากการเจรจายังล้มเหลว ให้ตรวจสอบว่าหน้าเราเตอร์มีการตั้งค่าไซเฟอร์ของตัวเองหรือไม่ และการตั้งค่านั้นมีรายการอย่างน้อยหนึ่งรายการที่ไคลเอนต์ยอมรับหรือไม่ สองรายการที่ไม่มีสมาชิกร่วมกันให้ผลลัพธ์ล้มเหลวเหมือนกับพอร์ตผิด และนั่นคือเหตุผลที่ปลายทั้งสองข้างควรค่าแก่การดู
นำเข้าครั้งเดียวแทนการแก้ไขสำเนาด้วยมือ
การนำเข้าไฟล์ที่แก้ไขแล้วเข้าสู่ NetworkManager จะหลีกเลี่ยงโฟลเดอร์ที่เต็มไปด้วยโปรไฟล์ที่ต่างกันเล็กน้อย nmcli connection import type openvpn file client.ovpn จากนั้นเรียกใช้งานตามชื่อ เก็บโปรไฟล์ที่นำเข้าไว้เป็นสำเนาเดียวที่คุณแก้ไข และลบสำเนาที่สะสมจากการดาวน์โหลดซ้ำ
จากนั้นทดสอบจากนอก LAN การเชื่อมต่อจากเครือข่ายเดียวกันพิสูจน์ได้น้อยมาก เพราะการรับส่งอาจไม่ผ่านอุโมงค์เลย ยืนยันว่าคำขอออกไปผ่านเราเตอร์จริง ไม่ใช่แค่ไคลเอนต์แสดงสถานะเชื่อมต่อ
ตัดสินใจว่าจะทำอย่างไรกับคำเตือน
เฟิร์มแวร์ตามบ้านมักสร้างหน่วยออกใบรับรองของตัวเอง และไคลเอนต์บ่นเรื่องการตรวจสอบในแบบที่เฟิร์มแวร์ปิดกั้นไม่ได้ ให้ประเมินว่าคำบ่นนั้นสำคัญต่อสิ่งที่คุณปกป้องหรือไม่ แทนที่จะถือว่าทุกคำเตือนเป็นเรื่องถึงตาย และอย่าปิดการตรวจสอบทั้งระบบเพียงเพื่อให้ข้อความหนึ่งเงียบ คำเตือนที่คุณประเมินแล้วคือความเสี่ยงที่บันทึกไว้ ส่วนการตั้งค่าการตรวจสอบที่คุณปิดไปนั้นไม่ได้ถูกบันทึก
เมื่อเฟิร์มแวร์ไม่มีวิธีที่รองรับในการแก้ไขคำเตือนที่สำคัญจริง ๆ ช่องว่างนั้นก็สนับสนุนให้โฮสต์ VPN ที่อื่น การเลือกระหว่างซ่อมโปรไฟล์ ยอมรับคำเตือน และย้ายปลายทางเป็นการตัดสินใจว่าคุณไว้วางใจใบรับรองนั้นมากน้อยเพียงใด ตัดสินใจอย่างตั้งใจ และจดว่าคุณเลือกทางไหน แทนที่จะคลิกผ่านกล่องโต้ตอบจนไอคอนกลายเป็นสีเขียว