![Como fazer o OpenVPN usar apenas TCP?](https://rvso.com/image/1598565/Como%20fazer%20o%20OpenVPN%20usar%20apenas%20TCP%3F.png)
Eu uso um VPS OVH como VPN para proteção DDoS. Ao testar usando UDP para o túnel cliente > servidor, notei que quando um ataque aciona a mitigação VAC da OVH (não pode ser desativada), o tráfego entre o servidor e o cliente é interrompido. Significa que o sistema VAC da OVH estava a tratar o tráfego UDP do meu cliente como um atacante e a bloqueá-lo. Sei que este é o problema devido a uma publicação de um cliente diferente da OVH no site da OVH.
Tendo isso em mente, mudei o túnel para TCP. Mas agora, quando o cliente se conecta a um jogo, vejo que ele está usando UDP para se conectar ao jogo real. Conforme previsto, ao iniciar um teste de carga (simulado de ataque DDoS) no servidor, ele desconectou meu cliente do jogo, mas não o servidor VPN real.
DR: Preciso fazer com que meu servidor OpenVPN use SOMENTE TCP para conexões de jogos, o DNS parece bom. Embora o túnel do meu cliente seja estabelecido em TCP, o servidor se conecta ao jogo através de UDP. Como faço para que o servidor use apenas TCP em conexões de jogos?
Editar: Talvez uma regra do iptables para rejeitar o tráfego UDP encaminhado ou encorajar o TCP?
Responder1
Você pode tentar isso na linha de comando:
openvpn --proto tcp-client client.ovpn
Alternativamente, você define o protocolo tcp-client
e o protocolo para tcp por rota em seu perfil (se houver). No exemplo abaixo, você deve certificar-se de que proto tcp-client
está lá e mudar remote 1.2.3.4 1194 udp
pararemote 1.2.3.4 1194 tcp
client
dev tun
proto tcp-client
remote examplevpn.net 443
remote 1.2.3.4 1194 udp
remote 1.2.3.4 443 tcp
auth-user-pass
resolv-retry infinite
nobind
persist-tun
persist-key
persist-remote-ip
cipher AES-256-CBC
tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA
remote-cert-tls server
verify-x509-name us-il name-prefix
key-direction 1
comp-lzo no
verb 3
;ca ca.crt
Responder2
Seu título não corresponde à sua pergunta; seu túnel OpenVPN já está usando TCP, mas os dados em túnel em si sãofora do controle do OpenVPNe até mesmo fora do seu controle.
Se o jogo foi escrito para usar UDP, elevaiusar UDP e, mais importante, oservidores de jogosespere que os clientes usem UDP. Portanto, se você converter os pacotes para TCP antes de saírem do servidor VPN, os servidores do jogo não saberão o que fazer com eles.
Sua única opção em geral é bloquear totalmente o UDP. Se o jogo suportar TCP como umalternativa, ele não terá escolha a não ser usá-lo. Se o jogo exigir UDP, não funcionará.