¿Cómo evitas que una VPN exponga tu IP cuando se desconecta?

¿Cómo evitas que una VPN exponga tu IP cuando se desconecta?

Quiero que cada conexión en una máquina virtual (Windows XP) SOLO use mi servidor OpenVPN, tan pronto como se pierda la conexión con OpenVPN, quiero perder toda la conectividad a Internet en la VM. Naturalmente, el host de la VM (Windows 7) nunca se conectará a la VPN ni se desconectará de mi Internet real.

Estoy bastante seguro de que puedo hacer esto con el routecomando de Windows que solo permite que mi máquina con Windows XP se conecte a mi servidor OpenVPN, diremos que es1.2.3.4.

Seguí esta guía:http://community.spiceworks.com/how_to/show/1334 pero ni siquiera puedo hacer que sus ejemplos funcionen.

Aquí están mis configuraciones de ruta emitiendo el comandoroute print

enrutamiento de conexión pre-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

después de la conexión OpenVPN (el aviso 1.2.3.4 reemplazó mi 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

Respuesta1

Después de algunas pruebas y errores encontré una solución a mi problema:

Para evitar que todas las desconexiones accidentales o aleatorias de una VPN expongan su IP real, debe enrutar todos los destinos para que pasen por una puerta de enlace falsa, con la excepción de su IP de VPN.

A los expertos en redes/informática:

Suponiendo lo siguiente:

Puerta de enlace predeterminada normal:192.168.1.1
IP privada no utilizada:192.168.1.222
IP del 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

Luego deshabilite DCHP dándole al adaptador una dirección IP estática y usando la IP privada no utilizada como una puerta de enlace predeterminada falsa; bloqueando así todas las conexiones excepto la de tu OpenVPN


Para aquellos que necesitan un enfoque más paso a paso:

Lo primero que deberá hacer es abrir el símbolo del sistema manteniendo presionada la tecla de Windows (el botón justo a la derecha del Ctrl izquierdo) y presione r, aparecerá un cuadro de diálogo. escriba "cmd" y presione enter.

Debería aparecer un cuadro negro con algo de escritura, esto se llama símbolo del sistema y todos los comandos emitidos de aquí en adelante se realizarán en este cuadro negro.

Lo primero es averiguar que la puerta de enlace falsa debe estar dentro de la interfaz de red. ¿Qué es la "interfaz"? Bueno, en este caso es la IP privada que se asignó a la computadora, que parece ser 2 opciones dada mi tabla "pre-OpenVPN" 127.0.0.1o 192.168.1.108. Sé por experiencia que 127.0.0.1 es una IP de bucle invertido, por lo que la redujo. Sin embargo, si no sabía mi dirección IP, podía hacer clic en ejecutar la tecla de Windows + r, escribir cmd y presionar OK. Aparece un cuadro negro, escriba el comando CMD ipconfigy obtenga un resultado 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

Allí me dice específicamente mi dirección IP y, por lo tanto, mi "interfaz" es 192.168.1.108, por lo que mi puerta de enlace falsa tenía que estar en el rango 192.168.1.100de 192.168.1.254y no puede estar ya en uso.

Por ejemplo, digamos que quiero usar la IP 192.168.1.101, para verificar si se usa, emitiría el comando ping 192.168.1.101y si obtengo una respuesta 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

Indicaría que la IP 192.168.1.101está actualmente en uso y cannotla uso para mi puerta de enlace falsa. Entonces decido probar IP 192.168.1.222y emito el mismo comando ping: ping 192.168.1.222. Si la respuesta es la siguiente:

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),

Entonces habría encontrado con éxito una IP privada que actualmente no está en uso y que puedo usar para mi puerta de enlace falsa. Para el resto de la respuesta lo usaré 192.168.1.222como mi puerta de enlace falsa.

El siguiente paso es enviar cada intento de destino a través de nuestra puerta de enlace falsa, y no de la real. Lo hacemos emitiendo este comando:

route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.222 metric 2

los 0.0.0.0 mask 0.0.0.0medios "cada dirección" se enviarán a la puerta de enlace 192.168.1.222. La metric 2parte está asignando a esta ruta una prioridad de2- esto es importante porque una prioridad (métrica) de1tendrá prioridad sobre una prioridad de2.

