Probleme beim Spielen mit OpenVPN, die Broadcast-Pakete verwenden. Andere Spiele funktionieren, Hosts können sich gegenseitig anpingen

12

Ich verwende einen OpenVPN-Server im Bridged-Modus und Clients können erfolgreich eine Verbindung herstellen, einen freigegebenen Ordner anzeigen und LAN-Spiele spielen, mit denen Sie die LAN-IP-Adresse eingeben können. Ich kann jedoch keine Spiele wie Sacred Underworld spielen, weil es Broadcast-Pakete sendet. Das Spiel wird nicht einmal in der Liste der Spiele auf dem Client-Computer angezeigt.

Ich bin neu bei OpenVPN, aber ich denke, dies kann mit einem der beiden folgenden Probleme zusammenhängen:

  1. Möglicherweise benötige ich eine Route, damit die Broadcast-Pakete korrekt verarbeitet werden können (obwohl ich nicht sicher bin, wie ich sie einrichten soll).

  2. Mein VPN läuft in einem anderen Subnetz als mein Router. Dh mein Heimnetzwerk ist 192.168.1.xxund mein VPN verwendet so etwas wie 10.0.0.xx. Ist es möglich, dass ich mein VPN dazu bringen muss, dasselbe Subnetz wie mein tatsächliches Netzwerk (dh 192.168.1.xx) zu nutzen? Wenn ja, wie kann ich das einrichten?

Codierer
quelle
Können Sie auswählen, welche Netzwerkschnittstelle im Spiel verwendet wird? Es hört sich so an, als würde das Spiel standardmäßig die kabelgebundene Schnittstelle verwenden. Stattdessen benötigen Sie diese, um die VPN-Schnittstelle zu verwenden.
Zoredache

Antworten:

11

Zu Frage 1:

LAN-Spiele, die UDP-Broadcasts verwenden, wählen normalerweise die Netzwerkschnittstelle aus, die die niedrigste Metrik für ihre Broadcast-Route (dh IP 255.255.255.255) verwendet. Höchstwahrscheinlich hat Ihre Standardnetzwerkschnittstelle (z. B. Ihre Netzwerkkarte) die niedrigste Metrik, sodass die Spiele z. B. in Ihrem 192.168.1.0/24LAN anstelle des VPN übertragen werden. Sie können Ihre Routentabelle unter route -vnLinux oder route printWindows überprüfen .

Gehen Sie auf allen OpenVPN-Clients ( nicht auf dem Server) wie folgt vor, um Broadcasts auf Ihrem VPN zu erhalten :

Fügen Sie 255.255.255.255/32Ihrer OpenVPN-Schnittstelle eine neue Broadcast-Route ( ) hinzu, deren Metrik niedriger ist als die, die Ihre Standard-Netzwerkschnittstelle verwendet. Wenn eine solche Route bereits auf Ihrer OpenVPN-Schnittstelle vorhanden ist, ändern Sie einfach die Metrik in die niedrigste.

In Windows ist die Broadcast-Route bereits vorhanden, sodass Sie die globale Schnittstellenmetrik einfach wie folgt ändern können:

netsh int ip set int <name_of_your_openvpn_connection> metric=5

Dadurch wird die OpenVPN-Schnittstelle priorisiert, wenn eine Verbindung hergestellt wird. Wenn Sie Probleme beim Einstellen der Metrik zu haben scheinen, deaktivieren Sie die Option Automatische Metrik für die Schnittstelle.

Unter Linux müssen Sie wahrscheinlich nur die entsprechende Route hinzufügen (ggf. eine Metrik hinzufügen):

route add -host 255.255.255.255/32 <your_openvpn_device>

Dadurch werden Spiele wie WarCraft III oder Anno 1404 an das VPN anstatt an das lokale LAN gesendet (erfolgreich mit einem Debian OpenVPN-Server und mehreren Windows 7-Clients getestet).


Zu Frage 2:

Es gibt viele von Tutorials (auch Helfer - Skripte ) zur Verfügung, wie Ethernet - Setup in OpenVPN überbrücken.

Beachten Sie, dass Sie überhaupt keine Ethernet-Überbrückung benötigen, wenn Sie nur LAN-Spiele über OpenVPN spielen möchten. Es reicht aus, OpenVPN mit Tap-Geräten zu verwenden, z. B. um auch Broadcasts oder Protokolle wie IPX zu verarbeiten, die für alte Spiele benötigt werden.

speakr
quelle
1
Genial! Der erste Teil Ihrer Antwort hat alle unsere Probleme gelöst. Obwohl ich nicht verstand, was genau ich tat. route printgab mir eine Metrik von 286, während Ihr Befehl sie in 261 änderte. Wie stimmt dies mit Metrik = 5 überein?
AmShaegar
2
Die Metrik wird verwendet, um Routen zu priorisieren, wenn eine ähnliche Route vorhanden ist. Ich weiß nicht genau, warum Windows den angegebenen Wert für die Metrik nicht annimmt, aber ich habe festgestellt, dass durch die Verwendung einer niedrigen Metrik wie beispielsweise metric=5eine Route mit der niedrigsten Metrik erstellt wird, wenn andere ähnliche Routen vorhanden sind. Daher wird die neue Route für UPD-Sendungen priorisiert.
Speakr
netsh int ip set int MyTap metric=5hat keine Auswirkungen auf Windows 7 32-Bit. route printzeigt immer noch die alte Metrik 265
Alex G
@AlexG Haben Sie versucht, niedrigere Werte einzustellen? Ich habe auch einen Link zur Option " Automatische Metrik " für Netzwerkschnittstellen in Windows hinzugefügt. Möglicherweise hilft das Deaktivieren. Außerdem denke ich nicht, dass Sie meine Antwort bereits ablehnen sollten, wenn wir nicht einmal das Problem diskutieren könnten, das Sie anscheinend mit Win7 x86 haben.
Speakr
@speakr Ich habe alle möglichen Möglichkeiten ausprobiert, einschließlich der Deaktivierung der automatischen Metrik in allen Schnittstellen.
Alex G
-1

Es gibt zwei Metriken, die Schnittstellenmetrik und die Gateway-Metrik. Für IPv4 ist die reale Metrik die Summe von beiden.

Einer oder beide können als automatisch konfiguriert werden. Wenn Sie einen genauen Wert wünschen, müssen Sie beide angeben.

Sie können dies mit der Maus tun und die erweiterten Eigenschaften des IPv4-Schnittstellenprotokolls konfigurieren.

Antonio
quelle