Вы находитесь на странице: 1из 7

http://ccie-en-espanol.blogspot.com/2009/11/introducciondmvpn.

html
Introduccin a DMVPN

Posted by Nicolas | jueves, 19 de noviembre de 2009 | Category: DMVPN,GRE,IPSEC,IPv4,Network


Security,NHRP |

En esta oportunidad se ver una tecnologa que engloba varios protocolos, sin que esta
misma sea un protocolo en s. Nos referimos a DMVPN. Se utilizar la topologa Hub and
Spoke de la figura.

Se agrega la siguiente configuracin, adems de los seteos bsicos (IGP, etc.), como
base para formar los tneles como se mostrar a continuacin.
R1#sh run int tun1
Building configuration...
Current configuration : 117 bytes
!
interface Tunnel1
ip address 192.168.0.1 255.255.255.0
ip mtu 1400
tunnel source Loopback0
tunnel key 123
end
R1#

R2#sh run int tun2


Building configuration...
Current configuration : 117 bytes
!
interface Tunnel2
ip address 192.168.0.2 255.255.255.0
ip mtu 1400
tunnel source Loopback0
tunnel key 123
end
R2#

R3#sh run int tun3


Building configuration...
Current configuration : 117 bytes
!
interface Tunnel3
ip address 192.168.0.3 255.255.255.0
ip mtu 1400
tunnel source Loopback0
tunnel key 123
end
R3#

A modo de probar que los tneles funcionarn, se completa la configuracin para


crearlos de manera esttica entre R3 y R2 (posteriormente esto ser removido),
bsicamente configurando en cada extremo el destino del tnel (en el mundo real sera
la direccin IP pblica del otro extremo).
R3#conf t
Enter configuration commands, one per line.
R3(config)#interface tunnel3
R3(config-if)#tunnel destination 2.2.2.2
R3(config-if)#

End with CNTL/Z.

R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#interface tunnel 2
R2(config-if)#tunnel dest 3.3.3.3
R2(config-if)#
*Nov 16 17:38:31.235: %LINEPROTO-5-UPDOWN: Line protocol on Interface
Tunnel2, changed state to up
R2(config-if)#
R2(config-if)#do ping 192.168.0.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/76/116 ms
R2(config-if)#

Como se ve, el tnel entre esto equipos sube y el test de conectividad es exitoso. El

siguiente paso es remover la configuracin de los destinos de los tneles de modo de


permitir que entre en juego la parte dinmica de DMVPN. Corresponde entonces
configurar NHRP que ser el protocolo que permitir obtener la direccin de destino del
tnel, esto gracias la la configuracin de un router como Next Hop Server (en el
ejemplo ser R3) que mantendr los mapeos correspondientes. Los comandos para
configurar este protocolo en los routers Cisco se pueden encontrar en NHRP
Commands. En particular se configurar el next hop server con ip nhrp nhs, se
mapear su direccin real con ip nhrp map, se distinguir con ip nhrp network-id la red
NBMA formada y con ip nhrp authentication agregamos autentificacin al proceso.
Adems ser necesario cambiar el modo del tnel que por defecto es GRE a GRE
multipoint con tunnel mode.
R2(config-if)#
R2(config-if)#int tun2
R2(config-if)#ip nhrp nhs 192.168.0.3
R2(config-if)#ip nhrp map 192.168.0.3 3.3.3.3
R2(config-if)#ip nhrp network-id 100
R2(config-if)#ip nhrp authentication nicolas
R2(config-if)#tunnel mode gre multipoint
R2(config-if)#
*Nov 16 17:50:34.715: %LINEPROTO-5-UPDOWN: Line protocol on Interface
Tunnel2, changed state to up
R2(config-if)#

R3(config)#interface tunnel3
R3(config-if)#
R3(config-if)#ip nhrp authentication nicolas
R3(config-if)#ip nhrp map multicast dynamic
R3(config-if)#ip nhrp network-id 100
R3(config-if)#tunnel mode gre multipoint
R3(config-if)#
*Nov 16 17:54:01.707: %LINEPROTO-5-UPDOWN: Line protocol on Interface
Tunnel3, changed state to up
R3(config-if)#
R3(config-if)#do ping 192.168.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/80/152 ms
R3(config-if)#

