Alterando o tipo de rede de Rede não identificada para Rede privada em uma conexão OpenVPN

22

É possível alterar o tipo de conexão no Windows 7? Eu tenho uma conexão OpenVPN que é identificada como "rede não identificada" e não quero aplicar determinadas regras a todas as redes não identificadas no firewall.

Como se conquista isso?

Filip Ekberg
fonte

Respostas:

18

Você precisa adicionar um gateway padrão para a interface de rede OpenVPN.

A maneira que encontrei é adicionar rota ao endereço de destino 0.0.0.0 via interface de rede usada OpenVPN.

Neste exemplo, eu tenho um computador com a interface física com endereços IP 10.20.20.20 na rede 10.20.20.0/24 e a interface OpenVPN TAP com endereço IP 10.1.1.10/24 na rede 10.1.1.0/24 (endereço IP do servidor em A rede VPN é 10.1.1.1).

1) Descubra suas interfaces de rede e informações sobre a rota atual para 0.0.0.0:

C:\>route print -4
===========================================================================
Interface List
 15...00 ff 6c 3f 5b 0c ......TAP-Win32 Adapter V9
 11...00 0e 0c d9 b5 c8 ......Intel(R) PRO/1000 GT Desktop Adapter
===========================================================================

IPv4 Route table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway        Interface Metric
          0.0.0.0          0.0.0.0       10.20.20.1      10.20.20.20     10
       10.20.20.0    255.255.255.0         On-link       10.20.20.20    266
...

Atualmente, sabemos que o número da sua interface de rede OpenVPN é 15. Outra informação importante é a métrica da rota atual para 0.0.0.0. A nova rota para 0.0.0.0 para a rede OpenVPN deve ter um valor métrico maior que o atual para evitar o redirecionamento de todo o tráfego da rede para sua conexão OpenVPN em vez da rede física (no caso de duas rotas com as mesmas rotas, será escolhida a rota com menor métrica) .

2) Adicione uma rota para 0.0.0.0 através da interface OpenVPN:

route -p add 0.0.0.0 mask 0.0.0.0 10.1.1.1 metric 50 if 15

Este comando adiciona rota para 0.0.0.0 via interface 15 com métrica de pelo menos 50 e gateway 10.1.1.1. Substitua o gateway pelo seu (endereço IP do servidor na rede VPN). E, é claro, substitua o número da interface pelo seu.

O argumento -p adiciona a rota como permanente para que seja preservada após a reinicialização do sistema.

3) (Re) conecte ao servidor VPN e verifique a tabela de rotas novamente:

C:\>route print -4
...
Active Routes:
Network Destination        Netmask          Gateway        Interface Metric
          0.0.0.0          0.0.0.0       10.20.20.1      10.20.20.20     10
          0.0.0.0          0.0.0.0         10.1.1.1        10.1.1.10     80
...

E a rede agora está identificada no Centro de Rede e Compartilhamento, de modo que a janela 'Definir um local ...' deve aparecer ;-)

kalwi
fonte
Essa é a resposta correta.
Jnm2
2
Cuidado, mantenha sua métrica acima das métricas normais da interface! Caso contrário, você deixará seu host offline como eu acabei de fazer.
Linef4ult
11

Não sei por que as soluções acima são tão complicadas, por exemplo, usar

route add -p commands

ou até mesmo adicionar ao arquivo server.conf do OpenVPN

route 0.0.0.0 vpn_subnet_mask default_gateway

O erro pode ser resolvido simplesmente indo para:

Control Panel\Network and Internet\Network Connections

(1) Clique com o botão direito do mouse na interface OpenVPN tun / tap e selecione Status> selecione Detalhes> tome nota da entrada do servidor DHCP IPv4. você precisaria preencher isso como o gateway padrão em (2).

(2) Clique com o botão direito do mouse na interface de ajuste / toque do OpenVPN e selecione Propriedades> abra propriedades TCP / IPv4> clique em Avançado. em gateways padrão, clique em adicionar e digite exatamente a mesma entrada usada como servidor DHCP, métrica 'automática'. Agora aguarde o adaptador aparecer magicamente como privado.

O que você fez exatamente da mesma maneira que as duas soluções acima - adicionando rotas persistentes - mas isso é ainda melhor - ele sobrevive ao reinício, pois está configurado no Windows. Na verdade, você pode fazer o check-in do cmd digitando 'route print' e verá 1 entrada adicionada na tabela de roteamento e 1 entrada em rotas persistentes. Se a métrica da nova rota for menor que a do seu adaptador físico, refaça (2) e altere a métrica de 'automático' para um valor maior que o adaptador físico.

Se o seu gateway (IP do servidor openvpn) for estático, adicioná-lo (2) fará o trabalho.

LJ
fonte
4

Isso funciona bem com algumas conexões VPN, mas digamos que o gateway padrão da sua VPN mude constantemente. Isso significa que, toda vez que você redefine o computador, é necessário usar o comando 'route add' repetidamente. Isso é inaceitável.

Ao pesquisar um problema com o VMware no Windows 7, deparei-me com um dword do registro chamado * NdisDeviceType. O que isso faz é dizer ao Windows para não tentar identificar um adaptador de rede virtual específico. Tudo o que você precisa fazer é entrar no registro e navegar para HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318.

Uma vez lá, procure nas teclas uma string chamada DriverDesccom o valor 'Tap-win'. Essa é a chave que lida com o adaptador virtual que o OpenVPN usa. Em seguida, crie um dword chamado * NdisDeviceType e atribua a ele um valor 1.

