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 route
comando 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.1
o 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 ipconfig
y 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.100
de 192.168.1.254
y 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.101
y 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.101
está actualmente en uso y cannot
la uso para mi puerta de enlace falsa. Entonces decido probar IP 192.168.1.222
y 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.222
como 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.0
medios "cada dirección" se enviarán a la puerta de enlace 192.168.1.222
. La metric 2
parte 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 ipconfig
comando 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.4
se 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.com
conectarse, 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 data
donde la dirección IP entre paréntesis es la dirección IP del servidor OpenVPN. Usaremos 1.2.3.4
como 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.255
significa 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.0
que esencialmente le indique que cualquier IP en el rango de 1.2.3.0
se 1.2.3.254
enrutará 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
Perro guardián de OpenVPN:http://openvpnchecker.com/
Cortafuegos OpenVPN:http://openvpnchecker.com/firewall.htm Editar/eliminar mensaje