Dans cet article, je vais vous présenter l’utilisation de 3 VPNs multipoints (GETVPN, FLEXVPN Spoke To Spoke, et DMVPN) avec des VRFs (Virtual Routing and Forwarding).
Pour rappel, une VRF permets de virtualiser la table de routage d’un routeur afin de segmenter le routage de manière logique.
Pour rappel, une VRF permets de virtualiser la table de routage d’un routeur afin de segmenter le routage de manière logique.
J’ai par contre pas le courage de détailler chaque point de la configuration, je vous mets donc le but du lab, ainsi que les configurations Initiale et Finales. Si vous avez des questions laissez un commentaire :).
Adressage
Device | Interface | IP | VRF |
ASA3 | G0/0.172 (Outside – MGMT Context) | 172.17.0.30+1/24 | |
ASA3 | G0/0.254 (Outside – DATA Context) | 10.254.0.30+1/24 | |
ASA3 | G0/1 (inside – MGMT Context) | 10.1.1.30+1/24 | |
ASA3 | G0/1 (inside – DATA Context) | 10.1.1.40+1/24 | |
ASA3 | G0/2 (FAIL) | 99.99.99.30+1/24 | |
R10 | G0/1.172 | 172.17.0.10/24 | DataVRF |
R11 | G0/1.172 | 172.17.0.11/24 | DataVRF |
R10 | G0/1.254 | 10.253.0.10/24 | MgmtVRF |
R11 | G0/1.254 | 10.253.0.11/24 | MgmtVRF |
R10 | G0/0 | 100.0.0.10/24 | InternetVRF |
R11 | G0/0 | 100.0.0.11/24 | InternetVRF |
R7 | G0/0 | 100.0.0.7/24 | InternetVRF |
R8 | G0/0 | 100.0.0.8/24 | InternetVRF |
R1 | L0 | 1.1.1.1/24 | |
R7 | L0 | 7.7.7.7/24 | DataVRF |
R8 | L0 | 8.8.8.8/24 | DataVRF |
R10 | Tun100 | 172.16.0.10/24 | MgmtVRF |
R11 | Tun100 | 172.16.0.11/24 | MgmtVRF |
R7 | Tun100 | 172.16.0.7/24 | MgmtVRF |
R8 | Tun100 | 172.16.0.8/24 | MgmtVRF |
R10 | Tun200 | 10.254.0.10/24 | MgmtVRF |
R11 | Tun200 | 10.254.0.11/24 | MgmtVRF |
R7 | Tun200 | 10.254.0.7/24 | MgmtVRF |
R8 | Tun200 | 10.254.0.8/24 | MgmtVRF |
R1 | G0/0 | 10.1.1.1/24 |
En gros le but est d’avoir du GETVPN over DMVPN. Les données transiteront dans la VRF DataVRF (partie DMVPN/GRE), mais les terminaisons des tunnels seront dans la VRF InternetVRF. Les données dans la VRF InternetVRF seront sécurisées via GETVPN.
Pour rappel, avec IPSEC, nous avons la notions de I-VRF ou Inside VRF qui identifie la VRF des données qui seront chiffrées, et la F-VRF ou Frontdoor VRF qui identifie la VRF de transport IPSEC. Ces deux VRFs peuvent ou non être identique.
R1 sera le KeyServer, et les autres routeurs seront les GroupMembers.
Pour rappel, avec IPSEC, nous avons la notions de I-VRF ou Inside VRF qui identifie la VRF des données qui seront chiffrées, et la F-VRF ou Frontdoor VRF qui identifie la VRF de transport IPSEC. Ces deux VRFs peuvent ou non être identique.
R1 sera le KeyServer, et les autres routeurs seront les GroupMembers.
Parce que c’est fun, j’ai aussi mis un deuxième reseau DMVPN lui sécurisé par IPSEC classic qui vas servir au rekeying multicast du réseau GETVPN.
Enfin, puisque l’ASA en mode multi contexte ne gère pas le routage multicast, j’ai mis un 3e cloud VPN utilisant IKEv2 et FLEXVPN spoke to spoke pour le multicast vers le KeyServer R1.
Ce qui est fun avec le FlexVPN Spoke to Spoke, c’est que l’on instancie une VirtualTemplate lors de la redirection NHRP, et on a donc non plus un seul tunnel multi-point, mais plusieurs tunnels point-to-point créé a la volée. IKEv2 Mode config permets aussi en théorie de s’affranchir d’un protocole de routage.
Ce qui est fun avec le FlexVPN Spoke to Spoke, c’est que l’on instancie une VirtualTemplate lors de la redirection NHRP, et on a donc non plus un seul tunnel multi-point, mais plusieurs tunnels point-to-point créé a la volée. IKEv2 Mode config permets aussi en théorie de s’affranchir d’un protocole de routage.
On termine par quelques vérifications:
R8#ping vrf DataVRF 10.1.1.1 source Lo0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 8.8.8.8
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
R8#ping vrf MgmtVRF 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
R10#sh crypto session detail
Crypto session current status
Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
Interface: GigabitEthernet0/0
Session status: UP-ACTIVE
Peer: 0.0.0.0 port 848 fvrf: InternetVRF ivrf: InternetVRF
Desc: (none)
Phase1_id: (none)
IKEv1 SA: local 239.1.2.3/848 remote 1.1.1.1/848 Active
Capabilities:(none) connid:1061 lifetime:0
IPSEC FLOW: permit 47 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 2651 drop 0 life (KB/Sec) KB Vol Rekey Disabled/2088
Outbound: #pkts enc'ed 2641 drop 0 life (KB/Sec) KB Vol Rekey Disabled/2088
Interface: Tunnel100
Uptime: 01:49:01
Session status: UP-ACTIVE
Peer: 100.0.0.11 port 500 fvrf: InternetVRF ivrf: MgmtVRF
Phase1_id: 100.0.0.11
Desc: (none)
IKEv1 SA: local 100.0.0.10/500 remote 100.0.0.11/500 Active
Capabilities:(none) connid:1048 lifetime:22:10:57
IPSEC FLOW: permit 47 host 100.0.0.10 host 100.0.0.11
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 1492 drop 0 life (KB/Sec) 4171263/504
Outbound: #pkts enc'ed 1513 drop 0 life (KB/Sec) 4171262/504
Interface: Tunnel100
Uptime: 01:49:03
Session status: UP-ACTIVE
Peer: 100.0.0.8 port 500 fvrf: InternetVRF ivrf: MgmtVRF
Phase1_id: 100.0.0.8
Desc: (none)
IKEv1 SA: local 100.0.0.10/500 remote 100.0.0.8/500 Active
Capabilities:(none) connid:1046 lifetime:22:10:56
IPSEC FLOW: permit 47 host 100.0.0.10 host 100.0.0.8
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 1784 drop 0 life (KB/Sec) 4184809/466
Outbound: #pkts enc'ed 1525 drop 0 life (KB/Sec) 4184832/466
Interface: Tunnel100
Uptime: 01:49:01
Session status: UP-ACTIVE
Peer: 100.0.0.7 port 500 fvrf: InternetVRF ivrf: MgmtVRF
Phase1_id: 100.0.0.7
Desc: (none)
IKEv1 SA: local 100.0.0.10/500 remote 100.0.0.7/500 Active
Capabilities:(none) connid:1047 lifetime:22:10:57
IPSEC FLOW: permit 47 host 100.0.0.10 host 100.0.0.7
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 1778 drop 0 life (KB/Sec) 4312433/481
Outbound: #pkts enc'ed 1514 drop 0 life (KB/Sec) 4312456/481
Interface: Tunnel0
Uptime: 00:59:01
Session status: UP-ACTIVE
Peer: 10.1.1.1 port 500 fvrf: MgmtVRF ivrf: MgmtVRF
Phase1_id: R1.cciesec.local
Desc: (none)
IKEv2 SA: local 172.17.0.10/500 remote 10.1.1.1/500 Active
Capabilities:(none) connid:1 lifetime:23:00:59
IPSEC FLOW: permit 47 host 172.17.0.10 host 10.1.1.1
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 137 drop 0 life (KB/Sec) 4182850/3544
Outbound: #pkts enc'ed 140 drop 0 life (KB/Sec) 4182850/3544
Interface: Tunnel100
Profile: GET
Session status: UP-IDLE
Peer: 1.1.1.1 port 848 fvrf: MgmtVRF ivrf: DataVRF
Phase1_id: 1.1.1.1
Desc: (none)
IKEv1 SA: local 172.16.0.10/848 remote 1.1.1.1/848 Active
Capabilities:(none) connid:1060 lifetime:23:39:29
R1#crypto gdoi ks rekey
% There has not been a GDOI policy change for group GETVPN, a rekey is not needed
Are you sure you want to proceed ? [yes/no]: yes
R1#
*Mar 30 16:21:28.833: %GDOI-5-KS_SEND_MCAST_REKEY: Sending Multicast Rekey with policy-replace for group GETVPN from address 1.1.1.1 to 239.1.2.3 with seq # 1
R7#
*Mar 30 16:11:41.650: %GDOI-5-SA_KEK_UPDATED: SA KEK was updated
*Mar 30 16:11:41.650: %GDOI-5-SA_TEK_UPDATED: SA TEK was updated
*Mar 30 16:11:41.650: %GDOI-5-GM_RECV_REKEY: Received Rekey for group GET from 1.1.1.1 to 239.1.2.3 with seq # 1
*Mar 30 16:11:41.650: %GDOI-5-GM_INSTALL_POLICIES_SUCCESS: SUCCESS: Installation of Reg/Rekey policies from KS 1.1.1.1 for group GET & gm identity 239.1.2.3
R7#sh ip mroute vrf MgmtVRF
(*, 239.1.2.3), 01:17:16/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Tunnel100, Forward/Dense, 01:17:16/stopped
(1.1.1.1, 239.1.2.3), 00:00:46/00:02:13, flags: PLT
Incoming interface: Tunnel100, RPF nbr 172.16.0.11
Outgoing interface list: Null
Aucun commentaire:
Enregistrer un commentaire