En ésta práctica veremos dos tipos de recuperación:
Si por algún motivo olvidamos la contraseña Enable, todavía tenemos la posibilidad de reescribirla siguiendo el proceso que explicamos a continuación.
La serie 5500 de dispositivos ASA de Cisco utilizan un registro de configuración para definir la configuración de arranque del dispositivo.
Por defecto, el arranque normal utiliza un registro de configuración con valor 0x1. Si queremos arrancar el dispositivo y que no cargue en RAM el fichero de configuración almacenado en la NVRAM y que contiene la contraseña olvidada, debemos modificar el registro de configuración al valor 0x41.
El primer problema lo encontramos cuando intentamos modificar este registro de configuración. Para poder modificarlo tenemos que entrar en modo privilegiado y es imposible entrar sin introducir la contraseña Enable.
Por lo tanto, tenemos que modificar el registro de configuración de otra forma, por ejemplo desde el modo ROMMON.
Para entrar en modo ROMMON, reiniciamos el ASA y presionamos la tecla ESC. Una vez dentro:
rommon #0> confreg 0x41 rommon #1> boot
Cuando aparece el prompt, entramos en modo privilegiado, después en modo configuración, copiamos el fichero de configuración de la NVRAM a la RAM, cambiamos la contraseña de Enable, reestablecemos el registro de configuración a 0x1, copiamos la configuración activa a la NVRAM y reiniciamos el dispositivo.
ciscoasa> enable ciscoasa# configure terminal ciscoasa(config)# copy startup-config running-config ciscoasa(config)# enable password nueva_contraseña ciscoasa(config)# config-register 0x1 ciscoasa(config)# copy running-config startup-config ciscoasa# reloadRecuperación de imagen borrada.
Si por algún motivo borramos la imagen de la flash o la misma se corrompe, el ASA no puede arrancar.
Una forma de copiar una nueva imagen consiste en entrar en modo ROMMON y obtenerla desde un servidor TFTP.
Para ello seguiremos los siguientes pasos:
rommon #0> ADDRESS=192.168.1.1 rommon #1> SERVER=192.168.2.1 rommon #2> GATEWAY=192.168.1.2 rommon #3> IMAGE=asa.bin rommon #4> PORT=Ethernet0/0 rommon #5> tftp
ciscoasa# configure terminal ciscoasa(config)# interface Ethernet0/0 ciscoasa(config-if)# ip address 192.168.1.1 255.255.255.0 ciscoasa(config-if)# no shutdown ciscoasa(config-if)# nameif inside ciscoasa(config-if)# security-level 100 ciscoasa# copy tftp:asa.bin flash:asa.bin
Habitualmente estamos acostumbrados a que las decisiones de enrutamiento se basen en la dirección de destino de los paquetes. PBR permite sobreescribir la tabla de enrutamiento para cambiar la ruta que el tráfico sigue. PBR es de las más versátiles y potentes opciones de configuración en los routers Cisco. Tiene un gran parecido a las sentencias "Si condición Entonces acción" de los lenguajes de programación. La lógica de los mapas de rutas es la siguiente:
route-map MiRuta permit 10 match MiCondicion_1 set MiAcción_1 route-map MiRuta permit 20 match MiCondicion_2 set MiAccion_2 set MiAccion_3 route-map MiRuta permit 30 match MiCondicion_3 Micondicion_4 set MiAccion_1 set MiAccion_2 set MiAccion_4 route-map MiRuta deny 65536 match MiCondicion_5
El orden de comprobación de secuencias es 10, 20, 30 y finalmente 65536. Cuando la condición de una secuencia concuerda se ejecuta la acción asociada y no se comprueban más secuencias.
En la siguiente práctica veremos cómo podemos controlar totalmente la ruta que sigue un paquete desde el origen al destino sin utilizar protocolos de enrutamiento, rutas estáticas o rutas por defecto en los routers. Utilizaremos la siguiente topología:
Si no utilizáramos PBR la ruta que seguirían los paquetes ICMP desde pc a router5 sería la siguiente:
Pero utilizando PBR podemos modificar la ruta de la siguiente forma:
Configuración de router1:
hostname router1 ! interface FastEthernet0 ip address 192.168.0.2 255.255.255.0 ip policy route-map RutaIda ! interface Serial0 ip address 192.168.1.1 255.255.255.0 clock rate 56000 ! interface Serial1 ip address 192.168.5.1 255.255.255.0 clock rate 56000 ip policy route-map RutaVuelta ! interface Serial2 ip address 192.168.4.2 255.255.255.0 clock rate 56000 ! access-list 1 permit ip 192.168.0.1 access-list 2 permit ip 192.168.5.2 ! route-map RutaIda permit 10 match ip address 1 set ip next-hop 192.168.1.2 ! route-map RutaVuelta permit 10 match ip address 2 set ip next-hop 192.168.4.1 ! end
Configuración de router2:
hostname router2 ! interface Serial0 ip address 192.168.1.2 255.255.255.0 ip policy route-map RutaIda ! interface Serial1 ip address 192.168.2.1 255.255.255.0 clock rate 56000 ip policy route-map RutaVuelta ! access-list 1 permit ip 192.168.0.1 access-list 2 permit ip 192.168.5.2 ! route-map RutaIda permit 10 match ip address 1 set ip next-hop 192.168.2.2 ! route-map RutaVuelta permit 10 match ip address 2 set ip next-hop 192.168.1.1 ! end
Configuración de router3:
hostname router3 ! interface Serial0 ip address 192.168.2.2 255.255.255.0 ip policy route-map RutaIda ! interface Serial1 ip address 192.168.3.1 255.255.255.0 clock rate 56000 ip policy route-map RutaVuelta ! access-list 1 permit ip 192.168.0.1 access-list 2 permit ip 192.168.5.2 ! route-map RutaIda permit 10 match ip address 1 set ip next-hop 192.168.3.2 ! route-map RutaVuelta permit 10 match ip address 2 set ip next-hop 192.168.2.1 ! end
Configuración de router4:
hostname router4 ! interface Serial0 ip address 192.168.3.2 255.255.255.0 ip policy route-map RutaIda ! interface Serial1 ip address 192.168.4.1 255.255.255.0 ip policy route-map RutaVuelta ! access-list 1 permit ip 192.168.0.1 access-list 2 permit ip 192.168.5.2 ! route-map RutaIda permit 10 match ip address 1 set ip next-hop 192.168.4.2 ! route-map RutaVuelta permit 10 match ip address 2 set ip next-hop 192.168.3.1 ! end
Configuración de router5:
hostname router5 ! interface Serial0 ip address 192.168.5.2 255.255.255.0 ip policy route-map RutaVuelta ! access-list 2 permit ip 192.168.5.2 ! route-map RutaVuelta permit 10 match ip address 2 set ip next-hop 192.168.5.1 ! end
Es un ejemplo un tanto retorcido pero la finalidad del mismo es la visualización de la potencia que otorga PBR para dirigir el tráfico arbitrariamente. Otros casos más prácticos serían:


