2 votos

¿Cómo hacer conexiones VPN a diferentes redes que tienen el mismo CIDR?

Entonces,

Tengo una aplicación en ejecución en una VPC, con (actualmente) una conexión VPN a la ubicación de desarrollo. La aplicación es accesible en, digamos, 10.0.2.25 (IP del ELB interno, accesible solo a través de VPN). El enrutador compatible con VPN que tengo (también conocido como puerta de enlace del cliente) no tiene capacidades de BGP.

La CIDR de la red en la que me encuentro (red del cliente es 192.168.1.0/24) y en la VPC hay una Puerta de enlace privada virtual (vgwA) y una regla de enrutamiento correspondiente (Destino 192.168.1.0/24; Objetivo wgwA).

Puedo acceder a la aplicación sin problemas (todos los ACL/Grupos de seguridad están configurados correctamente).

Mi pregunta es ¿qué sucede cuando quiero crear otra conexión VPN a un sitio diferente, pero cuya red tiene el mismo bloque CIDR (192.168.1.0/24) o un bloque CIDR que podría superponerse (o incluir) (por ejemplo, 192.168.1.0/16)? ¿Es esto exitoso y los usuarios en las redes de clientes podrán acceder a la aplicación?

Básicamente, ¿qué necesito para poder hacer conexiones VPN a diferentes redes que tengan el mismo (o parcialmente común) CIDR? ¿Puerta de enlace del cliente compatible con BGP? ¿Diferentes puertas de enlace virtuales en la misma VPC? (No creo que AWS permita eso, y no tiene mucho sentido) ¿Reglas de enrutamiento basadas en la IP externa de la puerta de enlace del cliente? (por ejemplo, Destino: 87.44.75.124 Objetivo: vgwA; - no tiene mucho sentido)

4voto

Guy Puntos 246

La "solución" correcta es cambiar el bloque CIDR de tu VPC para evitar esa superposición. Dado que esto no es una tarea sencilla, ya que actualmente necesitas iniciar copias de tus instancias en la VPC recién creada, puedes considerar utilizar el siguiente truco:

Define tu dispositivo VPN como un NAT Dinámico, que traducirá una dirección IP que no se superpone a la IP privada real de tu VPC, al mismo tiempo que proporciona un DNS local para los servidores en la VPC con el conjunto de direcciones IP no superpuestas mencionadas anteriormente.

Para ser más específicos, tendrás los siguientes componentes en la red del cliente, asumiendo que tienes algún tipo de dispositivo VPN allí:

  • Enrutador orientado hacia la VPC tiene una ruta de dirección IP, por ejemplo, 192.168.3.0/24 apuntando a la VPC
  • El cliente implementa un servidor DNS interno que implementa registros DNS de tipo A: customer-A-record.customerdomain.com -> 192.168.3.x
  • Los usuarios en el lugar (red doméstica) acceden a los recursos de la VPC mediante nombres DNS (NO direcciones IP); por lo tanto, cuando un usuario de la red interna intenta hacer SSH o HTTP hacia un host de la VPC, lo hace contra el nombre DNS (NO la dirección IP): customer-A-record.customerdomain.com
  • El servidor DNS interno resuelve el nombre DNS a una dirección IP de 192.168.3.x/24
  • Las tablas de enrutamiento del enrutador interno/switch de capa 3 tienen una entrada de tabla de enrutamiento para 192.168.3.x/24 apuntando a la puerta de enlace del cliente de la VPC (que es la puerta de enlace VPN en la red del cliente que termina la conexión VPN a la VPC)
  • La puerta de enlace VPN del cliente recibe un paquete que va hacia 192.168.3.x/24; tiene una entrada de NAT de destino estática para traducir 192.168.3.x -> 192.168.0.x
  • La puerta de enlace VPN del cliente se asegura de que la IP de origen también se traduzca para garantizar que haya una dirección IP de retorno que no se superponga, por lo que además de DNAT también hace SNAT de origen: 192.168.0.x->192.168.3.x (puede ser un subred de IP de origen diferente - es más eficiente usar la misma para ambos SNAT y DNAT)
  • La puerta de enlace VPN del cliente ahora envía un paquete en su túnel/interface de IPSec que tiene (IP de origen, IP de destino) = (192.168.3.x,192.168.0.x) lo que resulta en conflictos en la red de destino (VPC)
  • Los hosts de la VPC reciben un paquete no conflictivo, hacen lo que se supone que deben hacer con él y envían un paquete de respuesta de la forma (IP de origen, IP de destino) = (192.168.0.x,192.168.3.x) a través del túnel VPN a la red del cliente
  • La puerta de enlace VPN del cliente en la red del cliente hace tanto DNAT/SNAT y termina con otra respuesta no conflictiva de la forma (IP de origen, IP de destino) = (192.168.3.x,192.168.0.x), que luego reenvía a su red local (doméstica) en 192.168.0.0/24.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X