VPN Site-To-Site con direcciones remotas dinámicas

Hola!
Hoy vamos a configurar una VPN con direcciones remotas dinámicas. Útil, a la hora de reducir costos y contar con conectividad.

Algo importante que tenes que acordarte cuando realices este tipo de implementaciones, es que en una VPN site-to-site con ip publica dinámica remota solo puede levantarse generando tráfico desde la red remota.
ISAKMP (Internet Security Association and Key Management Protocol) and IPSec  son esenciales para construir y encriptar el tunel de la VPN. ISAKMP, también llamado IKE (Internet Key Exchange), es el protocolo que negocia y permite a dos host ponerse de acuerdo en cómo construirá la IPsec sa. La negociación de ISAKMP consiste en dos fases: Fase 1 y fase 2

Fase 1 crear un túnel, el cual protegerá los mensajes de negociación ISAKMP. Fase 2 crear el túnel que protegerá los dato.  IPSec entonces entra en juego para encriptar los datos usando algoritmos de codificación criptográfica y autentificación.

TOPOLOGÍA LÓGICA

1

TOPOLOGÍA FÍSICA

2

VPN Site-To-Site con IPs públicas dinámicas en router remotos

Ahora veremos un ejemplo práctico a fin de complementar el know-how.

Los pasos son:

1.0Configurar ISAKMP (fase 1)

2.0Configurar IPSec

      2.1 Configurar ACLs extendidas

      2.2 Configurar IPsec Transform (ISAKMP fase 2)

      2.3 Configurar Crypto Map

 

#Configuración para el router principal R1-La Plata.

  1. Configurar ISAKMP (IKE) -(fase 1)

IKE existe solo con el fin de establecer SAs (Security Association) para IPsec. Antes de ésto, IKE debe negociar una relación entre las SA (ISAKMP SA) con los peers.

laplata(config)#cryp isakmp enable
laplata(config)#crypto isakmp policy 1
laplata(config-isakmp)#encryption 3des
laplata(config-isakmp)#hash md5
laplata(config-isakmp)#authentication pre-share
laplata(config-isakmp)#group 2
laplata(config-isakmp)#lifetime 86400
laplata(config-isakmp)#exit

3DES – algoritmo de codificación criptográfica

MD5 – Algoritmo de hashing

Pre-share – Método de autenticación

Group 2 – DH (Diffie-Hellman) que utilizaremos

86400 – Session key lifetime.

Nota: Si tuviéramos  3 sitios remotos y 3 ISAKMP policies configuradas, cuando nuestro router tratara de negociar un túnel VPN con cada sitio, éste enviaría la 3 ISAKMP policies y usaría la primera que sea aceptada por ambos sitios. En cambio si sólo tenemos una sola ISAKMP policy configurada el router usaría la misma para todas las  VPN en los routers remotos.

Configuramos la clave para el método de autenticación Pre-Share

laplata(config)#crypto isakmp key redprincipal address 0.0.0.0 0.0.0.0

2.0     Configurar IPsec

         2.1 Configurar ACLs extendidas

Definimos que tráfico pasará a través de cada VPN.

laplata(config)#ip access-list extended vpn1-traffic
laplata(config-ext-nacl)#permit ip 10.10.10.0 0.0.0.255 20.20.20.0 0.0.0.255
laplata(config-ext-nacl)#exit

laplata(config)#ip access-list extended vpn2-traffic
laplata(config-ext-nacl)#permit ip 10.10.10.0 0.0.0.255 30.30.30.0 0.0.0.255
laplata(config-ext-nacl)#exit

        2.2 Configurar IPsec Transform (ISAKMP fase 2)

Creamos el “transform-set” usado para proteger los datos. Lo llamaremos “tunel”, especificaremos el método de encripción y el algoritmo de hashing.

laplata(config)#crypto ipsec transform-set tunel esp-3des esp-md5-hmac

        2.3 Configurar Crypto Map

Crypto Map es el último paso para conectar la configuración ISAKMP y IPSec. Necesitaremos crear una crypto map dinámica por cada router remoto.

Primero vamos a crear una crypto map llamada VPN, el cual conectaremos con las crypto maps dinámicas.

#Crypto Map

laplata(config)#crypto map vpn 1 ipsec-isakmp dynamic sucursal-vpn

#Crypto maps dinámicas

laplata(config)#crypto dynamic-map sucursal-vpn 10
laplata(config-crypto-map)#set crysecurity-association lifetime seconds 86400
laplata(config-crypto-map)#set transform-set tunel

