lunes, 16 de octubre de 2017

CISCO – ASA / ISR Despliegue Red Wan sobre VPNs Dinamicas, MPLS y tuneles GRE

Como leer e interpretar las líneas de comando
              En el presente manual se usan las siguientes convenciones para comandos a ingresar en la interfaz de lineas de configuracion (CLI).

Comando para ingresar al modo de configuración global:
                 configure terminal
Comando para especificar el valor de una variable:
                 ntp server 172.18.58.200
Comando cuya variable usted debe definir:   
                 Class-map [highest class name]
Comando para ingresar al modo de configuración privilegiado y campos universales imperativos      :
                 Router>enable
Las comandos de configuración muy largos y que ocupan varias lineas se subrayan
                 police rate 10000 pps burst 10000 packets conform-action
Las variables que se muestran como salida de respuesta a peticiones en CLI son sombreadas
interface Van64   
 ip address 10.5.204.5 255.255.255.0

Introducción
          Hasta hace algunos pocos dias se ha completado un despliegue de conexión de redes Wan, en la cual determinado cliente deseaba conectar sites remotos a su sitio principal y para lo cual adquirió nuevo equipamiento Cisco, es decir, un par de ISR de la serie 4000 y un ASA 5516 con Firepower.
Desde entonces se desplego una topologia donde:
1.      La mayoria de las sucursales se han conectado al site principal via MPLS y su contingencia VPN dinamica a traves de una conexión ADSL.
2.      El resto de sucursales solo  se conecta al site principal mediante VPN dinamica a traves de una conexión ADSL.
3.      En cada modo de conexión se ha hecho pasar un tunel GRE para la trasmision de datos y protocolos de enrutamiento.


Proceso 1: Definiendo topología y plan de implementación.
Paso 1: Diseñar el plan de implantación y asentar precedentes:
a)      Listado de ISPs disponibles.
b)      Creación del direccionamiento IP a utilizar.
c)       Creación de segmentos de red para interconexión de nuevos equipos ISR sobre núcleo de red.
d)      Configuración de interfaces en núcleo de red y firewall, así como su enrutamiento.
e)      Configuración base e interconexión de equipos ISR entre ellos y la red.
f)       Configuración de túneles y enrutamiento.
g)      Configuración VPN dinámica en Firewall.
h)      Diseño, implementación, pruebas y optimización de plantillas de configuración para routers remotos.
i)        Migración.

Paso 2: Diseño de la topología, validar Figura 1 y 2. Donde el módulo de interconexión WAN se une al núcleo de red y al módulo de interconexión con ISPs (firewall).

Figura1.: Topología de interconexión

Figura2.: Topología desde punto de vista de los túneles y Vpns dinámicas
El diseño se basa en la publicación que Cisco realiza en Octubre de 2016 y actualiza en Abril de 2017, Despliegue IWAN, en la cual a través de routers ISR o ASR se establece comunicación hacia sedes remotas mediantes túneles GRE encriptados que pudiesen viajar a través de redes MPLS e Internet. En nuestro caso de ejemplo, se han realizados varias modificaciones a la publicación original, pero que cumple con ciertas expectativas. Favor validar Figura3.
Entre las modificaciones realizadas al diseño se destaca:
1)      No se utiliza VRF.
2)      No se utiliza DMVPN, lo que se sustituye por VPN dinámicas de lado de las conexiones que utilizan las redes públicas de  internet.
3)      Se utiliza HSRP como esquema de redundancia del lado del site principal y los ISR o ASR.
4)      Por limitaciones de routers en sitios remotos no se utiliza la inteligencia IWAN.
5)      Existe balanceo de tráfico en los sites donde existen ambos tipos de conexión, tanto MPLS como DSL.

Figura3.: Topología de diseño base Cisco IWAN
Proceso 2: Ejecutando plan de implementación

Paso 1: Listar proveedores ISPs disponibles.
1)      Level3.
2)      Cantv.
3)      Viptel.

Paso 2: Creación del direccionamiento IP, ejemplo:

Direccionamiento
Observación
172.30.238.0/29
Interconexión núcleo de red hasta los ISR/ASR
172.30.253.0/29
Interconexión firewall hasta los ISR/ASR
172.29.0.0/29
Interconexión hacia proveedor MPLS, segmento otorgado por proveedor
172.30.240.0/23
Túneles desde site principal al remoto a través de internet y VPN dinámica
172.30.242.0/23
Túneles desde site principal al remoto a través de MPLS
192.168.254.0/24
Loopback para inicio de Túneles desde site principal al remoto a través de internet y VPN dinámica
192.168.0.0/24
Loopback para gestión de equipos remotos y monitoreo
Tabla1.: Direccionamiento IP del diseño.
Paso 3: Configuración de interfaces dentro de equipo del núcleo de red y protocolo de enrutamiento. Se agrega el ejemplo del Switch Core 1, la configuración del otro integrante del núcleo es similar salvo por las IPs. Validar Figura 4.

