Wie kann man OpenVPN dazu bringen, nur TCP zu verwenden?

Wie kann man OpenVPN dazu bringen, nur TCP zu verwenden?

Ich verwende einen OVH VPS als VPN zum Schutz vor DDoS-Angriffen. Beim Testen der Verwendung von UDP für den Client-Server-Tunnel ist mir aufgefallen, dass der Datenverkehr zwischen Server und Client unterbrochen wird, wenn ein Angriff die VAC-Abwehr von OVH auslöst (kann nicht deaktiviert werden). Das bedeutet, dass das VAC-System von OVH den UDP-Datenverkehr meines Clients als Angriff behandelt und blockiert hat. Ich weiß, dass dies das Problem ist, weil ein anderer OVH-Kunde einen Beitrag auf der OVH-Website veröffentlicht hat.

Vor diesem Hintergrund habe ich den Tunnel auf TCP umgestellt. Aber jetzt, wenn der Client eine Verbindung zu einem Spiel herstellt, sehe ich, dass er UDP verwendet, um eine Verbindung zum eigentlichen Spiel herzustellen. Wie vorhergesagt, startete ich einen Belastungstest (simulierter DDoS-Angriff) auf dem Server, der meinen Client vom Spiel trennte, aber nicht vom eigentlichen VPN-Server.

TL;DR: Ich muss meinen OpenVPN-Server so einstellen, dass er NUR TCP für Gaming-Verbindungen verwendet, DNS scheint in Ordnung zu sein. Obwohl der Tunnel meines Clients in TCP eingerichtet ist, stellt der Server die Verbindung zum Spiel über UDP her. Wie kann ich dafür sorgen, dass der Server nur TCP für Gaming-Verbindungen verwendet?

Bearbeiten: Vielleicht eine iptables-Regel, um weitergeleiteten UDP-Verkehr abzulehnen oder TCP zu fördern?

Antwort1

Sie können dies in der Befehlszeile versuchen:

openvpn --proto tcp-client client.ovpn


Alternativ können Sie das Protokoll auf tcp-clientund das Protokoll auf TCP pro Route in Ihrem Profil (falls vorhanden) einstellen. Im folgenden Beispiel würden Sie sicherstellen, dass das proto tcp-clientvorhanden ist, und Sie würden remote 1.2.3.4 1194 udpes auf ändernremote 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

Antwort2

Ihr Titel passt nicht zu Ihrer Frage; Ihr OpenVPN-Tunnel verwendet bereits TCP, aber die getunnelten Daten selbst sindaußerhalb der Kontrolle von OpenVPNund sogar außerhalb Ihrer Kontrolle.

Wenn das Spiel für die Verwendung von UDP geschrieben wurde,Willeverwenden UDP, und was noch wichtiger ist, dieSpieleserverErwarten Sie, dass Clients UDP verwenden. Wenn Sie also die Pakete in TCP konvertieren, bevor sie den VPN-Server verlassen, wissen die Spieleserver nicht, was sie damit tun sollen.

Ihre einzige Möglichkeit besteht im Allgemeinen darin, UDP vollständig zu blockieren. Wenn das Spiel TCP alsAlternative, bleibt ihm nichts anderes übrig, als es zu verwenden. Wenn das Spiel UDP erfordert, funktioniert es überhaupt nicht.

verwandte Informationen