laplata(config-crypto-map)#match address vpn1-traffic
laplata(config-crypto-map)#exit

laplata(config)#crypto dynamic-map sucursal-vpn 11
laplata(config-crypto-map)#set security-association lifetime seconds 86400
laplata(config-crypto-map)#set security-association lifetime seconds 86400
laplata(config-crypto-map)#set transform-set tunel

laplata(config-crypto-map)#match address vpn2-traffic
laplata(config-crypto-map)#exit

#Aplicamos Crypto Map a una interfaz

laplata(config)#int s1/1
laplata(config-if)#crypto map vpn
*Mar 1 00:27:47.659: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
laplata(config-if)#exit

listo!

#ROUTER REMOTO «R2 – MAR DEL PLATA»

1.0     Configurar ISAKMP

MardelPlata(config)#crypto isakmp policy 1
MardelPlata(config-isakmp)#encryption 3des
MardelPlata(config-isakmp)#hash md5

MardelPlata(config-isakmp)#authentication pre-share
MardelPlata(config-isakmp)#group 2

MardelPlata(config-isakmp)#lifetime 86400
MardelPlata(config-isakmp)#exit

laplata(config)#crypto isakmp key redprincipal address 200.10.10.1

 2.0  Configurar IPSec

   2.1  Configuramos las ACLs

MardelPlata(config)#ip access-list extended vpn1-traffic
MardelPlata(config-ext-nacl)#permit ip 20.20.20.0 0.0.0.255 10.10.10.0 0.0.0.255

     2.2 Configurar IPsec Transform (ISAKMP fase 2)

MardelPlata(config)#crypto ipsec transform-set tunel esp-3des esp-md5-hmac
MardelPlata(cfg-crypto-trans)#exit

              2.3 Configurar Crypto Map

MardelPlata(config)#crypto map vpn1-to-principal 10 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
MardelPlata(config-crypto-map)#set peer 200.10.10.1
MardelPlata(config-crypto-map)#set transform-set tunel

MardelPlata(config-crypto-map)#match address vpn1-traffic
MardelPlata(config-crypto-map)#exit

MardelPlata(config)#int s1/0
MardelPlata(config-if)#crypto map vpn1-to-principal
*Mar 1 00:35:23.055: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
MardelPlata(config-if)#exit

Autor: 👉 Clau Magagnotti || @claumagagnotti

Keep Pushing🆙! 💯💪 - Network Specialist || Cloud Engineer || Cyber Security || Ninja sysadmin skills

