Como você evita que uma VPN exponha seu IP ao se desconectar?

Como você evita que uma VPN exponha seu IP ao se desconectar?

Quero que todas as conexões em uma máquina virtual (windows XP) usem SOMENTE meu servidor OpenVPN, assim que a conexão com o OpenVPN for perdida, quero perder toda a conectividade com a Internet na VM. Naturalmente o Host da VM (Windows 7) nunca se conectará à VPN nem se desconectará da minha internet real.

Tenho certeza de que posso fazer isso com o routecomando do Windows que só permite que minha máquina Windows XP se conecte ao meu servidor OpenVPN, diremos que é1.2.3.4.

Eu segui este guia:http://community.spiceworks.com/how_to/show/1334 mas não consigo nem fazer com que seus exemplos funcionem.

Aqui estão minhas configurações de rota emitindo o comandoroute print

roteamento de conexão pré-openVPN:

===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1   192.168.1.108       30
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.1.0    255.255.255.0    192.168.1.108   192.168.1.108       30
    192.168.1.108  255.255.255.255        127.0.0.1       127.0.0.1       30
    192.168.1.255  255.255.255.255    192.168.1.108   192.168.1.108       30
        224.0.0.0        240.0.0.0    192.168.1.108   192.168.1.108       30
  255.255.255.255  255.255.255.255    192.168.1.108   192.168.1.108       1
  255.255.255.255  255.255.255.255    192.168.1.108               3       1
Default Gateway:       192.168.1.1
===========================================================================
Persistent Routes:
  None

após a conexão OpenVPN (o aviso 1.2.3.4 substituiu meu IP VPN real):

===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0        128.0.0.0         10.8.0.5        10.8.0.6       1
          0.0.0.0          0.0.0.0      192.168.1.1   192.168.1.108       30
         10.8.0.1  255.255.255.255         10.8.0.5        10.8.0.6       1
         10.8.0.4  255.255.255.252         10.8.0.6        10.8.0.6       30
         10.8.0.6  255.255.255.255        127.0.0.1       127.0.0.1       30
   10.255.255.255  255.255.255.255         10.8.0.6        10.8.0.6       30
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
        128.0.0.0        128.0.0.0         10.8.0.5        10.8.0.6       1
          1.2.3.4  255.255.255.255      192.168.1.1   192.168.1.108       1
      192.168.1.0    255.255.255.0    192.168.1.108   192.168.1.108       30
    192.168.1.108  255.255.255.255        127.0.0.1       127.0.0.1       30
    192.168.1.255  255.255.255.255    192.168.1.108   192.168.1.108       30
        224.0.0.0        240.0.0.0         10.8.0.6        10.8.0.6       30
        224.0.0.0        240.0.0.0    192.168.1.108   192.168.1.108       30
  255.255.255.255  255.255.255.255         10.8.0.6        10.8.0.6       1
  255.255.255.255  255.255.255.255    192.168.1.108   192.168.1.108       1
Default Gateway:          10.8.0.5
===========================================================================
Persistent Routes:
  None

Responder1

Depois de algumas tentativas e erros, encontrei uma solução para o meu problema:

Para evitar todas as desconexões acidentais ou aleatórias de uma VPN expondo seu IP real, você deve rotear todos os destinos para passar por um gateway falso, com exceção do seu IP VPN.

Para os especialistas em redes/computadores:

Supondo o seguinte:

Gateway padrão normal:192.168.1.1
IP privado não utilizado:192.168.1.222
IP do servidor OpenVPN:1.2.3.4

Usando cmd:

route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.222 metric 2
route -p add 1.2.3.4 mask 255.255.255.255 192.168.1.1 metric 1

Em seguida, desative o DCHP fornecendo ao adaptador um endereço IP estático e usando o IP privado não utilizado como um gateway padrão falso; bloqueando assim todas as conexões, exceto o seu OpenVPN


Para quem precisa de uma abordagem mais passo a passo:

A primeira coisa que você precisa fazer é abrir o prompt de comando segurando a tecla Windows (o botão logo à direita do Ctrl esquerdo) e pressionar r, uma caixa de diálogo aparecerá. digite "cmd" e pressione Enter.

Uma caixa preta deve aparecer com alguma escrita, chamada de prompt de comando e todos os comandos emitidos daqui em diante serão feitos nesta caixa preta.

A primeira coisa é descobrir que o gateway falso deve estar dentro da interface de rede. Qual é a "interface"? Bem, neste caso é o IP privado que foi atribuído ao computador, o que parece ser 2 opções, dada a minha tabela "pré-OpenVPN" 127.0.0.1ou 192.168.1.108. Eu sei por experiência própria que 127.0.0.1 é um IP de loopback, então ele foi reduzido. No entanto, se eu não soubesse meu endereço IP, poderia clicar em executar a tecla Windows + r, digitar cmd e pressionar OK. Uma caixa preta aparece e digite o comando CMD ipconfige obtenha uma saída como:

Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.1.108
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.1

Lá ele me diz especificamente meu endereço IP e, portanto, "interface" é 192.168.1.108, então meu gateway falso tinha que estar no intervalo 192.168.1.100e 192.168.1.254não pode já estar em uso.

Por exemplo, digamos que eu queira usar o IP 192.168.1.101, para verificar se é útil eu emitiria o comando ping 192.168.1.101e se obtivesse uma resposta como esta:

Pinging 192.168.1.101 with 32 bytes of data:

