Como explicar a perda de pacotes dentro da VPN?

1

Eu rodei um servidor OpenVPN (2.3.4) no Debian Jessie em UDP (porta 1194) com o TAP. O link para a Internet é 100Mbit / s (simétrico).

O cliente executa o TunnelBlick (3.7.0 com OpenVPN 2.3.14) em um MacBookPro 2015 atrás de um modem a cabo residencial com 100Mbit / s para baixo e 5Mbit / s para cima.

Eu monitora constantemente a perda de pacotes dentro e fora da VPN entre o servidor e o cliente usando o Smokeping. Aqui estão dois gráficos:

Fora da VPN: perda de pacote de 0,05% ( Gráfico de fumaça )

Dentro da VPN: 5,26% de perda de pacotes ( Gráfico de fumaça )

O Smokeping é executado no servidor VPN e está configurado para investigar o IP público (fora do gráfico da VPN) e o IP interno da VPN (dentro do gráfico da VPN).

O que poderia explicar essa diferença?

Mais alguns detalhes:

  • A CPU no cliente é sempre menor que 50% e muito menor que a do servidor
  • O uso da largura de banda no servidor está geralmente entre 10% e 30%
  • O servidor tem 10 a 20 clientes simultâneos conectados, principalmente caixas Linux, e só observo esse problema em dois clientes que executam o macOS Sierra
  • Às vezes, quando o TunnelBlick é reiniciado no cliente, a perda de pacotes dentro da VPN corresponde ao que eu vejo fora da VPN (~ 0%), mas às vezes é persistente nas reinicializações do TunnelBlick

Há alguma coisa óbvia que você testaria nessa configuração?

    
por Dario Spagnolo 03.02.2017 / 10:20

1 resposta

0

Eu suspeito que esse não seja o problema específico do servidor ou cliente OpenVPN, mas sim do MacOS Sierra. Googling "mac os sierra perda de pacotes" dá um link datado 13 de outubro de 2016 chamado Conexão cai no macOS Sierra . No seu caso com o OpenVPN off , não apenas os pacotes são perdidos, mas também alguns pacotes têm muito mais tempo de Round Trip. Não tenho 100% de certeza sobre isso, mas meu palpite é que quando você tiver OpenVPN em , se um pacote criado mais tarde chegar antes do pacote criado anteriormente, o OpenVPN apenas decide que o pacote anterior é perdido sem mais esperando. É por isso que com o OpenVPN on a taxa de perda se torna mais alta. Ou pode ser quando o ping é feito dentro do encapsulamento OpenVPN, os pacotes são maiores em tamanho e se tornam mais sensíveis a uma conexão ruim. Tente usar

proto tcp-server

no lado do servidor e

proto tcp-client

no lado do cliente e veja se a taxa de perda com OpenVPN se torna comparável à taxa de perda sem OpenVPN.

    
por 03.02.2017 / 12:51