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.