Como posso aumentar o desempenho do OpenVPN em um ambiente de rede de alta perda de pacotes

1

Estou tentando conectar meu laptop a um servidor em outro continente, e parece que o link é muito pouco confiável (com cerca de 58% de perda de pacotes durante o ping).

Ao usar a VPN por meio de uma configuração de chave secreta padrão do OpenVPN (que usa UDP), o ping nos relatórios de VPN causa 57% de perda de pacotes (isso me incomoda de um modo SSH lento).

Existe uma maneira eficiente de diminuir a taxa de perda de pacotes nessa situação? Eu tenho controle administrativo no meu laptop e no servidor.

Aqui está parte do resultado do traceroute do meu laptop para o servidor:

 8  221.176.27.254 (221.176.27.254)  16.870 ms
 9  * * *
10  221.183.30.246 (221.183.30.246)  197.288 ms
11  223.118.10.30 (223.118.10.30)  201.422 ms
    
por Eric Stdlib 28.07.2017 / 03:39

2 respostas

0

Você pode alternar o OpenVPN para TCP nas configurações (do cliente e do servidor, e talvez garantir que o seu TCP OpenVPN esteja seguro antes ou se você desabilitar o serviço UDP). Isso terá o efeito de garantir que todos os pacotes passem eventualmente. Isso ainda será lento, mas vale pelo menos a experiência. De openvpn.net:

If you want your OpenVPN server to listen on a TCP port instead of a UDP port, use proto tcp instead of proto udp (If you want OpenVPN to listen on both a UDP and TCP port, you must run two separate OpenVPN instances).

Quanto à perda de pacotes, você só pode corrigir o caminho que os pacotes tomam. Use o traceroute de ambas as extremidades para encontrar a parte incorreta do link e ver como ignorá-lo ou torná-lo mais robusto.

Em vez do TCP todo o caminho, tente ver se você pode alugar o tempo de infraestrutura muito perto do link que está sofrendo para encapsular o TCP através do link fraco para o destino. Isso permitiria que os pacotes UDP voassem o máximo possível sem ter que ack TCP ou retransmitir por todo o comprimento do seu túnel, apenas a parte ruim dele.

Se o elo fraco estiver no meio, você pode se beneficiar do aluguel de infraestrutura em ambas as extremidades do elo fraco, em vez de apenas de um lado, mas se estivermos falando da Antártica, talvez isso seja difícil.

Se você escolheu testar essa rota, recomendo o udptunnel como uma possível solução. ( udptunnel é o seu próprio pacote no Ubuntu, mas outras opções como o socat ou o netcat criativo funcionarão.)

    
por 28.07.2017 / 04:22
0

Use UDPspeeder . Ele troca sobrecarga de largura de banda para resistência à perda de pacotes.

No lado do servidor, inicie

speederv2_amd64 -s -l 0.0.0.0:1193 -r 127.0.0.1:1194

No lado do cliente, inicie

speederv2_amd64 -c -l 127.0.0.1:1194 -r your_server_ip:1993

Em seguida, aponte o cliente OpenVPN UDP para 127.0.0.1:1194.

Use o parâmetro --fec para ajustar a quantidade de redundância.

    
por 16.09.2018 / 00:37