![¿Cómo hacer que OpenVPN utilice sólo TCP?](https://rvso.com/image/1598565/%C2%BFC%C3%B3mo%20hacer%20que%20OpenVPN%20utilice%20s%C3%B3lo%20TCP%3F.png)
Utilizo un VPS de OVH como VPN para protección DDoS. Mientras probaba el uso de UDP para el túnel cliente > servidor, observé que cuando un ataque activa la mitigación VAC de OVH (no se puede desactivar), el tráfico entre el servidor y el cliente se interrumpe. Lo que significa que el sistema VAC de OVH trataba el tráfico UDP de mi cliente como un atacante y lo bloqueaba. Sé que este es el problema debido a una publicación de otro cliente de OVH en el sitio web de OVH.
Teniendo esto en cuenta, cambié el túnel a TCP. Pero ahora, cuando el cliente se conecta a un juego, veo que está usando UDP para conectarse al juego real. Como se predijo, al iniciar una prueba de carga (ataque DDoS simulado) en el servidor, desconecté a mi cliente del juego pero no al servidor VPN real.
TL;DR: Necesito que mi servidor OpenVPN use SÓLO TCP para conexiones de juegos, DNS parece estar bien. Aunque el túnel de mi cliente está establecido en TCP, el servidor se conecta al juego a través de UDP. ¿Cómo hago para que el servidor sólo use TCP en conexiones de juegos?
Editar: ¿Quizás una regla de iptables para rechazar el tráfico UDP reenviado o fomentar TCP?
Respuesta1
Puedes probar esto en la línea de comando:
openvpn --proto tcp-client client.ovpn
Alternativamente, puede configurar el protocolo en tcp-client
y el protocolo en tcp por ruta en su perfil (si tiene alguno). En el siguiente ejemplo, se aseguraría de que proto tcp-client
esté allí y cambiaría remote 1.2.3.4 1194 udp
aremote 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
Respuesta2
Su título no coincide con su pregunta; su túnel OpenVPN ya está usando TCP, pero los datos tunelizados en sí sonfuera del control de OpenVPNe incluso fuera de tu control.
Si el juego ha sido escrito para usar UDP,voluntadutilizar UDP y, lo que es más importante, elservidores de juegosesperar que los clientes utilicen UDP. Entonces, si conviertes los paquetes a TCP antes de que abandonen el servidor VPN, los servidores del juego no sabrán qué hacer con ellos.
Su única opción en general es bloquear UDP por completo. Si el juego admite TCP comoalternativa, no tendrá más remedio que usarlo. Si el juego requiere UDP, no funcionará en absoluto.