Enrutamiento VPN para hosts con múltiples direcciones IP [cerrado]

7

Yo uso Mikrotik RouterOS como enrutador NAT. Algunos hosts detrás del enrutador también tienen una conexión directa a Internet y estos hosts tienen una ruta predeterminada a la puerta de enlace del ISP en lugar de RouterOS. Configuré un servidor OpenVPN en modo tun en uno de estos hosts con IP pública. El problema es que los clientes VPN no pueden comunicarse con hosts que tienen una IP pública porque tienen una ruta predeterminada al ISP. Puedo poner una ruta estática en RouterOS pero no tengo control sobre el enrutador de mi ISP. Por lo tanto, los paquetes enviados al cliente VPN se envían al enlace WAN en lugar del servidor VPN. ¿Que opciones tengo?

grupo DHCP privado 172.16.10.0/24, puerta de enlace 172.16.10.1 (RouterOS)

OpenVPN pool 172.16.11.0/24

  1. modo tap, mucha sobrecarga
  2. modo tun, grupo VPN dentro del grupo DHCP y servidor proxy-ARP OpenVPN para el grupo VPN en la LAN
  3. modo tun, agregue una ruta estática para el grupo OpenVPN en cada host con una IP pública. Esto no escala bien, demasiado trabajo en un entorno mixto
  4. IPv6. El problema es que muchas aplicaciones de Windows (por ejemplo, productos VMware) tienen poca compatibilidad con IPv6. Todos los hosts tienen conectividad IPv6, pero los clientes VPN pueden tener dificultades para obtener IPv6.

Sé que probablemente debería poner todo detrás del firewall. Lo haré después de obtener un Juniper SRX. No tengo suficientes IP públicas para cada host. Y RouterOS / pfSense no es adecuado para un entorno con IP públicas / privadas mixtas. Tengo que admitir que este es un mal diseño para empezar, ¿alguna ruta de migración sin romper el banco? No es producción, solo una red doméstica un poco complicada.

Agradezco tu aporte.

Edit1 (Respuesta a la respuesta de JelmerS): Esto es factible pero no escala realmente bien como mencioné en OP. En el entorno tengo diferentes sabores de BSD, Linux, Windows y dispositivos independientes sin shell (por ejemplo, impresora, dispositivos de monitoreo de red, teléfono). Probaré la opción 33 y la opción 121 de DHCP, no estoy seguro de qué tan bien son compatibles con diferentes dispositivos.

Edit2 (Respuesta a la respuesta de Joseph Drane): 1. Actualmente los hosts con una IP pública tienen un enlace a RouterOS LAN y otro enlace al ISP (omitir RouterOS)

  1. ¿Hay alguna justificación para hacer NAT estática? Parece innecesario (penalización de alto rendimiento)

  2. El firewall que estoy buscando puede funcionar bien en modo transparente. DHCP / NAT puede ser totalmente realizado por otra caja. Pero la mayoría de los firewalls que he usado no son compatibles / funcionan bien en modo transparente y son difíciles de solucionar (falta de visibilidad)

Edit3: RouterOS se ejecuta dentro de ESXi. Hay otros sistemas operativos invitados. El entorno se mezcla con hosts físicos / virtuales. Tengo suficientes interfaces NIC en la caja ESXi. Quiero la flexibilidad para permitir que los hosts cambien fácilmente entre direcciones públicas / privadas.

sdaffa23fdsf
fuente

Respuestas:

3

Las rutas siempre se eligen en orden de especificidad. Digamos que un host tiene una ruta a 10.0.0.0/8 a través del enrutador A y 10.0.1.0/24 a través del enrutador B. Tan pronto como quiera enviar un paquete a 10.0.1.1, preferirá el enrutador B sobre el enrutador A. Un valor predeterminado La ruta es la ruta menos específica que puede tener. Se preferirá cualquier otra ruta que agregue sobre una ruta predeterminada. Entonces, la respuesta es simple: agregue una ruta específica al grupo VPN DHCP a través del enrutador Mikrotik. No olvide hacer que las rutas sean persistentes, para que sobrevivan al reinicio. Asumiendo que su grupo DHCP es 10.0.1.0/24y su Mikrotik tiene IP 1.1.1.1y está conectado eth0, este es el comando para Windows:

route add -p 10.0.1.0 MASK 255.255.255.0 1.1.1.1

Para Linux, se agrega una ruta persistente editando el /etc/sysconfig/network-scripts/route-eth0archivo para definir rutas estáticas para la eth0interfaz.

GATEWAY0=1.1.1.1
NETMASK0=255.255.255.0 
ADDRESS0=10.0.1.0
JelmerS
fuente
2

Entonces, como ya sabe, los hosts con direcciones IP públicas asignadas no son buenos. Estoy haciendo referencia a su comentario acerca de poner un firewall al frente.

Usaría su enrutador, agregaría otra interfaz para una red DMZ. Esta red DMZ usaría direcciones IP privadas no públicas.

Luego, dentro de su enrutador, simplemente conecte el NAT a esa dirección IP privada.

Configuración actual: [internet] ----> RouterOS -----> Host con IP pública

Nueva configuración / configuración: [Internet] ---> RouterOS <---> NAT IP pública 60.70.80.90 <--to--> 192.168.100.90 ----> Host con IP privada 192.168.100.90

Entonces, ahora puede poner una ruta a la subred / red 192.168.100.90, que será la subred / red DMZ.

Puede hacer algunas cosas interesantes con IP Tables en lo que respecta a tener un firewall "improvisado", pero no soy el tipo para ayudar con eso. Soy un chico de Cisco.

Joseph Drane
fuente