แปลงไฟล์กำหนดค่า WireGuard เป็น OpenVPN ได้หรือไม่
คุณเปลี่ยนชื่อไฟล์ WireGuard เป็นโปรไฟล์ OpenVPN ไม่ได้ ปลายทางต้องพูดโปรโตคอลนั้น ดังนั้นทางแก้คือโปรไฟล์ที่ตรงกัน ไม่ใช่ตัวแปลง
คุณมี wg0.conf และไคลเอนต์ที่รับเฉพาะ .ovpn จึงมีคนแนะนำให้แปลงไฟล์ การเปลี่ยนชื่อให้เป็นโปรไฟล์ที่ OpenVPN อ่านไม่ได้ และการแปลทีละฟิลด์อย่างระมัดระวังก็ได้โปรไฟล์ที่อ่านได้แต่ล้มเหลวตอนจับมือ เหตุผลไม่ใช่รูปแบบไฟล์ WireGuard และ OpenVPN เป็นโปรโตคอลที่ต่างกัน มีการจับมือต่างกัน โมเดลการยืนยันตัวตนต่างกัน และมีความเข้าใจต่างกันว่า peer คืออะไร การแปลงใช้ได้เฉพาะในความหมายที่คุณไปขอโปรไฟล์ OpenVPN จากผู้ที่ดูแลปลายทางได้
ไฟล์ที่คุณมีอธิบาย peer ไม่ใช่โปรไฟล์การเชื่อมต่อ
การกำหนดค่า WireGuard สั้นเพราะโปรโตคอลเป็นเช่นนั้น: อินเทอร์เฟซที่มีคีย์ส่วนตัวและที่อยู่ จากนั้น peer หนึ่งรายหรือมากกว่าที่มีคีย์สาธารณะ จุดปลายทาง และรายการ AllowedIPs ไม่มีชั้นการเจรจาให้ตั้งค่า และไม่มีชุดรหัสลับให้เลือก
โปรไฟล์ OpenVPN เป็นไคลเอนต์ของช่องควบคุมที่อิง TLS จึงมีข้อมูลอ้างอิงใบรับรองหรือข้อมูลรับรอง และคำสั่งที่อธิบายวิธีการยืนยันตัวตน
ทำไมไฟล์ที่แปลแล้วยังล้มเหลวตอนจับมือ
WireGuard เริ่มด้วยการจับมือแบบ Noise ที่ผูกกับคีย์ถาวรของ peer และจะเงียบถ้ายังไม่รู้คีย์สาธารณะของ peer OpenVPN เปิดเซสชัน TLS ตรวจสอบใบรับรองเซิร์ฟเวอร์หรือคีย์ถาวร แล้วยืนยันตัวตนผู้ใช้ด้วยใบรับรอง ชื่อผู้ใช้และรหัสผ่าน หรือทั้งสองอย่าง ไม่มีสิ่งใดในไฟล์ WireGuard ที่อธิบายสิ่งเหล่านี้ ไฟล์ที่แปลแล้วจะมีจุดปลายทางที่ถูกต้องและส่วนที่เหลือผิดทั้งหมด
การนำที่อยู่และพอร์ตกลับมาใช้ก็ไม่ช่วย เพราะ ปลายทางกำลังรอแพ็กเก็ตอื่น.
สิ่งที่ควรถามผู้ให้บริการ
หากผู้ให้บริการให้ไฟล์ WireGuard ถามว่าบัญชีเดียวกันมีสิทธิ์เข้าถึง OpenVPN หรือไม่ แล้วขอโปรไฟล์นั้น หลายรายมี และมันมาพร้อมข้อมูลรับรองของตัวเอง ไม่ใช่สำเนาที่ดัดแปลงจากไฟล์แรก
หากคำตอบคือไม่มี ข้อจำกัดอยู่ที่การสมัครสมาชิก ไม่ใช่ไฟล์ และไม่มีตัวแปลงใดเปลี่ยนได้
หากเราเตอร์หรือไคลเอนต์พูดได้เฉพาะ OpenVPN
เมื่ออุปกรณ์ที่ต้องเชื่อมต่อรองรับเฉพาะ OpenVPN ให้ตรวจสอบการรองรับโปรโตคอลที่ปลายทางระบุไว้ก่อนหาส่วนขยายอื่น เราเตอร์ที่สิ้นสุด OpenVPN ไม่สามารถถูกโน้มน้าวให้รับ WireGuard ด้วยการนำเข้าไฟล์ ทางเลือกที่ทำได้คือจุดปลายทาง OpenVPN ฝั่งเซิร์ฟเวอร์ หรืออุปกรณ์อื่นที่พูด WireGuard
เลือกจากผู้ที่ดูแลปลายทาง ไม่ใช่จากไฟล์ที่คุณบังเอิญมี
หากคุณดูแลเซิร์ฟเวอร์เอง ให้เพิ่มโปรโตคอล
การรองรับโปรโตคอลที่สองหมายถึงการรันบริการที่สอง บนเซิร์ฟเวอร์ Linux นั่นคืออินสแตนซ์ OpenVPN ที่มี CA ของตัวเอง ใบรับรองเซิร์ฟเวอร์ ใบรับรองไคลเอนต์ และคำสั่ง server พร้อม push รวมถึงกฎไฟร์วอลล์สำหรับพอร์ตของมัน รายการ peer ของ WireGuard ที่มีอยู่ไม่ได้อธิบายวัตถุเหล่านี้เลย วางแผนพูลที่อยู่และเส้นทางที่พุชแยกจาก AllowedIPs ของ WireGuard เพราะไม่ใช่กลไกเดียวกันที่ใช้สองชื่อ
จากนั้นตรวจสอบจากไคลเอนต์: โปรไฟล์โหลดได้ เซสชัน TLS สำเร็จ เส้นทางที่พุชปรากฏ และทราฟฟิกไปถึงโฮสต์ที่เข้าถึงได้ทางอุโมงค์เท่านั้น
จุดที่แนวคิดตัวแปลงปลอดภัย
การแปลค่าด้วยมือลงในบันทึกเป็นเรื่องที่ทำได้และมักมีประโยชน์ เพราะจุดปลายทาง ที่อยู่ และคีย์สาธารณะของ peer เป็นเพียงข้อเท็จจริงเกี่ยวกับการติดตั้ง การอัปโหลดคีย์ส่วนตัวไปยังเว็บไซต์ที่สัญญาว่าจะแปลงให้ไม่ใช่เรื่องที่ทำได้ เพราะคีย์นั้นคือข้อมูลรับรอง และบริการไม่มีโปรโตคอลให้แปลงไป หากต้องการการเข้าถึงเดียวกันจากไคลเอนต์ OpenVPN ให้ขอข้อมูลรับรอง OpenVPN แทน
เก็บการกำหนดค่าทั้งสองไว้เคียงกันและถือว่าเป็นเส้นทางการเข้าถึงที่แยกจากกัน เพราะนั่นคือสิ่งที่มันเป็น