OpenVPN พร้อมไคลเอนต์ ipv4 และ ipv6 แบบผสม


11

ฉันมีเซิร์ฟเวอร์ VPN ที่จัดการไคลเอ็นต์ที่หลากหลาย บางอันมีเฉพาะ ipv4 บางตัวมี ipv4 และ ipv6 และบางอันจะเป็น ipv6 เท่านั้น ไคลเอนต์เหล่านี้บางคนกำลังโรมมิ่งดังนั้นพวกเขาควรจะเชื่อมต่อกับ ipv6 หากพร้อมใช้งานและถอยกลับไปที่ ipv4 หากไม่มี

ในการตั้งค่าปัจจุบันของฉัน OpenVPN ฟัง ipv4 และ ipv6:

proto udp
proto udp6
dev tun

คำถามแรกของฉันอยู่ที่นี่: ในขณะที่สิ่งนี้ดูเหมือนว่าจะทำงานได้ปลอดภัยและถูกต้องหรือไม่ที่จะมีโปรโตทั้งคู่ในไฟล์กำหนดค่าหนึ่งไฟล์

ลูกค้าของฉันมีอินสแตนซ์ระยะไกลที่สองในการกำหนดค่า:

remote vpn.domain.tld port udp6
remote vpn.domain.tld port udp

คำถามของฉันที่นี่เช่นนี้ดูเหมือนว่าจะใช้งานได้ (ลอง udp6 ก่อนถ้าล้มเหลวจะย้อนกลับไปที่ udp) นี่เป็นวิธีที่ดีในการทำเช่นนี้หรือไม่?

คำตอบ:


11

ดี.

ทางฝั่งเซิร์ฟเวอร์การระบุ "proto" สองครั้งไม่ได้ทำอะไรเลย - "proto udp6" จะทำให้มันผูกซ็อกเก็ตแบบ dual-stack เพื่อจัดการ v4 + v6 เขียนทับ "proto udp" ในบรรทัดก่อนหน้า

บนไคลเอ็นต์ 2.3 การใช้รีโมตสองรายการด้วย "udp6" และ "udp" เป็นวิธีที่จะไปเนื่องจากโค้ดซ็อกเก็ตเก่าไม่สามารถทำการ failover ได้อย่างถูกต้อง

บนไคลเอนต์ git master (2.4-to-be) หรือ 3.0 (OpenVPN Connect) คุณสามารถใช้ "udp" เนื่องจากมันจะเรียก getaddrinfo () อย่างถูกต้องและใช้โปรโตคอล IP ใด ๆ ก็ตามที่เซิร์ฟเวอร์และเครือข่ายรองรับลองหนึ่งครอบครัวแรกและ ล้มไปที่อีกอันหนึ่งโดยใช้การตั้งค่าสัญญาณ OS (ผ่าน getaddrinfo () ผลการสั่งซื้อ)

เกิร์ต


FYI บน OpenVPN ก่อนหน้า 2.4 คุณไม่สามารถทำ dual-stack ได้ การตั้งค่า "proto udp6" จะไม่เชื่อมกับ dual stack บน OpenVPN 2.4 คุณสามารถใช้ "proto udp" ตามที่ระบุ
Ben Franske

ฉันพบเอกสารที่ขัดแย้งกันหลายประการสำหรับหัวข้อนี้ ในการตั้งค่าการปฏิบัติ "proto udp6" ใน OpenVPN 2.4 ผลในกองคู่ อย่างน้อยนี่เป็นพฤติกรรมของเซิร์ฟเวอร์ของฉัน อย่างน้อยwiki.archlinux.org/index.php/…ระบุไว้เหมือนกัน
Martin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.