Problema al jugar juegos usando OpenVPN que usan paquetes de transmisión. Otros juegos funcionan, los hosts pueden hacer ping entre sí

12

Estoy ejecutando un servidor OpenVPN en modo puente y los clientes pueden conectarse con éxito, ver la carpeta compartida y jugar juegos de LAN que le permiten ingresar la dirección IP de LAN. Sin embargo, no puedo jugar juegos como Sacred Underworld, creo, porque envía paquetes de transmisión. El juego ni siquiera aparece en la lista de juegos en la máquina cliente.

Soy nuevo en OpenVPN pero creo que esto puede estar relacionado con cualquiera de los siguientes dos problemas:

  1. Es posible que necesite una ruta de algún tipo para permitir que los paquetes de difusión se manejen correctamente (aunque no estoy seguro de cómo configurarlo)

  2. Mi VPN se ejecuta en una subred diferente a mi enrutador. Es decir, mi red doméstica es 192.168.1.xxy mi VPN usa algo como 10.0.0.xx. ¿Es posible que necesite que mi VPN comparta la misma subred que mi red real (es decir 192.168.1.xx)? Si es así, ¿cómo puedo configurar esto?

Descifrador
fuente
¿Eres capaz de seleccionar qué interfaz de red se usa en el juego? Parece que el juego está predeterminado en la interfaz con cable, y en su lugar lo necesitas para usar la interfaz VPN.
Zoredache

Respuestas:

11

Con respecto a la pregunta 1:

Los juegos LAN que usan transmisiones (UDP) generalmente eligen la interfaz de red que usa la métrica más baja para su ruta de transmisión (es decir, ip 255.255.255.255). Lo más probable es que su interfaz de red predeterminada (por ejemplo, su NIC) tenga la métrica más baja para que los juegos se transmitan, por ejemplo, en su 192.168.1.0/24LAN en lugar de la VPN. Puede consultar su tabla de rutas con route -vnLinux o route printWindows.

Para obtener transmisiones en su VPN, haga lo siguiente en todos los clientes OpenVPN ( no en el servidor):

Agregue una nueva ruta de transmisión ( 255.255.255.255/32) en su interfaz OpenVPN con una métrica más baja que la que usa su interfaz de red predeterminada. Si tal ruta ya existe en su interfaz OpenVPN, simplemente cambie la métrica para que sea la más baja.

En Windows, la ruta de transmisión ya existe, por lo que puede cambiar la métrica de la interfaz global de esta manera:

netsh int ip set int <name_of_your_openvpn_connection> metric=5

Esto priorizará la interfaz OpenVPN si se establece una conexión. Si parece tener problemas para configurar la métrica, intente deshabilitar la opción Métrica automática para la interfaz.

En Linux, probablemente solo necesite agregar la ruta correspondiente (agregue una métrica si es necesario):

route add -host 255.255.255.255/32 <your_openvpn_device>

Esto hará que juegos como WarCraft III o Anno 1404 se transmitan a la VPN en lugar de a la LAN local (probado con éxito con un servidor Debian OpenVPN y varios clientes de Windows 7).


Con respecto a la pregunta 2:

Hay un montón de tutoriales (también scripts de ayuda ) disponibles sobre cómo configurar Ethernet puente en OpenVPN.

Tenga en cuenta que no necesita ningún puente de Ethernet en absoluto si solo desea poder jugar juegos LAN a través de OpenVPN. Es suficiente usar OpenVPN con dispositivos táctiles, por ejemplo, también para manejar transmisiones o protocolos como IPX que se necesitan para juegos antiguos.

hablador
fuente
1
¡Increíble! La primera parte de su respuesta resolvió todos nuestros problemas. Aunque no entendí exactamente qué estaba haciendo. route printme dio una métrica de 286 mientras su comando la cambió a 261. ¿Cómo coincide esto con métrica = 5?
AmShaegar
2
La métrica se utiliza para priorizar rutas cuando existen rutas similares. No sé exactamente por qué Windows no toma el valor dado para la métrica, pero noté que usar una métrica baja como metric=5crea una ruta que tiene la métrica más baja si existen otras rutas similares. Por lo tanto, la nueva ruta tendrá prioridad para las transmisiones UPD.
hablante
netsh int ip set int MyTap metric=5no tiene ningún efecto para Windows 7 de 32 bits. route printtodavía muestra la antigua métrica 265
Alex G
@AlexG ¿Intentó establecer valores más bajos? También agregué un enlace con respecto a la opción Métrica automática para las interfaces de red en Windows, tal vez deshabilitar eso ayuda. Además, no creo que ya debas rechazar mi respuesta si ni siquiera pudiéramos discutir el problema que pareces tener con Win7 x86.
hablante
@speakr Intenté todas las formas posibles, incluida la desactivación de la métrica automática en todas las interfaces.
Alex G
-1

Hay dos métricas, la métrica de la interfaz y la métrica de la puerta de enlace. Para IPv4, la métrica real es la suma de ambos.

Uno o ambos pueden configurarse como automáticos. Si desea un valor exacto, debe especificar ambos.

Puede hacerlo con el mouse, configurando las propiedades avanzadas del protocolo de interfaz IPv4.

Antonio
fuente