Reply from 192.168.1.101: bytes=32 time=1ms TTL=64
Reply from 192.168.1.101: bytes=32 time=1ms TTL=64
Reply from 192.168.1.101: bytes=32 time=1ms TTL=64
Reply from 192.168.1.101: bytes=32 time=1ms TTL=64

Ping statistics for 192.168.1.101:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 1ms, Average = 1ms

Isso indicaria que o IP 192.168.1.101está atualmente em uso e eu cannoto uso para meu gateway falso. Então decido tentar o IP 192.168.1.222e emito o mesmo comando ping: ping 192.168.1.222. Se a resposta for a seguinte:

Pinging 192.168.1.222 with 32 bytes of data:
Reply from 192.168.1.100: Destination host unreachable.
Reply from 192.168.1.100: Destination host unreachable.
Reply from 192.168.1.100: Destination host unreachable.
Reply from 192.168.1.100: Destination host unreachable.

Ping statistics for 192.168.1.222:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Então eu teria encontrado com sucesso um IP privado que não está em uso no momento e pode ser usado para meu gateway falso. Para o restante da resposta, usarei 192.168.1.222como meu gateway falso.

A próxima etapa é enviar todas as tentativas de destino para passar pelo nosso gateway falso, e não pelo verdadeiro. Fazemos isso emitindo este comando:

route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.222 metric 2

os 0.0.0.0 mask 0.0.0.0meios "todos os endereços" serão enviados ao gateway 192.168.1.222. A metric 2parte está atribuindo a esta rota uma prioridade de2- isso é importante porque uma prioridade (métrica) de1terá precedência sobre uma prioridade de2.

Atribuir a ele uma métrica de 2 o colocará em uma prioridade mais alta do que o gateway atribuído pelo seu DHCP, que para mim era 30. Isso significa que cada destino tentará passar pelo gateway 192.168.1.222 e não pelo gateway real, essencialmente roteando todas as conexões você tenta chegar a lugar nenhum.

Você pode verificar se fez isso corretamente emitindo o ipconfigcomando novamente:

Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.1.108
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.222
                                            192.168.1.1

Observe que desta vez temos 2 endereços IP listados no gateway padrão, não apenas um. Observe também como nosso gateway falso é listado primeiro (topo) e o gateway real é listado em segundo lugar.

O que isso, por sua vez, significa que também quando tentamos nos conectar ao IP do nosso servidor OpenVPN, neste exemplo 1.2.3.4ele será roteado para o gateway falso (192.168.1.222) e não nos permitirá conectar. Nós não queremos isso. Portanto devemos criar outra rota que tenha prioridade maior (métrica menor) que 2, ou seja, ao conectar ao nosso IP OpenVPN queremos que ele se conecte ao gateway real (192.168.1.1).

A primeira coisa que queremos fazer é confirmar qual é o servidor OpenVPN, podemos fazer isso usando o comando ping novamente. Normalmente, os provedores de VPN fornecem um endereço para us.bestvpn.comconexão. Precisamos descobrir para qual endereço IP esse URL é um alias, o que é melhor feito usando o comando ping, emitimos:

ping us.bestvpn.com

e a resposta deve ser algo como

Pinging us.bestvpn.com [1.2.3.4] with 32 bytes of dataonde o endereço IP entre colchetes é o endereço IP do servidor OpenVPN. Usaremos 1.2.3.4como IP do servidor VPN.

Agora devemos configurá-lo para que este IP seja roteado para o nosso gateway real, fazemos isso emitindo:

route -p add 1.2.3.4 mask 255.255.255.255 192.168.1.1 metric 1

A métrica 1 permitirá que a rota tenha prioridade sobre a métrica 2 que atribuímos à rota do gateway falso. É importante observar que isso mask 255.255.255.255significa o IP exato 1.2.3.4- o que é verdade para o meu caso, mas você pode querer fazer a máscara 255.255.255.0que essencialmente informa que qualquer IP no intervalo de 1.2.3.0será 1.2.3.254roteado para o gateway real. Isso é útil se o seu provedor OpenVPN usar uma variedade de IPs para se conectar a ele.

Agora devemos ser capazes de nos conectar à VPN normalmente e, uma vez conectados, podemos navegar por toda a Internet. Depois de desconectar você vai notar que parece que não está conectando e de repente conecta, com seu ip REAL, o que?! Por que isso aconteceu?

Bem, pelo que entendi, por padrão, quando o DCHP percebe que o gateway não vai a lugar nenhum depois de tantos segundos, ele tentará tentar o gateway secundário, neste caso o seu gateway real.

Para evitar que isso aconteça, você deve desligar o DCHP atribuindo um IP estático, uma máscara de sub-rede e um gateway às suas propriedades da Internet.Um tutorial passo a passo sobre como fazer isso no XP, Vista e 7.

Depois de concluir isso, conecte-se à VPN novamente, verifique se ainda funciona e conecte-se. Tente se conectar a um site e aguarde uns bons 2 a 3 minutos para confirmar que ele não carrega e está tudo pronto.

É assim que você pode evitar que uma desconexão aleatória de VPN exponha seu endereço IP real.

Responder2

Se você está preocupado com vazamentos de DNS e IP no OpenVPN e precisa de uma maneira fácil e automática de evitar vazamentos de IP e DNS ao usar o OpenVPN, confira estas duas ferramentas fáceis oferecidas por www.openvpnchecker.com

  1. Cão de guarda OpenVPN:http://openvpnchecker.com/

  2. Firewall OpenVPN:http://openvpnchecker.com/firewall.htm Editar/excluir mensagem

informação relacionada