Problema ao jogar jogos usando o OpenVPN que usa pacotes de transmissão. Outros jogos funcionam, os hosts podem executar ping um no outro


12

Estou executando um servidor OpenVPN no modo de ponte e os clientes podem se conectar com êxito, ver a pasta compartilhada e jogar jogos da LAN que permitem inserir o endereço IP da LAN. No entanto, sou incapaz de jogar jogos como o Sacred Underworld, acredito, porque ele envia pacotes de transmissão. O jogo nem aparece na lista de jogos na máquina cliente.

Eu sou novo no OpenVPN, mas acho que isso pode estar relacionado a um dos dois problemas a seguir:

  1. Talvez eu precise de uma rota de algum tipo para permitir que os pacotes de transmissão sejam manipulados corretamente (embora não tenha certeza de como configurar isso)

  2. Minha VPN é executada em uma sub-rede diferente do meu roteador. Ou seja, minha rede doméstica é 192.168.1.xxe minha VPN usa algo parecido 10.0.0.xx. É possível que eu precise que minha VPN compartilhe a mesma sub-rede da minha rede atual (ou seja 192.168.1.xx)? Se sim, como posso configurar isso?


Você é capaz de selecionar qual interface de rede é usada no jogo? Parece que o jogo está por padrão na interface com fio, e você precisa usar a interface VPN.
Zoredache

Respostas:


11

Em relação à pergunta 1:

Os jogos da LAN que usam transmissões (UDP) geralmente escolhem a interface de rede que usa a métrica mais baixa para sua rota de transmissão (ou seja, ip 255.255.255.255). Provavelmente, sua interface de rede padrão (por exemplo, sua NIC) possui a métrica mais baixa, de modo que os jogos transmitem, por exemplo, na sua 192.168.1.0/24LAN em vez da VPN. Você pode verificar sua tabela de rotas route -vnno Linux ou route printno Windows.

Para obter transmissões na sua VPN, faça o seguinte em todos os clientes OpenVPN ( não no servidor):

Adicione uma nova rota de transmissão ( 255.255.255.255/32) à sua interface OpenVPN com uma métrica mais baixa que a que sua interface de rede padrão usa. Se já existe uma rota na sua interface do OpenVPN, basta alterar a métrica para ser a mais baixa.

No Windows, a rota de transmissão já existe para que você possa alterar a métrica da interface global como esta:

netsh int ip set int <name_of_your_openvpn_connection> metric=5

Isso priorizará a interface OpenVPN se uma conexão for estabelecida. Se você tiver problemas para definir a métrica, tente desativar a opção Métrica automática para a interface.

No Linux, você provavelmente só precisa adicionar a rota correspondente (adicione uma métrica, se necessário):

route add -host 255.255.255.255/32 <your_openvpn_device>

Isso fará com que jogos como WarCraft III ou Anno 1404 sejam transmitidos para a VPN em vez de para a LAN local (testada com sucesso com um servidor Debian OpenVPN e vários clientes Windows 7).


Em relação à pergunta 2:

uma abundância de tutoriais (também scripts auxiliares ) disponíveis sobre como configurar ethernet de transição no OpenVPN.

Observe que você não precisa de nenhuma ponte ethernet se quiser jogar jogos de LAN através do OpenVPN. É suficiente usar o OpenVPN com dispositivos de toque, por exemplo, para também lidar com transmissões ou protocolos como IPX, necessários para jogos antigos.


1
Impressionante! A primeira parte da sua resposta resolveu todos os nossos problemas. Embora eu não entendesse exatamente o que estava fazendo. route printme deu uma métrica de 286 enquanto seu comando a alterou para 261. Como isso coincide com a métrica = 5?
AmShaegar

2
A métrica é usada para priorizar rotas quando existir uma rota semelhante. Não sei exatamente por que o Windows não aceita o valor fornecido para a métrica, mas notei que o uso de uma métrica baixa metric=5cria uma rota com a menor métrica se existirem outras rotas semelhantes. Portanto, a nova rota será priorizada para transmissões da UPD.
Speakr

netsh int ip set int MyTap metric=5não tem nenhum efeito para o Windows 7 de 32 bits. route printainda mostra a antiga métrica 265
Alex G

@AlexG Você tentou definir valores mais baixos? Também adicionei um link sobre a opção Métrica Automática para interfaces de rede no Windows, talvez desabilitar isso ajude. Além disso, acho que você já não deve votar na minha resposta se não pudermos discutir o problema que você parece ter com o Win7 x86.
speakr 12/09/17

@speakr Tentei de todas as maneiras possíveis, incluindo a desativação da métrica automática em todas as interfaces.
Alex G

-1

Existem duas métricas, a métrica da interface e a métrica do gateway. Para IPv4, a métrica real é a soma de ambos.

Um ou ambos podem ser configurados como automáticos. Se você deseja um valor exato, deve especificar ambos.

Você pode fazer isso com o mouse, configurando as propriedades avançadas do protocolo IPv4 da interface.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.