18 opiniones en “VPN Site-To-Site con direcciones remotas dinámicas”

  1. Hola.

    Ante todo, muchas gracias por estos tutoriales.

    Actualmente estoy introduciéndome en el mundo de Cisco y ahora estoy algo liado con la VPN’s.

    Quería realizarte la siguiente consulta a ver si es posible hacerlo.

    – Tengo una sede Central con IP Fija y una sede remota con IP Dinámica. He conseguido montar la VPN gracias a tus apuntes. El inconveniento que me encuentro, es que si no hay tráfico que se genere desde la sede remota hacia la central, no se monta la VPN. ¿Existe la posibilidad de programar algo en el Router Cisco de la sede remota con IP Dinámica, para que realice PING cada cierto tiempo y así el propio router de Cisco montaría la VPN? He intentado con «keepalive», pero no sé si es lo correcto ya que no consigo montar la VPN.

    Muchas gracias,

    Un saludo,

    Juan Antonio.

    1. Buenos días Juan Antonio,

      Es de mi agrado saber que éste tutorial te ha servido de ayuda.

      Con respecto a tu consulta, es correcto utilizar «keepalive» para el objetivo que buscas. La forma sería la siguiente:

      #crypto isakmp keepalive 20 3

      De esta manera enviamos mensajes DPD (dead peer detection) al peer, es importante recordar Juan Antonio que la forma de levantar por primera vez
      la VPN, es utilizando el comando «ping» desde la red remota (ip dinámica-to-ip fija).

      Contacto: iproot@outlook.com

      Sldos,
      Claudio Magagnotti.

  2. Hola.

    Ante todo, muchas gracias por estos tutoriales.

    Actualmente estoy introduciéndome en el mundo de Cisco y ahora estoy algo liado con la VPN’s.

    Quería realizarte la siguiente consulta a ver si es posible hacerlo.

    Tengo una sede Central con IP Fija y una sede remota con IP Dinámica. He conseguido montar la VPN gracias a tus apuntes. El problema es que necesito colocar la ip dinamica con DHCP y ya el enlace no me funciona si utilizo eso. He tratado de relacionarlo con dns usando no-ip free pero no se me actualiza y me da problemas no se si es que no estoy configurando algo o no peudo usar el DHCP.. Saludos y espero tu respuesta

    1. Buenas tardes Carolina,

      Gracias a vos por tomarme unos minutos y leerlo! Lamento la demora en mi respuesta.

      Con respecto a tu consulta, necesitaría saber:

      1) ¿El servicio DHCP lo estas levantando en la interfaz WAN?
      2) ¿Me podrías explicar con que fin estas usando «no-ip free»?

      Sldos,
      Claudio Magagnotti.

      1. Buenas Tardes, Muy amable en responder NO-ip free lo estoy usando como dns para poder conectarme con las ip que no conozco.

        Gracias a dios ya resolvi el problema del DHCP el cual si estoy levantandolo con la interfaz wan.

        Ahora mi problema es otro te escibo tengo un escenario parecido al tuyo una ip estática la cual estará en mi oficina central por una ip publica designada por cantv y la otra es una ip dinamica que sera la sucursal. Ahora bien acabo de montar DMVPN (HUB-SPOKE) y me funciona se levanta el tunel hago ping entre los extremos del tunnel, pero el problema que tengo es que solo hago ping de la sucursal a la red que esta en la oficina central pero viceversa no lo hago. Trate de utilizar OSPF y los paquetes no se me reenvían por lo que la tabla de enrutamiento no se distribuye.

        te copio la configuración a ver si puedes ayudarme:

        SPOKE

        crypto isakmp policy 1
        encr 3des
        authentication pre-share
        group 2
        crypto isakmp key xxx address 190.xxx.xxx.xxx
        !
        !
        crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
        mode transport
        !
        crypto ipsec profile CiscoCP_Profile1
        set transform-set ESP-3DES-SHA
        !
        !
        !
        !
        !
        !
        interface Tunnel0
        bandwidth 1000
        ip address 192.168.20.1 255.255.255.0
        ip mtu 1400
        ip nhrp authentication DMVPN_NW
        ip nhrp map 192.168.20.2 190.xxx.xxx.xxx
        ip nhrp network-id 100000
        ip nhrp holdtime 360
        ip nhrp nhs 192.168.20.2
        ip tcp adjust-mss 1360
        ip ospf network broadcast
        ip ospf priority 0
        ip ospf 12 area 0
        delay 1000
        tunnel source GigabitEthernet0/2
        tunnel destination 190.xxx.xxx.xxx
        tunnel key 100000
        tunnel protection ipsec profile CiscoCP_Profile1
        !
        interface GigabitEthernet0/2
        description $ETH-WAN$
        ip address dhcp
        duplex auto
        speed auto

        router nhrp
        !
        router ospf 12
        router-id 192.168.20.1
        log-adjacency-changes
        network 192.xxx.20.0 0.0.0.255 area 0
        network 192.xxx.100.0 0.0.0.255 area 0

        ——————————————————————————————–

        HUB

        !
        crypto isakmp policy 1
        encr 3des
        authentication pre-share
        group 2
        crypto isakmp key cisco address 0.0.0.0 0.0.0.0
        !
        !
        crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
        mode transport
        !
        crypto ipsec profile CiscoCP_Profile1
        set transform-set ESP-3DES-SHA
        !
        !
        !
        !
        !
        !
        interface Tunnel0
        bandwidth 1000
        ip address 192.168.20.2 255.255.255.0
        no ip redirects
        ip mtu 1400
        ip nhrp authentication DMVPN_NW
        ip nhrp map multicast dynamic
        ip nhrp network-id 100000
        ip nhrp holdtime 360
        ip tcp adjust-mss 1360
        ip ospf network broadcast
        ip ospf priority 0
        ip ospf 12 area 0
        delay 1000
        tunnel source FastEthernet8
        tunnel mode gre multipoint
        tunnel key 100000
        tunnel protection ipsec profile CiscoCP_Profile1
        !

        !
        interface FastEthernet8
        description $ETH-WAN$
        ip address 190.xxx.xxx.xxx 255.255.255.248
        duplex auto
        speed auto
        !
        !
        !
        !
        interface Vlan1
        description $ETH-SW-LAUNCH$$INTF-INFO-FE 1$
        ip address 192.168.1.40 255.255.255.0
        ip tcp adjust-mss 145

        router ospf 12
        log-adjacency-changes
        redistribute static
        network 192.xxx.1.0 0.0.0.255 area 0
        network 192.xxx.20.0 0.0.0.255 area 0

        Si es mas fácil por EIGRP también me pudiera servir.

        Muchas gracias por tu ayuda

        1. Buenas Tardes Carolina,

          En las redes DMVPN (Hub-and-Spoke) es conveniente utilizar un protocolo «vector de distancia» como EIGRP.

          La forma en que deberías configurar los routers es la siguiente.

          HUB
          !
          crypto isakmp policy 1
          encr 3des
          authentication pre-share
          group 2
          crypto isakmp key cisco address 0.0.0.0 0.0.0.0
          !
          !
          crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
          mode transport
          !
          crypto ipsec profile CiscoCP_Profile1
          set transform-set ESP-3DES-SHA
          !
          !
          !
          !
          interface Tunnel0
          description Conexion a Spokes
          bandwidth 1000
          ip address 192.168.20.2 255.255.255.0
          no ip redirects
          no ip unreachables
          no ip proxy-arp
          ip mtu 1400
          ip flow ingress
          ip nhrp authentication DMVPN_NW
          ip nhrp map multicast dynamic
          ip nhrp network-id 100000
          ip nhrp holdtime 600
          ip tcp adjust-mss 1360
          delay 1000
          tunnel source FastEthernet8
          tunnel mode gre multipoint
          tunnel key 100000
          tunnel protection ipsec profile CiscoCP_Profile1
          !
          !
          interface FastEthernet8
          description $ETH-WAN$
          ip address 190.xxx.xxx.xxx 255.255.255.248
          !
          duplex auto
          speed auto
          !
          !
          !
          !
          interface Vlan1
          description $ETH-SW-LAUNCH$$INTF-INFO-FE 1$
          ip address 192.168.1.40 255.255.255.0
          ip tcp adjust-mss 145
          !
          !
          !
          router eigrp 1
          redistribute static
          network 192.xxx.1.0
          network 192.xxx.20.0
          distribute-list 3 out Tunnel0
          auto-summary
          !
          !
          access-list 3 permit 192.xxx.1.0 0.0.0.255
          access-list 3 permit 192.xxx.20.0 0.0.0.255
          !

          __________________________________________________________________________

          SPOKE

          crypto isakmp policy 1
          encr 3des
          authentication pre-share
          group 2
          crypto isakmp key xxx address 190.xxx.xxx.xxx
          !
          !
          crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
          mode transport
          !
          crypto ipsec profile CiscoCP_Profile1
          set transform-set ESP-3DES-SHA
          !
          !
          !
          !
          !
          !
          interface Tunnel0
          description Conexion a HUB
          bandwidth 1000
          ip address 192.168.20.1 255.255.255.0
          no ip redirects
          no ip unreachables
          no ip proxy-arp
          ip mtu 1400
          ip nhrp authentication DMVPN_NW
          ip nhrp map multicast 190.xxx.xxx.xxx
          ip nhrp map 192.168.20.2 190.xxx.xxx.xxx
          ip nhrp network-id 100000
          ip nhrp holdtime 300
          ip route-cache flow
          ip nhrp nhs 192.168.20.2
          ip tcp adjust-mss 1360
          delay 1000
          tunnel source GigabitEthernet0/2
          tunnel mode gre multipoint
          tunnel protection ipsec profile CiscoCP_Profile1
          !
          !
          !
          interface GigabitEthernet0/2
          description $ETH-WAN$
          ip address dhcp
          duplex auto
          speed auto
          !
          !
          router eigrp 1
          redistribute static
          network 192.xxx.20.0
          network 192.xxx.100.0
          distribute-list 3 out Tunnel0
          auto-summary
          !
          !
          access-list 3 permit 192.xxx.20.0 0.0.0.255
          access-list 3 permit 192.xxx.100.0 0.0.0.255
          !
          !
          ——————————————————————————————–

          Lamento la demora en mi respuesta, ante cualquier duda o consulta estoy a tu disposición.

          Sludos,
          Claudio Magagnotti.

  3. Buenos días

    Antes que nada, gracias por compartir tus conocimientos, te escribo porque tengo una situación idéntica, requiero realizar una conexión de un sitio remoto, que cuenta con IP dinámica, a mi equipo central, un ASA, sin embargo tengo como intermediario a un equipo Meraki, el cual me crea la conexión remota, todo funciona correctamente el detalle es cuando mi ISP le cambia la IP a mi switch Meraki, mi equipo central deja de reconocer al remoto y se pierde la comunicación.

    Quisiera saber si cuentas con algún correo o Skype para ponernos en contacto, ya que tengo tiempo queriendo solucionar el detalle, pero no lo encuentro, de antemano Gracias.

  4. Disculpa no se si me puede ayudar con una configuracion de mi VPN, soy nuevo en esto no se si me falta algo o estoy realizando algo mal…

  5. hola
    Claudio Magagnotti

    soy nuevo en la configuracion de vpn he configurado una vpn utilizando dos routers cisco rv 220w con ip dinamicas pero hay uno de los equipos de mi prohovedor que me cambia la ip y me deja de funcionar, utilizo no-ip como FQDN nesecito saber que hacer para que la ip cuendo cambie mi equipo cisco actualize en FQDN

    1. Hola Kerling! Tenes 2 opciones.

      1,. LLamar a tu ISP y pedir que fijen la IP pública por MAC

      2.- Utilizar algún servicio de fqdn en el equipo de borde o en una pc que salga a través del equipo de borde.

      Si necesitas más ayuda, aquí estoy.

      Saludos!
      Claudio.-

  6. Hola, excelente este tutorial.

    A ver si me puede dar una manito con lo que tengo que realizar:

    Tengo que crear 21 VPN, 4 surcursales con ip fijas y el resto con ip dinámicas.

    1. La oficina principal tiene su ip fija, comparándolo con tu ejemplo seria el Router LA PLATA, cierto?

    2. Cuál sería la mejor manera de manejar el tráfico al crear las ACLs, es decir, por cada sucursal tengo dos vlans, que serían dos redes.
    Si configuro la ACL de esta forma
    RT-Main_Router(config-ext-nacl)#permit ip any any. Lo digo porque como tengo varias vlans, necesito que todas las redes se puedan ver y tener comunicación.

    3. ¿De qué manera pueden afectar estas ACLs de las VPN a la ACL que tenga configurada como salida a internet? es decir un PAT más una ruta por default.

    Muchas Gracias por todo.

    Saludos

      1. Que tal Claudio, Seguí tus recomendaciones y he podido montar la vpn con DMVPNS, pero solo con interfaces wan mediante ip fijas.
        Ahora el inconveniente que presento es al momento de establecer el DMVPN con ips dinámicas.
        Logro montar la vpn, sin embargo al momento de apagar la interfaz wan del router para simular que perdí conexión me sale el siguiente mensaje.

        %NHRP-3-PAKREPLY: Receive Registration Reply packet with error – unique address registered already(14)

        ¿Qué me aconseja hacer?

        Esta es la configuración del tunel (SPOKE)

        interface Tunnel0
        ip address 172.16.123.6 255.255.255.0
        no ip redirects
        ip mtu 1416
        ip nhrp authentication DMVPN
        ip nhrp map 172.16.123.1 201.X.X.X
        ip nhrp map multicast 201.X.X.X
        ip nhrp network-id 1
        ip nhrp nhs 172.16.123.1
        ip ospf network broadcast
        ip ospf priority 0
        tunnel source Dialer0
        tunnel mode gre multipoint
        tunnel protection ipsec profile MGRE

        1. Hola abraham,
          Lamento la demora. Para solucionar el error, ingresá el siguiente comando en el spoke:

          ip nhrp registration no-unique

          Por otro lado, veo que estás usando OSPF dentro del túnel. Si bien, funciona…CISCO recomienda utilizar EIGRP. Creo que tiene lógica, porque si tu DMVPN creciera mucho tendrías que crear distintas areas…y la configuración sería un poco más compleja.
          Nota: Recordá siempre borrar las IPs públicas, al pegar la configuración de un tus routers en un blog.
          Saludos!
          Claudio.-

  7. Hola Claudio, como sería la configuración si uno de los sitis remotos posee direccion IP fija?

    Sitio Principal: IP Fija
    Sitio Remoto 1: IP Fija
    Sitio Remoto 2: IP Dinamica

    Actualmente tengo una VPN site to site entre el sitio principal 1 y el sitio remoto 1, pero no veo como agregar la VPN entre el sitio principal y el sitio remoto 2 sin dañar la VPN actual.

    Agraeceria mucho su ayuda. Saludos

  8. Sera que alguien por aquí me puede ayudar? tengo dos sedes con microtik pero una es dinamica y la otra estatIca ya he configurado de todo pero no se quiren ver, que mestara faltando? ya cree los nat, firewall,, dns, dhcp, ayuda!

Deja un comentario