Problemi con i giochi che utilizzano OpenVPN che utilizzano pacchetti di trasmissione. Altri giochi funzionano, gli host possono scambiarsi il ping


12

Sto eseguendo un server OpenVPN in modalità bridge e i client possono connettersi correttamente, vedere la cartella condivisa e giocare a giochi LAN che ti consentono di inserire l'indirizzo IP LAN. Tuttavia, non riesco a giocare a giochi come Sacred Underworld, credo perché invia pacchetti di trasmissione. Il gioco non compare nemmeno nell'elenco dei giochi sul computer client.

Sono nuovo di OpenVPN ma penso che questo possa essere correlato a uno dei seguenti due problemi:

  1. Potrei aver bisogno di un percorso di qualche tipo per consentire la gestione corretta dei pacchetti di trasmissione (anche se non sono sicuro di come configurarlo)

  2. La mia VPN funziona su una sottorete diversa rispetto al mio router. Cioè la mia rete domestica è 192.168.1.xxe la mia VPN utilizza qualcosa di simile 10.0.0.xx. È possibile che sia necessario che la mia VPN condivida la stessa sottorete della mia rete effettiva (ad es. 192.168.1.xx)? In tal caso, come posso impostarlo?


Sei in grado di selezionare quale interfaccia di rete viene utilizzata nel gioco? Sembra che il gioco abbia come impostazione predefinita l'interfaccia cablata e invece è necessario che utilizzi l'interfaccia VPN.
Zoredache,

Risposte:


11

Per quanto riguarda la domanda 1:

I giochi LAN che utilizzano le trasmissioni (UDP) in genere scelgono l'interfaccia di rete che utilizza la metrica più bassa per la sua route di trasmissione (ad es. Ip 255.255.255.255). Molto probabilmente la tua interfaccia di rete predefinita (ad es. La tua scheda di rete) ha la metrica più bassa, quindi i giochi trasmettono ad es. Sulla tua 192.168.1.0/24LAN invece che sulla VPN. Puoi controllare la tabella dei percorsi con route -vnsu Linux o route printsu Windows.

Per ottenere trasmissioni sulla tua VPN, procedi come segue su tutti i client OpenVPN ( non sul server):

Aggiungi una nuova route di trasmissione ( 255.255.255.255/32) sulla tua interfaccia OpenVPN con una metrica inferiore a quella utilizzata dall'interfaccia di rete predefinita. Se esiste già un percorso simile sull'interfaccia OpenVPN, modifica semplicemente la metrica in modo che sia la più bassa.

In Windows il percorso di trasmissione esiste già, quindi puoi semplicemente modificare la metrica dell'interfaccia globale in questo modo:

netsh int ip set int <name_of_your_openvpn_connection> metric=5

Ciò darà la priorità all'interfaccia OpenVPN se viene stabilita una connessione. Se si riscontrano problemi nell'impostazione della metrica, provare a disabilitare l' opzione Metrica automatica per l'interfaccia.

In Linux probabilmente devi solo aggiungere il percorso corrispondente (aggiungi una metrica se necessario):

route add -host 255.255.255.255/32 <your_openvpn_device>

In questo modo giochi come WarCraft III o Anno 1404 verranno trasmessi alla VPN anziché alla LAN locale (testato con successo con un server Debian OpenVPN e diversi client Windows 7).


Per quanto riguarda la domanda 2:

Ci sono un sacco di tutorial (anche script helper ) disponibili su come impostare ethernet bridging in OpenVPN.

Nota che non hai bisogno di alcun ponte ethernet se vuoi solo essere in grado di giocare a giochi LAN su OpenVPN. È sufficiente utilizzare OpenVPN con i dispositivi di tocco, ad esempio per gestire anche trasmissioni o protocolli come IPX necessari per i vecchi giochi.


1
Eccezionale! La prima parte della tua risposta ha risolto tutti i nostri problemi. Sebbene non capissi esattamente cosa stavo facendo. route printmi ha dato una metrica di 286 mentre il tuo comando l'ha cambiata in 261. Come è possibile concordare con metric = 5?
AmShaegar,

2
La metrica viene utilizzata per assegnare priorità ai percorsi quando esiste un percorso simile. Non so esattamente perché Windows non prenda il valore dato per la metrica, ma ho notato che l'uso di una metrica bassa come metric=5crea una route con la metrica più bassa se esistono altre route simili. Pertanto, la nuova rotta avrà la priorità per le trasmissioni UPD.
speakr

netsh int ip set int MyTap metric=5non ha alcun effetto per Windows 7 a 32 bit. route printmostra ancora la vecchia metrica 265
Alex G

@AlexG Hai provato a impostare valori più bassi? Ho anche aggiunto un collegamento relativo all'opzione Metrica automatica per le interfacce di rete in Windows, forse disabilitando ciò aiuta. Inoltre, non penso che dovresti già sottovalutare la mia risposta se non potessimo nemmeno discutere del problema che sembra avere con Win7 x86.
speakr,

@speakr Ho provato tutti i modi possibili, inclusa la disabilitazione della metrica automatica in tutte le interfacce.
Alex G,

-1

Esistono due metriche, la metrica dell'interfaccia e la metrica del gateway. Per IPv4, la vera metrica è la somma di entrambi.

Uno o entrambi possono essere configurati come automatici. Se si desidera un valore esatto, è necessario specificare entrambi.

Puoi farlo con il mouse, configurando le proprietà avanzate del protocollo IPv4 dell'interfaccia.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.