Referencias
Los IOS de Cisco con una versión igual o superior a la 12.2 proporcionan dos métodos (Setup y AutoInstall) para simplificar o automatizar la configuración de los dispositivos Cisco. Setup es un modo interactivo basado en la línea de comandos que guía al usuario en la primera configuración del dispositivo. AutoInstall permite cargar ficheros de configuración remotos de forma automática en los dispositivos.
Después de cargar el IOS en la RAM, un dispositivo inicia el proceso AutoInstall si detecta que no tiene una configuración almacenada en la NVRAM y alguna de sus interfaces tiene conectividad.
Antes de poder descargar un fichero de configuración de un servidor TFTP, el dispositivo necesita obtener una dirección IP. El tipo de interfaz utilizada determina el tipo de servicio que puede proporcionar la dirección IP. Si se utilizan interfaces Ethernet, Token Ring o FDDI, AutoInstall intentará obtener información de red utilizando DHCP, BOOTP o RARP. Si son interfaces seriales con HDLC, probará con SLARP. Si en cambio son interfaces seriales con Frame Relay, probará con BOOTP.
En esta práctica utilizaremos interfaces Ethernet y configuraremos los servicios DHCP y TFTP. Además, implementaremos dos topologías diferentes para alcanzar el mismo objetivo. El objetivo consiste en obtener la siguiente topología (Figura 1) pasando los ficheros de configuración automáticamente a router1, router2 y router3:
Figura1: Topología que obtendremos al finalizar el proceso.
Una vez obtengan los ficheros de configuración el último paso consistirá en cablear los routers.
Primero crearemos los ficheros de configuración router1.cfg, router2.cfg y router3.cfg.
Contenido de router1.cfg:
hostname router1 ! interface FastEthernet0 ip address 192.168.0.1 255.255.255.0 ! interface Serial0 ip address 172.16.0.1 255.255.255.0 ! router rip network 192.168.0.0 network 172.16.0.0 ! end
Contenido de router2.cfg:
hostname router2 ! interface FastEthernet0 ip address 172.16.1.2 255.255.255.0 ! interface Serial0 ip address 172.16.0.2 255.255.255.0 clock rate 56000 ! router rip network 172.16.0.0 network 172.16.1.0 ! end
Contenido de router3.cfg:
hostname router3 ! interface FastEthernet0/0 ip address 172.16.1.1 255.255.255.0 ! interface FastEthernet0/1 ip address 10.0.1.1 255.255.255.0 ! router rip version 2 network 10.0.0.0 network 172.16.0.0 ! end
Topología 1: Utilizando un proxy.
Figura2: Topología ubicando servicios en varios dispositivos.
Configuración del router4 (proxy):
Router>enable Router#config terminal Router(config)#hostname router4 router4(config)#interface fa0/0 router4(config-if)#ip address 192.168.1.254 255.255.255.0 router4(config-if)#ip helper-address 192.168.2.1 router4(config-if)#ip helper-address 192.168.2.2 router4(config-if)#no shutdown router4(config-if)#exit router4(config)#interface fa0/1 router4(config-if)#ip address 192.168.2.254 255.255.255.0 router4(config-if)#no shutdown router4(config-if)#end router4#copy run start
Configuración del router5 (DHCP):
Router>enable Router#config terminal Router(config)#hostname router5 router5(config)#interface fa0 router5(config-if)#ip address 192.168.2.1 255.255.255.0 router5(config-if)#no shutdown router5(config-if)#exit router5(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.254 router5(config)#ip dhcp pool router1 router5(config-dhcp)#host 192.168.1.1 255.255.255.0 router5(config-dhcp)#client-identifier 0063.6973.636f.2d30.3030.662e.3233.3766.2e35.6238.642d.4661.30 router5(config-dhcp)#bootfile router1.cfg router5(config-dhcp)#option 150 ip 192.168.2.2 router5(config-dhcp)#exit router5(config)#service dhcp router5(config)#ip dhcp pool router2 router5(config-dhcp)#host 192.168.1.2 255.255.255.0 router5(config-dhcp)#client-identifier 0063.6973.636f.2d30.3030.662e.3233.3766.2e35.3862.622d.4661.30 router5(config-dhcp)#bootfile router2.cfg router5(config-dhcp)#option 150 ip 192.168.2.2 router5(config-dhcp)#exit router5(config)#ip dhcp pool router3 router5(config-dhcp)#host 192.168.1.3 255.255.255.0 router5(config-dhcp)#client-identifier 0063.6973.636f.2d30.3031.392e.6537.3066.2e34.6665.302d.4661.302f.30 router5(config-dhcp)#bootfile router3.cfg router5(config-dhcp)#option 150 ip 192.168.2.2 router5(config-dhcp)#end router5#copy run start
La configuración del servidor TFTP consiste en configurar la interfaz de red (192.168.2.2/24, gateway=192.168.2.254), ubicar los ficheros de configuración (router1.cfg, router2.cfg y router3.cfg) en la carpeta correspondiente e iniciar el servicio.
Encendemos router1, router2 y router3 y esperamos a que obtengan su fichero de configuración.
Topología 2: Utilizando un todo en uno.
Figura3: Topología ubicando servicios en un único dispositivo.
Configuración del router4 (DHCP y TFTP):
Router>enable Router#config terminal Router(config)#hostname router4 router4(config)#interface fa0/0 router4(config-if)#ip address 192.168.1.254 255.255.255.0 router4(config-if)#no shutdown router4(config-if)#exit router4(config)#ip dhcp pool router1 router4(config-dhcp)#host 192.168.1.1 255.255.255.0 router4(config-dhcp)#client-identifier 0063.6973.636f.2d30.3030.662e.3233.3766.2e35.6238.642d.4661.30 router4(config-dhcp)#bootfile router1.cfg router4(config-dhcp)#option 150 ip 192.168.2.2 router4(config-dhcp)#exit router4(config)#service dhcp router4(config)#ip dhcp pool router2 router4(config-dhcp)#host 192.168.1.2 255.255.255.0 router4(config-dhcp)#client-identifier 0063.6973.636f.2d30.3030.662e.3233.3766.2e35.3862.622d.4661.30 router4(config-dhcp)#bootfile router2.cfg router4(config-dhcp)#option 150 ip 192.168.2.2 router4(config-dhcp)#exit router4(config)#ip dhcp pool router3 router4(config-dhcp)#host 192.168.1.3 255.255.255.0 router4(config-dhcp)#client-identifier 0063.6973.636f.2d30.3031.392e.6537.3066.2e34.6665.302d.4661.302f.30 router4(config-dhcp)#bootfile router3.cfg router4(config-dhcp)#option 150 ip 192.168.2.2 router4(config-dhcp)#exit router4(config)#tftp-server flash:router1.cfg router4(config)#tftp-server flash:router2.cfg router4(config)#tftp-server flash:router3.cfg router4(config)#exit router4#copy run start
Encendemos router1, router2 y router3 y esperamos a que obtengan su fichero de configuración.
Apéndice: Cómo obtener el identificador de cliente (client-identifier)El identificador de cliente es una cadena de números hexadecimales. Para obtener esta cadena tenemos que convertir la cadena de caracteres nullcisco-direcciónMAC-interfaz_que_solicita a números hexadecimales.
Por ejemplo, si el router1 realiza la petición DHCP por la interfaz FastEthernet0 que tiene la dirección MAC 000f.237f.5b8d tenemos que convertir la cadena nullcisco-000f.237f.5b8d-Fa0 a números hexadecimales:
00c i s c o - 0 0 0 f . 2 3 7 f . 5 b 8 d - F a 0 00636973636f2d303030662e323337662e356238642d466130
Finalmente separamos con puntos esta cadena cada cuatro números hexadecimales:
0063.6973.636f.2d30.3030.662e.3233.3766.2e35.6238.642d.4661.30 = client-identifer
Esta tabla puede resultar útil para realizar la conversión.
Referencias