Esta es una pregunta canónica sobre la resolución de conflictos de subred IPv4 entre la red local de un cliente VPN y una a través del enlace VPN de esta.
Después de conectarse a una ubicación remota a través de OpenVPN, los clientes intentan acceder a un servidor en una red que existe en una subred como 192.0.2.0/24. Sin embargo, a veces, la red en la LAN del cliente tiene la misma dirección de subred: 192.0.2.0/24. Los clientes no pueden conectarse al servidor remoto escribiendo su IP debido a este conflicto. Ni siquiera pueden acceder a Internet público mientras están conectados a la VPN.
El problema es que esta subred 192.0.2.0/24 necesita ser enrutada por la VPN, pero también debe enrutarse como la LAN del cliente.
¿Alguien sabe cómo mitigar este problema? Tengo acceso al servidor OpenVPN.
Respuestas:
Es posible resolver esto usando NAT; Simplemente no es muy elegante.
Entonces, bajo el supuesto de que no podría resolver esto teniendo redes internas que tengan números de red tan poco comunes como para nunca entrar en conflicto, este es el principio:
Como tanto la subred local como la remota tienen números de red idénticos, el tráfico de su cliente nunca se dará cuenta de que tiene que pasar por la puerta de enlace del túnel para llegar a su destino. E incluso si imaginamos que podría, la situación sería la misma para el host remoto que está a punto de enviar una respuesta.
Así que quédate conmigo y finge que, hasta el momento, no hay problemas secundarios mientras escribo que para una conectividad completa, necesitarías NAT en ambos extremos dentro del túnel para diferenciar los hosts y permitir el enrutamiento.
Haciendo algunas redes aquí:
Entonces, dentro del túnel VPN, los hosts de la oficina ahora son 198.51.100.xy los hosts de la oficina remota son 203.0.113.x. Supongamos, además, que todos los hosts están mapeados 1: 1 en el NAT de sus respectivas puertas de enlace VPN. Un ejemplo:
Entonces, cuando el host 192.0.2.5/24 en la oficina remota desea conectarse al host con la misma ip en la red de la oficina, debe hacerlo utilizando la dirección 198.51.100.5/24 como destino. Sucede lo siguiente:
Entonces, si bien hay una solución, hay una serie de problemas que deben abordarse para que esto funcione en la práctica:
Entonces resolver esto necesita un diseño cuidadoso. Si su oficina remota realmente consiste en guerreros de la carretera, agrega una capa de problemas en eso:
Dependiendo de su cliente VPN, puede seleccionar automáticamente una VPN u otra dependiendo de la dirección de red del segmento local.
Observe que toda mención de NAT en este contexto denota una función NAT que, por así decirlo, tiene lugar dentro de la perspectiva del túnel. En el proceso, la asignación de NAT estática se debe realizar antes de que el paquete "ingrese" al túnel, es decir, antes de que se encapsule en el paquete de transporte que lo llevará a través de Internet a la otra puerta de enlace VPN.
Esto significa que uno no debe confundir las direcciones IP públicas de las puertas de enlace VPN (y que en la práctica también pueden ser NAT: ed, pero luego totalmente fuera de la perspectiva del transporte al sitio remoto a través de VPN) con las direcciones privadas únicas utilizadas como enmascarados para las direcciones privadas duplicadas. Si esta abstracción es difícil de imaginar, aquí se hace una ilustración de cómo NAT puede separarse físicamente de la puerta de enlace VPN:
Usar NAT en redes superpuestas .
Condensar la misma imagen a una separación lógica dentro de una máquina, capaz de realizar la funcionalidad de puerta de enlace NAT y VPN, es simplemente llevar el mismo ejemplo un paso más allá, pero pone mayor énfasis en las capacidades del software en cuestión. Hackearlo junto con, por ejemplo, OpenVPN e iptables y publicar la solución aquí sería un desafío digno.
Por software, ciertamente es posible:
PIX / ASA 7.xy posterior: VPN IPsec LAN a LAN con ejemplo de configuración de redes superpuestas
y:
Configuración de un túnel IPSec entre enrutadores con subredes LAN duplicadas
La implementación real, por lo tanto, depende de muchos factores, los sistemas operativos involucrados, el software asociado y sus posibilidades, como mínimo. Pero ciertamente es factible. Tendría que pensar y experimentar un poco.
Aprendí esto de Cisco como lo ven los enlaces.
fuente
Si necesita una solución temporal sucia para un único servidor o un puñado de servidores conocidos, la solución más simple debería ser la opción de enrutamiento estático del lado del cliente.
En mi caso, agregué mi servidor de destino deseado (192.168.1.100) a mi tabla de enrutamiento en mi cliente Linux a través de:
Luego, elimine esta ruta estática con el comando de eliminación de ruta.
fuente
dev tun0
que necesita-interface tun0
Sí, esto es lo peor. para mí sucedió todo el tiempo desde habitaciones de hotel, antes de que los administradores de VPN se dieran cuenta de que deberían usar rangos de IP más oscuros. 10.0.0.0/24 y 10.1.1.1/24 son los peores. si puede ayudarlo, nunca use una red inalámbrica como esa.
por lo tanto, la respuesta es "arreglar" el wap para usar una red interna diferente (es decir, 10.255.255.0/24) y luego darle un contrato de arrendamiento diferencial (es decir, ip en un rango que puede enrutar de nuevo a corp vpn), o si no tiene / no puedo obtener administrador en wap, solo ve a starbucks. o 20 minutos de Wardriving :)
si esto es solo en una configuración de laboratorio, solo use diferentes rangos.
fuente
Estoy en una Mac con El Capitan. Si bien las sugerencias anteriores no funcionaron para mí, me llevaron a una solución que funciona:
ifconfig
Inicie la VPN, haga
ifconfig
y observe cuál es la nueva interfaz. En mi caso, era ppp0 con una dirección IP de 192.168.42.74escribir:
Primero probé con a
ping
y luego probé que funcionaba accediendo al servidor git.Cuando intenté usar dev ppp0 para el final del comando de ruta como se mencionó anteriormente, se quejó.
fuente
192.168.1.79
viene este intercambio?Tengo una solución simple que estoy usando en un espacio de trabajo compartido que tiene un rango de IP en conflicto (10.x)
Me conecté a la red con mi teléfono móvil, luego compartí la conexión de red a través de Bluetooth con mi computadora portátil. Ahora puedo usar la VPN para mi empleador remoto.
Estoy seguro de que esto funcionará igual a través de USB si necesita una conexión más rápida.
fuente
Si solo necesita presionar algunas de una o dos direcciones IP, agregue la declaración de ruta a su archivo de configuración ovpn de esta manera:
ruta 192.168.1.10 255.255.255.255
ruta 192.168.1.11 255.255.255.255
Agregará una ruta solo para esos IP cuando conecte su VPN y la eliminará cuando se desconecte.
Trabajó para mí en Windows de todos modos.
fuente
La respuesta de Aydin K. es para Linux. Si desea la misma funcionalidad para Windows, puede escribir
o
puede obtener la identificación de la interfaz con el comando:
fuente
Solo como recordatorio: ¡todo este problema se debe a años de escasez de direcciones IPv4 y al uso extensivo del rango de IP privado detrás de NAT para solucionar esta escasez!
La solución ideal y definitiva para este problema es bastante sencilla (aunque puede, y lo hará, lleva un tiempo desplegarse globalmente): IPv6 ...
En un mundo IPv6, no hay escasez pública de IP (y no habrá un evento en unas pocas décadas). Por lo tanto, no hay razón para no tener una IP pública en todos y cada uno de los dispositivos de cada red. Y si necesita aislamiento de red, siga filtrando con un firewall, pero sin NAT feo ...
fuente