OpenVPN dengan klien campuran ipv4 dan ipv6

11

Saya memiliki server VPN yang menangani berbagai klien; beberapa hanya dengan ipv4, beberapa dengan ipv4 dan ipv6, dan beberapa hanya akan ipv6. Beberapa klien ini roaming, jadi idealnya mereka harus terhubung ke ipv6 jika tersedia, dan kembali ke ipv4 jika tidak.

Dalam pengaturan saya saat ini, OpenVPN mendengarkan ipv4 dan ipv6:

proto udp
proto udp6
dev tun

Pertanyaan pertama saya ada di sini: sementara ini sepertinya berhasil, apakah aman dan benar untuk memiliki kedua proto dalam satu file konfigurasi?

Klien saya memiliki dua instance jarak jauh dalam konfigurasi:

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

Pertanyaan saya di sini, juga, karena ini tampaknya berhasil (mencoba udp6 pertama, jika gagal akan mundur ke udp), apakah ini cara yang baik untuk melakukan ini?

Tuinslak
sumber

Jawaban:

11

Baik.

Di sisi server, menentukan "proto" dua kali tidak benar-benar melakukan apa pun - "proto udp6" akan membuatnya mengikat soket dual-stack untuk menangani v4 + v6, menimpa "proto udp" pada baris sebelumnya.

Pada klien 2.3, memiliki dua remote, dengan "udp6" dan "udp" adalah cara yang harus dilakukan, karena kode soket lama tidak dapat gagal dengan sendirinya dengan benar.

Pada klien git master (2.4-to-be) atau 3.0 (OpenVPN Connect), Anda bisa menggunakan "udp" karena akan memanggil getaddrinfo () dengan benar dan menggunakan protokol IP apa pun yang didukung server dan jaringan, mencoba satu keluarga terlebih dahulu dan jatuh ke yang lain, menggunakan preferensi sinyal OS (via getaddrinfo () hasil pemesanan).

Gert

pengguna2156968
sumber
FYI pada OpenVPN sebelum 2.4 Anda tidak dapat melakukan dual-stack. Pengaturan "proto udp6" tidak akan mengikat ke tumpukan ganda. Pada OpenVPN 2.4 Anda bisa menggunakan "proto udp" seperti yang ditunjukkan.
Ben Franske
Saya menemukan beberapa dokumentasi yang bertentangan untuk topik ini. Dalam pengaturan praktis "proto udp6" di OpenVPN 2.4 menghasilkan dual stack. Setidaknya ini adalah perilaku server saya. Setidaknya wiki.archlinux.org/index.php/… menyatakan hal yang sama.
Martin