Se agrega adems R1 dentro de la misma red IP, sin aadir una nueva interface en los
otros routers (cosa que no era posible al configurar los tneles estticamente).
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#interface tunnel1
R1(config-if)# ip nhrp authentication nicolas
R1(config-if)# ip nhrp map 192.168.0.3 3.3.3.3
R1(config-if)# ip nhrp network-id 100
R1(config-if)# ip nhrp nhs 192.168.0.3
R1(config-if)# tunnel mode gre multipoint
R1(config-if)#
*Nov 16 17:56:38.171: %LINEPROTO-5-UPDOWN: Line protocol on Interface
Tunnel1, changed state to up

R1(config-if)#
R1(config-if)#do ping 192.168.0.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/66/100 ms
R1(config-if)#do ping 192.168.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 48/301/428 ms
R1(config-if)#

Se tiene entonces conectividad entre los tres routers por medio de la red
192.168.0.0/24. show ip nhrp muestra los tneles que fueron creados ya sea esttica o
dinmicamente.
R1#sh ip nhrp
192.168.0.1/32 via 192.168.0.1
Tunnel1 created 00:04:26, expire 01:55:33
Type: dynamic, Flags: router unique local
NBMA address: 1.1.1.1
(no-socket)
192.168.0.2/32 via 192.168.0.2
Tunnel1 created 00:04:27, expire 01:55:32
Type: dynamic, Flags: router
NBMA address: 2.2.2.2
192.168.0.3/32 via 192.168.0.3
Tunnel1 created 00:04:43, never expire
Type: static, Flags: used
NBMA address: 3.3.3.3
R1#

Si bien con esto ya se pueden correr protocolos de ruteo entre los equipos, o sea se
tiene una VPN, en la mayora de los casos se querr encriptar la informacin entre
stos, para esto se recurre a IPsec.
En un principio se configura IKE (Internet Key Exchange) para establecer una SA
(Security association) .
R1#conf t
Enter configuration commands, one per line.
R1(config)#crypto isakmp policy 1
R1(config-isakmp)#encryption 3des
R1(config-isakmp)#hash sha
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#group 2
R1(config-isakmp)# lifetime 86400
R1(config-isakmp)#do sh run | b crypto
crypto isakmp policy 1
encr 3des
authentication pre-share
group 2

End with CNTL/Z.

De lo que muestra el output de la configuracin luego de aplicada se puede deducir

que el algoritmo de hash por defecto es SHA-1 y el lifetime es de 86400. Se configura


adems la pre-shared key.
R1(config)#
R1(config)#crypto isakmp key ccie-en-espanol address 2.2.2.2
R1(config)#crypto isakmp key ccie-en-espanol address 3.3.3.3
R1(config)#

Esta clave puede ser reemplazada por certificados (la opcin por defecto de IKE en
routers Cisco) para no tener que setear peers estticamente, que no va de la mano con
los propsitos de dinamismo de DMVPN.
Luego se configura IPSec transform set que especificar el protocolo y algoritmos
usados para securizar los paquetes. Para el ejemplo se usar el protocolo ESP,
algoritmo de encriptacin
3DES y para la autentificacin se utilizar SHA-HMAC. Para entender ms sobre IPsec
en equipos Cisco quizs sea conveniente revisar: An Introduction to IP Security (IPSec)
Encryption.
R2(config)#
R2(config)#crypto ipsec transform-set TRAN esp-?
esp-3des esp-aes
esp-des
esp-md5-hmac
esp-null esp-seal esp-sha-hmac
R2(config)#crypto ipsec transform-set TRAN esp-3des esp-?
esp-md5-hmac esp-sha-hmac
R2(config)#crypto ipsec transform-set TRAN esp-3des esp-sha-hmac
R2(cfg-crypto-trans)#
R2(cfg-crypto-trans)#exit
R2(config)#crypto ipsec profile IPSEC
R2(ipsec-profile)#set transform-set TRAN
R2(ipsec-profile)#
R2(ipsec-profile)#int tun2
R2(config-if)#tunnel protection ipsec profile IPSEC
R2(config-if)#
*Nov 16 18:18:57.931: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R2(config-if)#do ping 192.168.0.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
R2(config-if)#
R2(config-if)#do sh ip int b | i Tunnel
Tunnel2
192.168.0.2
YES manual up
up
R2(config-if)#