Darle una métrica de 2 le dará una prioridad más alta que la puerta de enlace asignada por su DHCP, que para mí era 30. Esto significa que cada destino intentará pasar por la puerta de enlace 192.168.1.222 y no por la puerta de enlace real, esencialmente enrutando cada conexión. intentas llegar a ninguna parte.

Puede verificar que hizo esto correctamente emitiendo el ipconfigcomando nuevamente:

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 esta vez tenemos 2 direcciones IP enumeradas en la puerta de enlace predeterminada, no solo una. También observe cómo nuestra puerta de enlace falsa aparece en primer lugar (arriba) y la puerta de enlace real aparece en segundo lugar.

Lo que esto a su vez significa que también cuando intentamos conectarnos a la IP de nuestro servidor OpenVPN, en este ejemplo 1.2.3.4se enrutará a la puerta de enlace falsa (192.168.1.222) y no nos permitirá conectarnos. No queremos eso. Por lo tanto debemos crear otra ruta que tenga una prioridad mayor (métrica menor) que 2, que diga que al conectarnos a nuestra IP OpenVPN queremos que se conecte a la puerta de enlace real (192.168.1.1).

Lo primero que queremos hacer es confirmar cuál es el servidor OpenVPN, podemos hacerlo usando el comando ping nuevamente. Normalmente los proveedores de VPN le darán una dirección a la que us.bestvpn.comconectarse, necesitamos averiguar para qué dirección IP es un alias esta URL, lo cual se hace mejor usando el comando ping, emitimos:

ping us.bestvpn.com

y la respuesta debería ser algo como

Pinging us.bestvpn.com [1.2.3.4] with 32 bytes of datadonde la dirección IP entre paréntesis es la dirección IP del servidor OpenVPN. Usaremos 1.2.3.4como IP del servidor VPN.

Ahora debemos configurarlo para que esta IP sea enrutada a nuestra puerta de enlace real, esto lo hacemos emitiendo:

route -p add 1.2.3.4 mask 255.255.255.255 192.168.1.1 metric 1

La métrica 1 permitirá que la ruta tenga prioridad sobre la métrica 2 que le asignamos a la ruta de puerta de enlace falsa. Es importante tener en cuenta que eso mask 255.255.255.255significa la IP exacta 1.2.3.4, lo cual es cierto en mi caso, pero es posible que desee crear la máscara 255.255.255.0que esencialmente le indique que cualquier IP en el rango de 1.2.3.0se 1.2.3.254enrutará a la puerta de enlace real. Esto es útil si su proveedor de OpenVPN utiliza una variedad de IP para conectarse.

Ahora deberíamos poder conectarnos a la VPN como de costumbre y luego, una vez conectados, podremos navegar por todo Internet. Una vez que te desconectas notarás que parece que no se conecta y de repente lo hace, con tu ip REAL, ¡¿qué?! ¿Por qué hizo esto?

Bueno, tengo entendido que, de forma predeterminada, cuando DCHP se da cuenta de que la puerta de enlace no va a ninguna parte después de tantos segundos, intentará probar la puerta de enlace secundaria, en este caso su puerta de enlace real.

Para evitar que esto suceda, debe desactivar DCHP asignando una IP estática, una máscara de subred y una puerta de enlace a sus propiedades de Internet.Un tutorial ilustrado paso a paso sobre cómo hacerlo en XP, Vista y 7.

Una vez que haya completado eso, conéctese a la VPN nuevamente, verifique que aún funcione y luego conéctese. Intente conectarse a un sitio y espere unos buenos 2 o 3 minutos para confirmar que no se carga y que está todo listo.

Así es como puedes evitar que una desconexión aleatoria de VPN exponga tu dirección IP real.

Respuesta2

Si le preocupan las fugas de DNS e IP en OpenVPN y necesita una manera fácil y automática de evitar fugas de IP y DNS mientras usa OpenVPN, consulte estas dos sencillas herramientas que ofrece www.openvpnchecker.com

  1. Perro guardián de OpenVPN:http://openvpnchecker.com/

  2. Cortafuegos OpenVPN:http://openvpnchecker.com/firewall.htm Editar/eliminar mensaje

información relacionada