Finalmente, reinicie o seu computador. Agora você não deve ver uma rede não identificada. Lembre-se de fazer backup do seu registro antes de tentar esta modificação. Se você estiver usando o OpenVPN e não se sentir à vontade para fazer isso, poderá baixar um script que fará isso para você.

canadianprince
fonte
3

Eu acho que a maneira absolutamente mais simples e melhor de resolver isso é fazer o seguinte:

  1. Abra seu arquivo de configuração do OpenVPN.
  2. Adicione esta linha: route 0.0.0.0 0.0.0.0 vpn_gateway 50(não mude vpn_gateway, é uma variável de ambiente) e salve.
  3. Conectar VPN
  4. Se necessário, continue nas etapas 5 e 6.
  5. Abra a execução (Win + R) e digite secpol.mscir para 'Diretivas do Network List Manager'
  6. Clique com o botão direito do mouse na sua rede VPN e em Propriedades-> Local da rede. Selecione Rede Privada.

Dessa forma, você não precisará se preocupar com o IP do gateway da VPN e também trabalha com gateways VPN dinâmicos.

droidgren
fonte
Você também pode definir a métrica (50) mais alta em uma VPN de túnel dividido para corrigir isso sem interromper a divisão. 500 funcionou para mim
computergeek125
2

Isso funciona, mas é melhor dar um passo adiante, alterando as configurações de IP do adaptador TAP manualmente. Use ipconfigpara descobrir as configurações apropriadas e use o gateway para o servidor DNS.

Atualização : ignore esta etapa - se você fizer isso, seu endereço IP não será mascarado. Não sei por que, mas fiz tudo o que posso para revertê-lo, mas a única maneira é desfazer o que fiz nesta etapa e reiniciar o computador.

Atualização : Um problema que tenho com isso é que configurei o Windows 7 para iniciar a conexão ao inicializar o Windows. Às vezes, quando eu reinicio ou desligo o computador, a rede volta ao desconhecido. A rota ainda estaria na mesa. Uma solução alternativa para isso foi modificar meu arquivo de configuração para o cliente VPN ao qual me conecto. O comando que adicionei foi:

#Dummy default gateway to work around Windows 'unidentified network'/'unknown network' (put a "#" in front of this)
route-metric 30
route 0.0.0.0 0.0.0.0 10.0.0.1.

A métrica é recuperada lendo a tabela de rotas que é exibida com:

route print -4

10.0.0.1 é o gateway ao qual a VPN se conecta. Por exemplo, quando estou conectado à VPN, minha tabela de rotas é mais ou menos assim:

-------------------------------------------------------------------------
IPv4 Route Table
-------------------------------------------------------------------------
Active Routes:
Network Destination      Netmask        Gateway      Interface    Metric
          0.0.0.0        0.0.0.0    192.168.0.1  192.168.0.100        25
          0.0.0.0      128.0.0.0       10.0.0.1     10.0.7.102        30

A primeira entrada é a rota para o meu roteador. O segundo é a conexão VPN. Agora, quando modifico o arquivo de conexão VPN (vpn.ovpn no meu caso), uso o destino da rede e faço a máscara de rede 0.0.0.0 e uso 10.0.0.1 como meu gateway. Percebo então que a métrica está definida como 30 e defina-a como 30 no arquivo de configuração.

Robert Martin
fonte
2

Se você concluiu a adição do gateway padrão ( por meio de comandos ou da GUI do Windows ), ainda poderá precisar de uma maneira de indicar ao Windows que deseja aplicar a designação de Privado ou Domínio à rede. Talvez você tenha rotulado acidentalmente a rede como Pública ou por qualquer motivo que nunca teve a chance de escolher com o prompt "Definir um local ...". Eu corri para esse cenário no Windows 10.

Para definir isso por meio do Registro , navegue até a chave Perfis de rede, em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles. A chave de perfisA partir daqui, a Profileschave contém uma lista de chaves com GUIDs que correspondem a todas as redes que seu computador salvou. Você pode examinar essas chaves GUID e encontrar sua rede, correspondendo ao ProfileNamevalor na chave. A chave ID do perfil e o valor ProfileNameDepois de encontrar a rede correta na Profileschave, você deseja alterar o Categoryvalor da chave de rede.O valor da categoria na chave ID do perfil

Um valor no Categoryvalor de 0indica uma rede pública. Você pode alterar esse valor para 1rotular a rede como Privada ou 2designar a rede como uma rede de Domínio. Para aplicar essa alteração, pode ser necessário reinicializar a conexão de rede.

palswim
fonte
Se precisarmos excluir as imagens por causa da marca d'água "TenForums.com", fique à vontade para editar minha pergunta ou me avise.
palswim
0

Todas as soluções mencionadas acima são na verdade apenas soluções alternativas, mas toda mercadoria / produto tem seus próprios compradores, como se costuma dizer.

O mais simples é excluir a 0.0.0.0rota desconhecida criada e, em seguida, tudo deve voltar ao lugar. Basta executar cmd.exe(como administrador) na linha de comando e digite route delete 0.0.0.0É isso.

Eu não acho que registrar rotas indesejadas e outros tipos de lixo ou apenas fazê-lo vice-versa e fazer um elefante voar rapidamente é uma das melhores idéias ... Boa sorte!

senhor
fonte
0

Na minha máquina com Windows 7, a "Rede não identificada" era o sintoma do problema do OpenVPN, não a causa. No meu caso, a correção é iniciar a GUI do cliente OpenVPN usando privilégios de administrador.

Greg Glockner
fonte