Como se ve, la conectividad se ha perdido al aplicar el IPsec profile (que setea el


transform set configurado) en slo un extremo del tnel con tunnel protection. Para
corregir esto se aplica en el otro extremo.
R3(config)#
R3(config)#crypto ipsec transform-set TRAN esp-3des esp-sha-hmac
R3(cfg-crypto-trans)#

R3(cfg-crypto-trans)#crypto ipsec profile IPSEC


R3(ipsec-profile)# set transform-set TRAN
R3(ipsec-profile)#
R3(ipsec-profile)#int tun3
R3(config-if)#tunnel protection ipsec profile IPSEC
R3(config-if)#
*Nov 16 18:23:08.687: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R3(config-if)#do ping 192.168.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 156/230/356 ms
R3(config-if)#

Listo!, el tnel est encriptado (para full conectividad hay que aplicar tambin en R1).
Ahora slo faltara correr un protocolo de ruteo en la red 192.168.0.0/24 para que el
trfico de los equipos pase efectivamente por los tneles. Dependiendo del protocolo
utilizado y su configuracin puede que haya que tener precaucin con la regla de splithorizon (Distance Vector + Hub and Spoke), en ese caso revisar Frame Relay y Split
Horizon.
Por ltimo notar que los tneles que DMVPN crea son generados on-demand.
R1#sh ip nhrp
192.168.0.1/32 via 192.168.0.1
Tunnel1 created 00:01:04, expire 00:02:00
Type: dynamic, Flags: temporary
NBMA address: 3.3.3.3
192.168.0.3/32 via 192.168.0.3
Tunnel1 created 00:48:04, never expire
Type: static, Flags: used
NBMA address: 3.3.3.3
R1#ping 192.168.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 300/555/1080 ms
R1#sh ip nhrp
192.168.0.1/32 via 192.168.0.1
Tunnel1 created 00:01:14, expire 01:59:57
Type: dynamic, Flags: router unique local
NBMA address: 1.1.1.1
192.168.0.2/32 via 192.168.0.2
Tunnel1 created 00:00:05, expire 01:59:57
Type: dynamic, Flags: router
NBMA address: 2.2.2.2
192.168.0.3/32 via 192.168.0.3
Tunnel1 created 00:48:15, never expire
Type: static, Flags: used
NBMA address: 3.3.3.3
R1#

...y dado que en una red de mayor envergadura quizs convenga limitar el nmero de
tneles que se generarn existe crypto call admission limit.

R1(config)#crypto call admission limit ike sa ?


<0-99999> IKE active SA limit
R1(config)#crypto call admission limit ike sa 1
R1(config)#^Z
R1#
*Nov 16 18:49:25.071: %CRYPTO-4-IKE_SA_LIMIT: IKE active SA count is 2 but
SA limit has been set to 1.
R1#
*Nov 16 18:49:26.183: %SYS-5-CONFIG_I: Configured from console by console
R1#clear ip nhrp
R1#
*Nov 16 18:49:51.483: %CRYPTO-4-IKE_DENY_SA_REQ: IKE denied an OUTGOING SA
request from 1.1.1.1 to 2.2.2.2 due to IKE SA LIMIT REACHED
R1#

Otras explicaciones de DMVPN en la red:

Cisco -> Cisco Dynamic Multipoint VPN: Simple and Secure Branch-toBranch Communications.

DocCD -> Dynamic Multipoint VPN (DMVPN)

Botjan utar -> Designing Site-to-Site IPsec VPNs - Part 4

Jeremy Stretch -> Dynamic Multipoint VPN (DMVPN)

Petr Lapukhov -> DMVPN Explained

Para ms detalles ms avanzados de los protocolos utilizados:

RFC 1701: Generic Routing Encapsulation (GRE)

RFC 1702: Generic Routing Encapsulation over IPv4 networks

RFC 2332: NBMA Next Hop Resolution Protocol (NHRP)

RFC 2333: NHRP Protocol Applicability Statement

RFC 2735: NHRP Support for Virtual Private Networks

RFC 4301: Security Architecture for the Internet Protocol

RFC 4306: Internet Key Exchange (IKEv2) Protocol

RFC 2406: IP Encapsulating Security Payload (ESP)

Вам также может понравиться