OpenVPN con client misti ipv4 e ipv6


11

Ho un server VPN che gestisce vari client; alcuni solo con ipv4, altri con ipv4 e ipv6 e altri solo ipv6. Alcuni di questi client sono in roaming, quindi idealmente dovrebbero connettersi a ipv6 se è disponibile e ricorrere a ipv4 se non lo è.

Nella mia configurazione attuale, OpenVPN ascolta ipv4 e ipv6:

proto udp
proto udp6
dev tun

La mia prima domanda è qui: mentre questo sembra funzionare, è sicuro e corretto avere entrambi proto in un file di configurazione?

I miei clienti hanno due istanze remote nella configurazione:

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

Anche qui la mia domanda, dato che sembra funzionare (provando prima udp6, se fallisce fallback a udp), è un buon modo per farlo?

Risposte:


11

Bene.

Sul lato server, specificare "proto" due volte in realtà non fa nulla: "proto udp6" lo legherà a un socket dual-stack per gestire v4 + v6, sovrascrivendo "proto udp" nella riga precedente.

Su un client 2.3, con due telecomandi, con "udp6" e "udp" è la strada da percorrere, poiché il vecchio codice socket non può eseguire correttamente il failover stesso.

Su un client git master (2.4-to-be) o 3.0 (OpenVPN Connect), puoi semplicemente usare "udp" poiché chiamerà correttamente getaddrinfo () e utilizzerà qualsiasi protocollo IP supportato dal server e dalla rete, provando prima una famiglia e cadendo sull'altro, usando la preferenza i segnali del sistema operativo (tramite getaddrinfo () ordinamento dei risultati).

Gert


Cordiali saluti su OpenVPN prima della 2.4 non è possibile eseguire il dual-stack. L'impostazione di "proto udp6" non si legherà allo stack doppio. Su OpenVPN 2.4 puoi semplicemente usare "proto udp" come indicato.
Ben Franske,

Ho trovato diverse documentazioni contraddittorie per questo argomento. Nella pratica impostazione "proto udp6" in OpenVPN 2.4 risulta in doppio stack. Almeno questo è il comportamento del mio server. Almeno wiki.archlinux.org/index.php/… afferma lo stesso.
Martin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.