VPN แตกหลังอัปเดตไคลเอนต์หรือไม่? เทียบการเจรจา
เก็บข้อผิดพลาดใหม่ตัวแรกและเวอร์ชันที่ทำให้เกิดไว้ การเจรจาหรือข้อกำหนดแพลตฟอร์มที่เปลี่ยนไปต้องมีการแก้ไขที่เฉพาะเจาะจงหนึ่งครั้ง ไม่ใช่การย้อนกลับทั้งหมด
การอัปเดตจะแทนที่ส่วนประกอบที่แยกวิเคราะห์โปรไฟล์ของคุณและเจรจาเรื่องอุโมงค์ ความล้มเหลวครั้งแรกหลังการอัปเกรดเป็นหลักฐานเกี่ยวกับการเปลี่ยนแปลงที่เฉพาะเจาะจง ไม่ใช่คำตัดสินเกี่ยวกับรีลีส การเก็บข้อผิดพลาดนั้นพร้อมเวอร์ชันและเวลาที่เกิดเป็นขั้นตอนที่มีค่าที่สุดที่คุณทำได้ก่อนติดตั้งอะไรใหม่
มีสองกลไกที่อธิบายการแตกหักเหล่านี้ส่วนใหญ่ การแยกทั้งสองออกจากกันคืองาน
การเจรจาเปลี่ยนอะไรไปใต้เท้าคุณ
OpenVPN เจรจาเรื่องรหัสของช่องข้อมูลแทนที่จะหยิบมาจากคำสั่งเดียว และตัวเลือกที่ควบคุมการเจรจานั้นเปลี่ยนความหมายไปตามรีลีส โปรไฟล์ที่เขียนไว้สำหรับไคลเอนต์รุ่นเก่าอาจเชื่อมต่อได้แล้วกลับตกลงเรื่องช่องข้อมูลไม่ได้ ซึ่งจะปรากฏเป็นการตัดการเชื่อมต่อแทนที่จะเป็นข้อผิดพลาดการกำหนดค่าที่ชัดเจน รีลีสใหม่ยังเข้มงวดหรือเลิกใช้พฤติกรรมเดิม และมีโหมดความเข้ากันได้สำหรับคู่ที่ยังไม่ย้าย เวอร์ชันอัปเกรดจึงทำให้โปรไฟล์ที่ใช้งานอยู่แตกได้โดยไม่แตะไบต์ใดของไฟล์
ผลต่อไคลเอนต์ไม่สมมาตร ช่องควบคุมขึ้นมา การยืนยันตัวตนสำเร็จ แล้วอุโมงค์ก็ตายหลังจากนั้น ซึ่งเป็นลายเซ็นของความไม่ตรงกันในการเจรจา ไม่ใช่โปรไฟล์ที่ถูกปฏิเสธ
อ่านเวอร์ชันที่ติดตั้งไว้ก่อนจะตั้งทฤษฎีเกี่ยวกับเซิร์ฟเวอร์ สตริงนั้นเป็นข้อเท็จจริงในเครื่องที่คุณตรวจสอบได้โดยไม่ต้องขอสิทธิ์จากใคร
โปรไฟล์อาจแยกวิเคราะห์ได้และหมายถึงอย่างอื่น
คำสั่งที่ผ่านการแยกวิเคราะห์ไม่จำเป็นต้องเป็นคำสั่งที่ยังทำในสิ่งที่ผู้เขียนตั้งใจ ตัวเลือกอาจถูกรับไว้เพื่อความเข้ากันได้แล้วถูกละเลย เปลี่ยนชื่อ หรือถูกใช้ในกรณีที่แคบกว่าเดิม เพราะไม่มีอะไรแจ้งข้อผิดพลาด โปรไฟล์จึงดูถูกต้องในขณะที่พฤติกรรมข้างใต้เปลี่ยนไป ความเงียบนั้นเองที่ทำให้การถดถอยเหล่านี้มีราคาแพง
ถามว่าบรรทัดใดรับผิดชอบผลลัพธ์ที่เจรจาได้จริง แล้วเทียบกับเอกสารของเวอร์ชันที่คุณรันอยู่ตอนนี้ การเทียบนั้นสั้น และความต่างระหว่างการแก้ไขกับการย้อนกลับอยู่ตรงนั้น
openvpn --version | head -n 2
openvpn --show-ciphers | head -n 10
grep -nE '^(cipher|data-ciphers|ncp-|tls-)' office.ovpn
แพลตฟอร์มขยับในเวลาเดียวกัน
รีลีสของไคลเอนต์ไม่ค่อยมาเดี่ยวๆ การอัปเดตระบบปฏิบัติการ ข้อความขออนุญาตที่ตอนนี้ต้องได้รับการอนุมัติอย่างชัดแจ้ง หรือนโยบายที่ถูกจัดการซึ่งใช้กับอุปกรณ์อาจมาถึงในสัปดาห์เดียวกันและสร้างความล้มเหลวที่ไคลเอนต์ถูกตำหนิ แพลตฟอร์มมือถือเพิ่มชั้นของตัวเอง เพราะแอปขออุโมงค์จากระบบ และระบบตัดสินว่าอุโมงค์นั้นส่งต่ออะไรได้
บันทึกการเปลี่ยนแปลงเหล่านั้นแยกไว้ในไทม์ไลน์ เมื่อการยืนยันตัวตนสำเร็จแต่เส้นทางหรือการแปลงชื่อล้มเหลว ขั้นที่น่าสนใจคือหลังการจับมือ และการทำให้การตรวจสอบใบรับรองอ่อนลงจะไม่แตะขั้นนั้น
ทดสอบเหตุการณ์ที่เริ่มต้นรายงานซ้ำ
ทำซ้ำลำดับเดิมไม่ใช่เวอร์ชันที่ทำให้ง่ายขึ้น: การเชื่อมต่อเริ่มต้น แอปพลิเคชันที่ล้มเหลว และการเชื่อมต่อใหม่ตามปกติหลังเปลี่ยนเครือข่าย อุโมงค์ที่ขึ้นมาในสภาพทดสอบแต่ยังตกที่เส้นทางการเชื่อมต่อใหม่ยังไม่ได้รับการแก้ไข และความต่างมักชี้ว่าข้อบกพร่องจริงอยู่ที่ใด รายงานที่ข้ามขั้นการเชื่อมต่อใหม่จะปิดบั๊กที่ยังเปิดอยู่
รับโปรไฟล์ที่รองรับของผู้ให้บริการหรือการแก้ไขของผู้ขายผ่านช่องทางที่ยืนยันแล้วแทนการย้อนกลับทั้งหมด การลดเวอร์ชันแบบกว้างยังคืนการแก้ไขความปลอดภัยที่การอัปเดตนำมาด้วย และการแลกเปลี่ยนนั้นแทบไม่คุ้มกับการเชื่อมต่อที่ใช้งานได้หนึ่งครั้ง