OpenVPN com clientes IPv4 e IPv6 mistos

10

Eu tenho um servidor VPN que lida com vários clientes; alguns apenas com ipv4, outros com ipv4 e ipv6 e outros que serão apenas ipv6. Alguns desses clientes estão em roaming, portanto, idealmente, eles devem se conectar ao ipv6, se estiver disponível, e voltar ao ipv4, se não estiver.

Na minha configuração atual, o OpenVPN ouve o ipv4 e o ipv6:

proto udp
proto udp6
dev tun

Minha primeira pergunta é aqui: enquanto isso parece funcionar, é seguro e correto ter os dois proto em um arquivo de configuração?

Meus clientes têm duas instâncias remotas na configuração:

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

Minha pergunta aqui, também, como isso parece funcionar (tentar o udp6 primeiro, se isso falhar, fará o fallback para o udp), essa é uma boa maneira de fazer isso?

Tuinslak
fonte

Respostas:

10

Bem.

No lado do servidor, especificar "proto" duas vezes na verdade não faz nada - "proto udp6" fará com que ele ligue um soquete de pilha dupla para lidar com v4 + v6, substituindo o "proto udp" na linha anterior.

Em um cliente 2.3, ter dois controles remotos, com "udp6" e "udp", é o caminho a percorrer, pois o código de soquete antigo não pode se autoproteger adequadamente.

Em um cliente git master (2.4-to-be) ou 3.0 (OpenVPN Connect), você pode simplesmente usar "udp", pois ele chamará adequadamente getaddrinfo () e usar qualquer protocolo IP que o servidor e a rede suportem, tentando primeiro uma família e caindo para o outro, usando a preferência que os sinais do SO (via ordenação de resultados getaddrinfo ()).

gert

user2156968
fonte
FYI no OpenVPN anterior à 2.4, você não pode fazer pilha dupla. A configuração "proto udp6" não será vinculada à pilha dupla. No OpenVPN 2.4, você pode simplesmente usar "proto udp" conforme indicado.
Ben Franske
Encontrei várias documentações contraditórias para este tópico. Na configuração prática "proto udp6" no OpenVPN 2.4, resulta em pilha dupla. Pelo menos esse é o comportamento do meu servidor. Pelo menos wiki.archlinux.org/index.php/… afirma o mesmo.
Martin