WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:backup_cfg_cisco

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:services:backup_cfg_cisco [2020/06/22 21:34]
zastava [Ce qu'il faut faire]
wiki:services:backup_cfg_cisco [2020/06/27 18:16] (Version actuelle)
Ligne 29: Ligne 29:
 Et puis on en a reparlé il y a pas longtemps et je me suis chauffé pour lire un peu la doc Cisco pour savoir comment s'y prendre pour implémenter tout le bordel. Et là <del>c'est le drame</del> je découvre qu'il y a déjà quelque chose prévu par Cisco pour faire des sauvegarde de configuration de manière très simple et pire encore c'était presque déjà configuré sur le commutateur du local (il manquait la partie la plus importante de la configuration). Et puis on en a reparlé il y a pas longtemps et je me suis chauffé pour lire un peu la doc Cisco pour savoir comment s'y prendre pour implémenter tout le bordel. Et là <del>c'est le drame</del> je découvre qu'il y a déjà quelque chose prévu par Cisco pour faire des sauvegarde de configuration de manière très simple et pire encore c'était presque déjà configuré sur le commutateur du local (il manquait la partie la plus importante de la configuration).
  
-===== Ce qu'il faut faire ===== +===== Ce qui est en place =====
- +
-<WRAP center round important 60%> +
-Actuellement ce n'est qu'un proof-of-concept déployé en dev et sur le commutateur du local. Voir la partie « Démo ». +
-</WRAP>+
  
 En fait il est possible de définir des « archives de configuration » sur les commutateurs. Ainsi pour définir une archive on doit donner au commutateur un chemin où stocker l'archive (ça peut être un chemin local ou sur le réseau) ainsi qu'une condition pour lancer le processus de création d'archive (un intervalle de temps ou une action). En fait il est possible de définir des « archives de configuration » sur les commutateurs. Ainsi pour définir une archive on doit donner au commutateur un chemin où stocker l'archive (ça peut être un chemin local ou sur le réseau) ainsi qu'une condition pour lancer le processus de création d'archive (un intervalle de temps ou une action).
Ligne 53: Ligne 49:
  
 <code> <code>
-sw(archive-config)# path scp://utilisateur:motdepassesuperduratrouver@192.168.103.178/archives/$h_$t+sw(archive-config)# path scp://utilisateur:motdepassesuperduratrouver@192.168.102.148/var/archives/$h_$t
 </code> </code>
 C.f. : Note sur le nom du fichier <sup>1</sup> C.f. : Note sur le nom du fichier <sup>1</sup>
Ligne 61: Ligne 57:
 </code> </code>
 <code> <code>
-sw(archive-config)# time-period 1440+sw(archive-config)# time-period 20160
 </code> </code>
-On va lancer le processus d'archivage lorsqu'on fait un « write mem » ou toutes les 1440 minutes (toutes les 24h).+On va lancer le processus d'archivage lorsqu'on fait un « write mem » ou toutes les 20160 minutes (toutes les 2 semaines).
  
 <sup>1</sup>** Note sur le nom du fichier: « $h_$t » ** <sup>1</sup>** Note sur le nom du fichier: « $h_$t » **
Ligne 245: Ligne 241:
 Notre dossier ///var/confsw/versions/// contiendra alors un joli dépôt git avec un commit à chaque « write mem ». Notre dossier ///var/confsw/versions/// contiendra alors un joli dépôt git avec un commit à chaque « write mem ».
  
-===== Démo =====+Vous pouvez retrouver le dépôt ici : [[https://gitlab.minet.net/zastava/switchsaves|Confsw]].
  
-Un container tourne en dev+===== Restaurer une configuration ===== 
 + 
 +Pour restaurer une ancienne configuration il suffit en théorie de faire:
 <code> <code>
-ct: 105  +sw> enable 
-hostnameconfsw +sw# copy scp://utilisateur:motdepassesuperduratrouver@192.168.102.148/archives/nom-du-fichier-de-conf startup-config: 
-ip: 192.168.103.178+</code> 
 +Il est possible de voir les dernières archives via 
 +<code> 
 +sw# show archive
 </code> </code>
  
  
-On peut faire un « git log » dans ///var/confsw/versions/// pour voir les commits pendant qu'on fait des « write mem » sur le commutateur du local.+===== Déployer rapidement sur les switchs et autres équipements =====
  
-Les choses intéressantes sur le CT: +Pour déployer la configuration rapidement sur les switchs, on utilise [[https://wiki.minet.net/wiki/services/ansible/|Ansible]]
-<code> + 
-/etc/passwd +Voici le script (très basique) utilisé.
-/etc/rssh.conf +
-/etc/ssh/sshd_config +
-/etc/incron.allow +
-/opt/git_swconfig/git_swconfig.sh +
-/var/spool/incron/johndoe +
-/var/confsw/chroot/ +
-/var/confsw/versions/ +
-/var/log/syslog +
-</code>+
  
-Les choses intéressantes sur le commutateur du local (en mode privilégié): 
 <code> <code>
-Le bloc de configuration « archive ». +- hosts: [switchs] 
-La configuration de « service timestamp log ». +  gather_facts: false 
-Le résultat de « show archive ».+ 
 +  tasks: 
 +    - name : stop archiving 
 +      ios_config: 
 +         lines: 
 +          - archive 
 +          - no archive 
 +    - name: save conf 
 +      ios_config: 
 +        lines: 
 +          - service timestamp log datetime msec year 
 +          archive 
 +          - path scp://utilisateur:motdepassesuperduratrouver@192.168.102.148//var/confsw/archives/$h_$t 
 +          - time-period 20160 
 +          - write-memory 
 </code> </code>
  
-===== Restaurer une configuration =====+Et voici le fichier //hosts// utilisé:
  
-Pour restaurer une ancienne configuration il suffit en théorie de faire: 
 <code> <code>
-sw> enable +[switch:vars] 
-sw# copy scp://utilisateur:motdepassesuperduratrouver@192.168.103.178/archives/nom-du-fichier-de-conf startup-config: +ansible_ssh_common_args='-o Ciphers=aes256-cbc -o KexAlgorithms=diffie-hellman-group1-sha1' 
-</code> +ansible_connection=network_cli 
-Il est possible de voir les dernières archives via +ansible_user=tonidldap 
-<code> +ansible_network_os=ios 
-sw# show archive+ansible_become=no 
 +ansible_become_method=enable 
 +ansible_ssh_pass=tonmdpldap 
 + 
 +[switch_u2] 
 +192.168.102.206 
 +[switch_wifi] 
 +192.168.102.221 
 +192.168.102.222 
 +192.168.102.224 
 +192.168.102.224 
 +192.168.102.225 
 +192.168.102.216 
 +[switch] 
 +192.168.102.201 
 +192.168.102.202 
 +192.168.102.203 
 +192.168.102.204 
 +192.168.102.205 
 +192.168.102.206 
 +192.168.102.207 
 +192.168.102.208 
 +192.168.102.209 
 +192.168.102.210 
 +192.168.102.211 
 +192.168.102.212 
 +192.168.102.213 
 +192.168.102.214 
 +192.168.102.215 
 +192.168.102.217 
 +192.168.102.218 
 +192.168.102.230 
 +192.168.102.240 
 +192.168.102.241 
 +192.168.102.242 
 +192.168.102.243 
 +192.168.102.244 
 +192.168.102.245 
 +192.168.102.246
 </code> </code>
 +
 +Ajoutez également <code>host_key_checking = False</code> dans le fichier //ansible.cfg//. Ca vous permettra d'éviter la vérification de la clé ssh des switchs ou autres équipements.
  
 ===== Autre fonctionnalité des archives Cisco ===== ===== Autre fonctionnalité des archives Cisco =====
- 
- 
  
 Il est possible de journaliser toutes les commandes entrées sur le commutateur par un utilisateur. Combiné avec l'authentification via le service [[wiki:services:radius-switch|Radius-Switch]] ça peut être utile pour savoir //« qui a fait de la merde ? »//. Il est possible de journaliser toutes les commandes entrées sur le commutateur par un utilisateur. Combiné avec l'authentification via le service [[wiki:services:radius-switch|Radius-Switch]] ça peut être utile pour savoir //« qui a fait de la merde ? »//.
wiki/services/backup_cfg_cisco.1592854473.txt.gz · Dernière modification: 2020/06/27 18:15 (modification externe)