Archive: Backup de la configuración del IOS

( redes / cisco_ios )

Una de las cosas que echaba en falta en el IOS al venir del JunOS es el backup de configuraciones (aunque tanto en JunOS como IOS uso Rancid) pero desde la versión 12.3 hay disponible un comando de IOS que permite hacer copia de seguridad de las configuraciones. El comando en cuestión es archive y aunque tiene varias opciones aquí solo voy a exponer algunas con varios ejemplos.

El único requerimiento mínimo es el camino donde se van a guardar las copiar de la configuración, que puede ser en el mismo router (flash) o fuera del mismo (usando HTTP, FTP, RCP, o TFTP), por supuesto la recomendación es guardar las configuraciones fuera del router por si falla la flash o el propio router en sí.

Para configurar sus opciones debemos entrar en el modo global de configuración en donde tenemos las siguientes opciones:

Router(config-archive)#?
Archive configuration commands:
  default       Set a command to its defaults
  exit          Exit from archive configuration mode
  log           Logging commands
  maximum       maximum number of backup copies
  no            Negate a command or set its defaults
  path          path for backups
  rollback      Rollback parameters
  time-period   Period of time in minutes to automatically archive the
                running-config
  write-memory  Enable automatic backup generation during write memory

A destacar especialmente en entornos donde varias personas hacen modificaciones es la opción  "write-memory" que genera una copia cada vez que se guarda la configuración con lo cual siempre que se haga cambios tendremos una copia aunque puede generar muchas copias si se producen muchos cambios constantemente, además también destacar "time-period" que hace una copia cada cierto tiempo (aunque para esto prefiero más Rancid) y "maximum" que limita el número de copias a realizar, aunque es recomendable realizar el control de borrado externamente o incluso borrar a mano cuando haya muchas copias, hoy en día un disco duro es muy barato y nunca se sabe cuando nos puede hacer falta una copia de hace tiempo.

Un pequeño ejemplo:

R0#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R0(config)#archive
R0(config-archive)#path disk0:R0
R0(config-archive)#wri
R0(config-archive)#write-memory
R0(config-archive)#end

Con esto conseguimos que cada vez que se guarde la configuración haga una copia en "disk0" con el nombre del propio router "R0" al cual añadirá "-número" (-1, -2, -3, etc) por cada copia que haga.

R0#dir disk0:
Directory of disk0:/

    1  -rw-         839  Aug 17 2008 22:27:08 +00:00  R0-1

Si lo que queremos es guardar una copia en un servidor TFTP remoto podemos hacer lo siguiente:

R0(config-archive)#path tftp://10.10.10.10/R0/copia

con lo que irá guardando copias (copia-1, -2, -3, etc) en el servidor con IP 10.10.10.10 dentro del directorio llamado "R0" (el mismo nombre que el router para una localización posterior rápida). Dos parámetros no mostrados en la ayuda por defecto dentro de PATH son "$h" que indica el nombre del router y "$t" que indica la fecha y hora del router, con lo cual podemos hacer una mini plantilla para todos los routers usando esas variables, así el anterior ejemplo podría convertirse en:

R0(config-archive)#path tftp://10.10.10.10/$h/$t

Para ver las copias que hay además ver la unidad donde se guardan (dir disk0 en el caso anterior) podemos usar:

R0#show archive
There are currently 3 archive configurations saved.
The next archive file will be named disk0:R0-3
 Archive #  Name
   0
   1       disk0:R0-1
   2       disk0:R0-2 <- Most Recent
   3
   4
   5
   6
   7
   8
   9
   10
   11
   12
   13
   14

También nos puede interesar ver que diferencias hay entre una copia y otra para saber que se ha modificado o que hay de diferente (especialmente útil en entornos donde varias personas modifican) y podemos ver las diferencias de 2 formas:

  1. differences muestra las diferencias entre las dos configuraciones, ya sea una copia y la actual o entre 2 copias.
  2. incremental-diffs muestra las líneas del fichero de configuración que se añadirán a la running-config.
R0#show archive config differences disk0:/R0-1 disk0:/R0-3
Contextual Config Diffs:
interface FastEthernet0/0
 -description prueba

Indica que "description prueba" en R0-1 no está y en R0-3 si, en caso contrario en vez de un digno "-" sería un signo "+". Si se omite "disk0:/R0-3" se compara "disk0:/R0-1" con la configuración actual (que en este caso es la misma que disk0:/R0-3 porque se acaba de generar).

Modificado el 3 Enero, 2015
   

Compartiendo conocimiento desde 1995 - I.M.D. I.M.D.