OpenVPN com clientes misto ipv4 e ipv6

6

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

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

proto udp
proto udp6
dev tun

Minha primeira pergunta é aqui: enquanto isso parece funcionar, é seguro e correto ter o proto em um único 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, já que isso parece funcionar (tentar o udp6 primeiro, se isso falhar, o fallback será udp), essa é uma boa maneira de fazer isso?

    
por Tuinslak 11.12.2014 / 12:41

1 resposta

7

Bem.

No lado do servidor, especificando "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, sobrescrevendo o "proto udp" na linha anterior.

Em um cliente 2.3, ter dois controles remotos, com "udp6" e "udp" é o caminho a seguir, já que o código de soquete antigo não pode realizar o failover propriamente dito.

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

gert

    
por 11.12.2014 / 14:51