Figura4.: Topología de diseño base Cisco IWAN – Detalle interconexión

vlan252
 name LAN-TO-WAN_ISR
vlan253
 name MPLS_Level3
vlan254
 name DMZ_Firewall
!

key chain LAN-KEY
 key 1
  key-string contasena_segun_diseno
!
interface Port-channel3
 description # Conectado a WAN-ISR4431-1 #
 switchport access vlan 252
 switchport mode access
 load-interval 30
 carrier-delay msec 0
!
interface Port-channel4
 description # Conectado a DMZ_Firewall y WAN_MPLS #
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 253,254
 switchport mode trunk
 load-interval 30
 carrier-delay msec 0
!
interface Port-channel5
 description # Conectado a DMZ_Firewall Asa-FW #
 switchport access vlan 254
 switchport mode access
 load-interval 30
 carrier-delay msec 0

interface GigabitEthernet0/27
 description # Conectado a WAN-ISR4431-1 Gig0/0/0 #
 switchport access vlan 252
 switchport mode access
 channel-group 3 mode on
!
interface GigabitEthernet0/28
 description # Conectado a WAN-ISR4431-1 Gig0/0/1 #
 switchport access vlan 252
 switchport mode access
 channel-group 3 mode on
!
interface GigabitEthernet0/29
 description # Conectado a WAN-ISR4431-1 Gig0/0/2 #
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 253,254
 switchport mode trunk
 channel-group 4 mode on
!
interface GigabitEthernet0/30
 description # Conectado a WAN-ISR4431-1 Gig0/0/3 #
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 253,254
 switchport mode trunk
 channel-group 4 mode on
!
interface Vlan252
 description # Conectado a LAN-TO-WAN_ISR #
 ip address 172.30.238.2 255.255.255.248
 ip authentication mode eigrp 100 md5
 ip authentication key-chain eigrp 100 LAN-KEY
 standby 252 ip 172.30.238.1
 standby 252 timers msec 150 msec 900
 standby 252 priority 110
 standby 252 preempt
!
router eigrp 100
 network Redes_internas_a_compartir wilcard
 network 172.30.238.0 0.0.0.7
 passive-interface default
 no passive-interface Vlan252
 no passive-interface Port-channel3

Paso 4: Configuración de interfaces dentro de equipo del firewall y enrutamiento.

interface GigabitEthernet1/7
 description # Conectado a Core1 Gig0/37 #
 channel-group 1 mode active
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet1/8
 description # Conectado a Core1 Gig0/38 #
 channel-group 1 mode active
 no nameif
 no security-level
 no ip address
!
interface Port-channel1
 description # Interfaz de conexion L3 a DMZ_Firewall WAN_ISR4431 #
 lacp max-bundle 8
 port-channel min-bundle 2
 nameif dmz_wan_isr4431
 security-level 75
 ip address 172.30.253.1 255.255.255.248 standby 172.30.253.2
!
object-group network VPN_WAN_ISR4431
 network-object host 172.30.253.4
 network-object host 172.30.253.5
 network-object host 172.30.253.6
!
access-list dmz_wan_isr4431 extended permit gre object-group VPN_WAN_ISR4431 any
!
nat (dmz_wan_isr4431,outside) source static VPN_WAN_ISR4431 VPN_WAN_ISR4431 destination static obj_any obj_any
!
crypto ipsec security-association pmtu-aging infinite
crypto dynamic-map Sitios_Remotos_dyn_map 10 set pfs
crypto dynamic-map Sitios_Remotos_dyn_map 10 set ikev1 transform-set ESP-AES-256-SHA
crypto dynamic-map Sitios_Remotos_dyn_map 10 set security-association lifetime seconds 3600
crypto dynamic-map Sitios_Remotos_dyn_map 10 set reverse-route
crypto map outside_map 65535 ipsec-isakmp dynamic Sitios_Remotos_dyn_map
crypto map outside_map interface outside_viptel
crypto map outside_map interface outside_cantv_metro
!
crypto isakmp identity address
no crypto isakmp nat-traversal
crypto ikev1 enable outside_viptel
crypto ikev1 enable outside_cantv_metro
crypto ikev1 ipsec-over-tcp port 10000
crypto ikev1 policy 10
 authentication pre-share
 encryption aes-256
 hash sha
 group 2
 lifetime 86400
!
tunnel-group Sitios_Remotos_dyn_map type ipsec-l2l
tunnel-group Sitios_Remotos_dyn_map general-attributes
 default-group-policy GroupPolicyVPN_s2s_dyn
