tentativa final: eu defino 'tun-mtu' e 'mssfix' como 1380 no servidor e no cliente. Surpreendentemente, funcionou.
Eu criei o OpenVPN no servidor pela primeira vez. Funcionou bem até o servidor ser reiniciado. A configuração do firewall não é alterada. Quando tcpdump da interface tun no servidor, sempre recebo retransmissões TCP em todos os pacotes TCP maiores que alguns bytes no Android.
Usando uma configuração semelhante (leia-se: mesmo) na minha caixa Linux de onde estou postando, esta mensagem agora funciona bem; sem retransmissões, sem perda.
Funcionou muito bem antes de o servidor ser reiniciado. O que poderia causar isso? Eu já tentei reiniciar o Android, não ajudou.
Configuração do cliente, usada em tablets Linux e Android:
dev tun
client
remote 192.168.0.1
persist-key
persist-tun
nobind
pkcs12 user.p12
mssfix 1480
cipher AES-256-CBC
verb 3
1480 está abaixo da conexão mtu de uplink no servidor, que é 1492.
Eu tentei adicionar o tun-mtu 1480 ao Android, mas isso também não ajudou.
Tags networking android openvpn linux