Eu tenho o servidor OpenVPN em execução no servidor Ubuntu (16.04.2) no Oceano Digital. Eu tive este servidor funcionando por um bom tempo. Funciona sem problemas que eu possa dizer.
1) Eu tenho um cliente Ubuntu. Este computador sempre se conecta ao servidor sem qualquer problema usando o conector do Unity OpenVPN na barra de menu superior ou usando o arquivo .ovpn diretamente.
2) Eu tenho um cliente móvel Android que está usando o cliente VPN aberto e está sempre conectado ao mesmo servidor.
3) Eu tenho um cliente Windows que eu uso periodicamente. Nunca tem problemas para se conectar ao servidor.
O problema é periodicamente com # 1 acima: o cliente Ubuntu. Como eu disse, sempre se conecta sem problema. Mas há momentos em que 0 byes fluem de qualquer maneira enquanto ela está conectada e independentemente de como ela está conectada. Quando está nesse “clima”, reiniciar ou reconectar não resolve o problema. Será assim por um dia ou mais, e então vai funcionar bem por semanas antes de puxar esse pequeno número de novo.
Todos os dispositivos estão no mesmo WiFi e durante essas fugas, apenas o cliente Ubuntu é afetado. Quando é afetado, os comandos de rede são terrivelmente lentos (por exemplo, "rota").
Quando está funcionando , a rota retorna:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.10.0.5 128.0.0.0 UG 0 0 0 tun0
default gateway 0.0.0.0 UG 600 0 0 wlp3s0
10.10.0.1 10.10.0.5 255.255.255.255 UGH 0 0 0 tun0
10.10.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
128.0.0.0 10.10.0.5 128.0.0.0 UG 0 0 0 tun0
[servers name] gateway 255.255.255.255 UGH 0 0 0 wlp3s0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 docker0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
Quando não está funcionando , a rota retorna (embora muito lentamente):
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.10.0.5 0.0.0.0 UG 50 0 0 tun0
default 192.168.0.1 0.0.0.0 UG 600 0 0 wlp3s0
10.10.0.1 10.10.0.5 255.255.255.255 UGH 50 0 0 tun0
10.10.0.5 0.0.0.0 255.255.255.255 UH 50 0 0 tun0
[server’s name] 192.168.0.1 255.255.255.255 UGH 600 0 0 wlp3s0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 docker0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
Por que esse comportamento? Eu não sei e não consegui encontrar nenhuma informação. Novamente: mesmo servidor em vários clientes. O cliente Android está persistentemente conectado e nunca tem problemas. O cliente Windows: ele é executado como um convidado Vbox no mesmo cliente Ubuntu que possui problemas. Se houver problemas, não os conectarei à VPN, mas o cliente Winows Vbox na mesma máquina não terá problemas para se conectar e não haverá problemas na movimentação de bytes.
O cliente .ovpn (o mesmo para todos os clientes):
client
dev tun
mssfix 1200
proto udp
remote vpn.myserver.com 443
resolv-retry infinite
nobind
persist-key
persist-tun
pkcs12 mykey.p12
remote-cert-tls server
comp-lzo
verb 3
auth-user-pass
Novamente, autenticar e conectar não é um problema. O tamanho da MTU é crítico: a descoberta automática de MTU não é confiável em nenhum lugar e algumas "coffee shops" ou roteadores na nuvem entre o cliente e o servidor têm problemas se o tamanho da MTU não for reduzido porque o tamanho real do pacote às vezes excederá o tamanho máximo e causar problemas. Mas, como eu disse, o único cliente com o problema é o cliente Ubuntu. A mesma configuração funciona em qualquer outro lugar.
Eu também tentei com várias outras configurações (cliente e servidor): TCP em vez de UDP; números de porta diferentes.
Obrigado pela sua ajuda.