tunnel-group Sitios_Remotos_dyn_map ipsec-attributes
 ikev1 pre-shared-key S1t10s_REmot05

Paso 5: Configuración ejemplo sobre sitios remotos, específicamente para VPN Dinámica.

ip multicast-routing
!
ip pim autorp listener
!
key chain LAN-KEY
 key 1
   key-string setrys2k17
!
ip route 200.11.139.53 255.255.255.255 dhcp
ip route 190.60.41.76  255.255.255.255 dhcp
ip route 172.30.253.4  255.255.255.255 dhcp
!
ip access-list extended Dynamic_VPN_Sitio_Pcpal
 remark +---- Trafico IP Loopback0 ----+
 permit gre host 192.168.254.254 any log
!
crypto isakmp policy 10
 encr aes 256
 authentication pre-share
 group 2
crypto isakmp key S1t10s_REmot05 address 200.11.139.53
crypto isakmp key S1t10s_REmot05 address 190.60.41.76
!
crypto ipsec transform-set ESP-AES-256-SHA esp-aes 256 esp-sha-hmac
!
crypto map Sitio_Principal_map 10 ipsec-isakmp
 set peer 200.11.139.53
 set transform-set ESP-AES-256-SHA
 set pfs group2
 match address Dynamic_VPN_Sitio_Pcpal
crypto map Sitio_Principal_map 20 ipsec-isakmp
 set peer 190.60.41.76
 set transform-set ESP-AES-256-SHA
 set pfs group2
 match address Dynamic_VPN_Sitio_Pcpal
!
interface Loopback0
 description # Interfaz origen de Tunnel a Sitio Principal #
 ip address 192.168.254.254 255.255.255.255
 ip pim sparse-mode
 hold-queue 1024 in
 hold-queue 1024 out
!
interface Loopback1
 description # Interfaz Fuente de Control #
 ip address 192.168.0.254 255.255.255.255
 ip pim sparse-mode
 hold-queue 1024 in
 hold-queue 1024 out
!
ip pim register-source Loopback0
!
interface Tunnel10
 description # Conectado a Sitio Principal via DYN_VPN #
 bandwidth 2048
 ip address 172.30.240.10 255.255.254.0
 no ip redirects
 ip mtu 1400
 ip hello-interval eigrp 200 6
 ip hold-time eigrp 200 60
 ip authentication mode eigrp 200 md5
 ip authentication key-chain eigrp 200 LAN-KEY
 ip pim dr-priority 0
 ip pim nbma-mode
 ip pim sparse-mode
 ip nhrp authentication setrys
 ip nhrp map 172.30.240.1 172.30.253.4
 ip nhrp map multicast 172.30.253.4
 ip nhrp network-id 101
 ip nhrp holdtime 120
 ip nhrp nhs 172.30.240.1
 ip nhrp registration no-unique
 ip tcp adjust-mss 1360
 tunnel source Loopback0
 tunnel destination 172.30.253.4
!
router eigrp 200
 passive-interface default
 no passive-interface Tunnel10
 network 172.30.240.0 0.0.1.255
 network 172.30.242.0 0.0.1.255
 network 192.168.0.254 0.0.0.0
 network 192.168.90.0 0.0.0.255
 no auto-summary

Paso 6: Configuración ejemplo sobre sitios remotos, específicamente para conexión a proveedor MPLS.

interface Tunnel11
 description # Conectado a Sitio Principal via MPLS #
 bandwidth 2048
 ip address 172.30.242.10 255.255.254.0
 no ip redirects
 ip mtu 1400
 ip hello-interval eigrp 200 6
 ip hold-time eigrp 200 60
 ip authentication mode eigrp 200 md5
 ip authentication key-chain eigrp 200 LAN-KEY
 ip pim dr-priority 0
 ip pim nbma-mode
 ip pim sparse-mode
 ip nhrp authentication setrys
 ip nhrp map 172.30.242.1 172.29.0.12
 ip nhrp map multicast 172.29.0.12
 ip nhrp network-id 104
 ip nhrp holdtime 120
 ip nhrp nhs 172.30.242.1
 ip nhrp registration no-unique
 ip tcp adjust-mss 1360
 tunnel source FastEthernet0/1
 tunnel destination 172.29.0.12
!
router eigrp 200
no passive-interface Tunnel11
!

Paso 7: Verificación de establecimiento de VPN, vecindad de enrutamiento y compartimiento de rutas.

Figura5.: Sitio Remoto 1, verifiacion de interfaces, verificación de vecindades y tabla de enrutamiento.


Figura6.: Sitio Remoto 2, establecida la VPN, vecindad EIGRP, tabla de enrutamiento y prueba PING.