Как заставить OpenVPN использовать только TCP?

Как заставить OpenVPN использовать только TCP?

Я использую OVH VPS в качестве VPN для защиты от DDoS. Во время тестирования с использованием UDP для туннеля клиент > сервер я заметил, что когда атака запускает смягчение VAC OVH (не может быть отключено), трафик между сервером и клиентом прерывается. Это означает, что система VAC OVH воспринимала UDP-трафик моего клиента как атакующий и блокировала его. Я знаю, что это проблема, поскольку другой клиент OVH написал сообщение на веб-сайте OVH.

Имея это в виду, я переключил туннель на TCP. Но теперь, когда клиент подключается к игре, я вижу, что он использует UDP для подключения к реальной игре. Как и предполагалось, запуск нагрузочного теста (симуляция DDoS-атаки) на сервере отключил моего клиента от игры, но не от реального VPN-сервера.

TL;DR: Нужно заставить мой сервер OpenVPN использовать ТОЛЬКО TCP для игровых подключений, DNS, похоже, в порядке. Хотя туннель моего клиента установлен в TCP, сервер подключается к игре через UDP. Как заставить сервер использовать только TCP для игровых подключений?

Редактировать: Может быть, правило iptables отклоняет пересылаемый трафик UDP или поощряет TCP?

решение1

Вы можете попробовать это в командной строке:

openvpn --proto tcp-client client.ovpn


В качестве альтернативы вы можете установить протокол на tcp-clientи протокол на tcp для каждого маршрута в вашем профиле (если он есть). В примере ниже вы должны убедиться, что proto tcp-clientесть и изменить remote 1.2.3.4 1194 udpнаremote 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

решение2

Ваш заголовок не соответствует вашему вопросу; ваш туннель OpenVPN уже использует TCP, но сами туннелируемые данныевне контроля OpenVPNи даже вне вашего контроля.

Если игра была написана для использования UDP, онаволяиспользовать UDP, и что еще важнее,игровые серверыОжидайте, что клиенты будут использовать UDP. Поэтому, если вы преобразуете пакеты в TCP до того, как они покинут VPN-сервер, игровые серверы не будут знать, что с ними делать.

Ваш единственный вариант в целом — полностью заблокировать UDP. Если игра поддерживает TCP какальтернатива, у него не будет выбора, кроме как использовать его. Если игра требует UDP, она вообще не будет работать.

Связанный контент