Introduction

Vous connaissez peut être déjà des outils tel que Rancid qui permettent de sauvegarder des confiruations de vos équipements. Pour Cisco il y a encore plus simple si vous disposez d'IOS récent.

La commande archive disponible sur les dernières versions d’IOS permet en effet de sauvegarder la configuration des équipements à intervalle régulier ou au moment du write memory (sauvegarde de la configuration du running en nvram).

RTR01#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
RTR01(config)#archive
RTR01(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

Sauvegarde des configurations

Configuration

La configuration suivante permet de sauvegarder la configuration du routeur à chaque fois que l’utilisateur exécute la commande write-memory. La sauvegarde se réalise sur le serveur ssh 192.168.1.1 avec les informations données dans la commande (login, mot de passe, path et nom du fichier). Attention à bien mettre les 2 / quand vous spécifier le répertoire de destination.

Les fichiers se nommeront RTR01-x où x s’incrémente à chaque sauvegarde.

RTR01#sh run | beg archive
archive
 path scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01
 write-memory

Dans l’exemple suivant, le fichier de sauvegarde est RTR01-21.

RTR01#wr
Building configuration...
[OK]
Writing /home/cisco/RTR01-21 ! Sink: C0644 11785 RTR01-21

RTR01#

Vérification

Il est ensuite possible de voir les sauvegardes :

RTR01#sh archive
The next archive file will be named scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-22
 Archive #  Name
  0       scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-15
  1       scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-16
  2       scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-17
  3       scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-18
  4       scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-19
  5       scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-20
  6       scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-21 <- Most Recent
  7       scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-7
  8       scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-8
  9       scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-9
  10      scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-10
  11      scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-11
  12      scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-12
  13      scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-13
  14      scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-14

Différence de Configuration

Il est possible de voir les différences de configuration soit directement sur l’équipement soit sur le serveur Linux.

Cisco

L’avantage du diff sur l’équipement Cisco est le rappel du contexte. Nous voyons par exemple que les commandes log config et logging enable font parties de la configuration globale archive.

 RTR01# show archive config differences scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-19 scp://cisco:MotdePAsse@192.168.1.1//home/cisco/RTR01-20
 Sending file modes: C0644 11756 RTR01-19
 Sending file modes: C0644 11814 RTR01-20
 Sending file modes: C0644 11756 RTR01-19
!! Sending file modes: C0644 11814 RTR01-20
!!
Contextual Config Diffs:
archive
 +log config
  +logging enable
+ip access-list extended titi
Linux

Sous Linux nous n’avons qu’une comparaison de fichier texte.

[root@svrLinux cisco]# diff RTR01-19 RTR01-20
3,4c3,4
< ! Last configuration change at 13:26:48 CEST Fri May 30 2008 by fred
< ! NVRAM config last updated at 13:26:50 CEST Fri May 30 2008 by fred
---
> ! Last configuration change at 13:32:14 CEST Fri May 30 2008 by fred
> ! NVRAM config last updated at 13:32:41 CEST Fri May 30 2008 by fred
102a103,104
>  log config
>   logging enable
292a295
> ip access-list extended titi

Rollback

Si la dernière configuration amène des problèmes il est possible de rapidement reprendre une version qui fonctionnait correctement.

RTR01#configure replace scp://cisco:mdp@192.168.1.1//home/cisco/RTR01-08

Il est possible de remplacer la configuration actuelle par la startup

R1#configure replace nvram:startup-config

Suivi des modifications

La commande archive permet aussi de loguer toutes les modifications effectuées sur l'équipement.

Configuration

La configuration suivante permet d’enregistrer toutes les commandes passées par un utilisateur.

RTR01#sh run | beg archive
archive
 log config
  logging enable

Par défaut, les 100 dernières valeurs sont enregistrées.

RTR01(config-archive-log-cfg)#logging size ?
  <1-1000>  Queue length (default 100)

Il est aussi possible d’envoyer un message syslog à chaque modification.

RTR01#sh run | beg arch
archive
 log config
  logging enable
  notify syslog

Vérification

Voici un exemple. Nous voyons clairement la dernière commande passée et par quel utilisateur.

Création d’une ACL
RTR01#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
RTR01(config)#ip access-list extended titi
Vérification
RTR01#show archive log config all
 idx   sess           user@line      Logged command
    1     1       fred@vty0     |  logging enable
    2     1       fred@vty0     |  ip access-list extended titi

Liens