Il peut parfois être problématique de passer d’une ancienne version d’ios vers une plus récente.
En effet nous pouvons rencontrer certaines incompatibilités : matériel (manque de ram), logiciel (l’ancienne configuration n’est plus compatible).
Ici je vais vous expliquer la procédure que j’ai suivie lors de la migration d’un firewall Cisco asa en version 8 vers la version 9.
La version 9 a besoin pour fonctionner de 512 mo de ram cependant le FW à migrer ne disposait que de 256 mo. Il a donc fallu partir sur un FW neuf, sauvegarder, implémenter et mettre à jour l’ancienne configuration sur le nouveau FW.
Voici un petit exemple de firewall cisco asa :
Etape 1 : Sauvegarde de la configuration
FW1 : Ancien Firewall
FW2 : Nouveau Firewall
On commence par sauvegarder la configuration du FW1 en TFTP :
[sh]copy system:running-config tftp://192.168.1.110[/sh]
Cette commande va générer et stocker un fichier .cfg sur notre serveur TFTP, celui-ci contient la configuration de notre FW1.
Renommer votre fichier .cfg en startup-config (sans extention)
Etape 2 : Preparation à la migration du seconde FW
La version flash et asdm du FW1 ne sont pas identiques à celles du FW2 il va falloir donc le downgrade FW2 avant d’appliquer la configuration sauvegarder précédemment.
Pour connaitre la version de la flash :
[sh]show version | include bin[/sh]
Pour connaitre la version de l’asdm
[sh]show asdm image[/sh]
On récupère ensuite les deux .bin (asdm et flash) sur le site de cisco qu’on place à la racine de notre serveur tftp.
Sur notre FW2 on exécute la commande pour copier la nouvelle version de la flash
[sh]copy tftp disk0[/sh]
Address or name of remote host ? IP_SRV_TFTP
Source filename ? VERSION_FLASH_OS (.bin)
Destination filename ? Laisser par défaut
On précise maintenant quelle version d’ios utiliser au FW au prochain reboot
[sh]boot system disk0:/VERSION_FLASH_OS (.bin)[/sh]
on sauvegarde les modifications
[sh]write memory[/sh]
et on redémarre le FW :
[sh]reload noconfirm[/sh]
On vérifie maintenant que la version à bien été downgrade.
[sh]show version | include bin[/sh]
Faite la même chose pour copier le .bin de l’asdm et exécuter la commande suivante pour préciser la version d’asdm à utiliser par le FW au prochain reboot
[sh]asdm image disk0:/VERSION_FLASH_ASDM (.bin)[/sh]
on sauvegarde les modifications
[sh]write memory[/sh]
et on redémarre le FW :
[sh]reload noconfirm[/sh]
Etape 3 : Restauration de la configuration du FW1 vers FW2
On va maintenant restaurer la configuration du FW2 avec la configuration du FW1
Pour se faire on upload notre startup-config sur le FW2 en TFTP
[sh]copy tftp disk0[/sh]
Address or name of remote host ? IP_SRV_TFTP
Source filename ? startup-config
Destination filename ? startup-config
On copie maintenant le fichier startup-config contenu dans la flash vers l’espace mémoire dédié à la startup. Lorsque le FW redémarrera il chargera la configuration contenu dans l’espace mémoire de la startup.
[sh]copy flash:/startup-config startup-config[/sh]
On redémare le FW
[sh]reload noconfirm[/sh]
on sauvegarde les modifications
[sh]write memory[/sh]
Etape 4 : Mise à jour de la version
Maintenant que notre FW2 dispose de la même configuration que notre FW1 nous allons le mettre à jour dans la dernière version d’ios.
Pour se faire il faut télécharger la dernière version sur le site de cisco et répéter la procédure réaliser toute à l’heure grâce aux commandes suivantes :
[sh]copy tftp disk0[/sh]
[sh]boot system disk0:/VERSION_FLASH_iOS (.bin)[/sh]
[sh]no boot system disk0:/OLD_VERSION_FLASH_iOS (.bin)[/sh]
[sh]reload noconfirm[/sh]
Lors d’un changement majeur de version vous devriez avoir pas mal d’erreur au boot du FW.
Pour le debug vous avez un fichier de log enregistré sur la flash :
[sh]INFO : MIGRATION -Saving the startup errors to file ‘flash:upgrade_startup_errors[/sh]
Vous pouvez le récupérer en tftp avec la commande suivante
[sh]copy disk0:/upgrade_startup_errors_xxxxxxxxx.log tftp:/[/sh]