Ios - cisco
Mise à jour
Mettre à jour un IOS peut servir à obtenir de nouvelles fonctionnalités, corriger des bogues ou des failles et même ajouter des portes dérobés de la NSA ;). Pour ma part, je vais mettre à jour un routeur Cisco 2610MX initialement en IOS c2600-i-mz.122-16a.bin (ne permettant pas de faire des sous interfaces avec gestion du 802.1Q, autant dire qu'il ne sert à rien puisque ce modèle ne possède qu'un seul port FastEthernet - mais pourquoi ils vendent des merdes pareil ?) vers c2600-ik2o3s-mz.121-27b.bin qui lui à le mérite de proposer au moins la base (on va enfin pouvoir faire du routage avec ce routeur !).
Dans tout les cas, l'IOS doit être transféré sur la mémoire flash de l'équipement. Ce dernier peut réagir de deux façons. Soit il n'y a qu'une seul image et il démarrera dessus, soit il y en a plusieurs et il faudra définir l'image sur laquelle démarrer (sinon il restera sur la première qui a été configurée). Après transfert, il convient de vérifier l'intégrité de l'image avec la méthode suivante (les 3 commandes ci-dessous sont utilisées sur un commutateur 3560cx-12PD-S):
verify /md5 flash:/c3560cx-universalk9-mz.152-7.E2/c3560cx-universalk9-mz.152-7.E2.bin
de prendre connaissance de l'ordre de démarrage actuellement configuré :
show boot
et d'en définir un en rapport avec ce que vous voulez (il est possible d'en mettre plusieurs via un point-virgule) :
boot system flash:/c3560cx-universalk9-mz.152-7.E2/c3560cx-universalk9-mz.152-7.E2.bin;flash:/c3560cx-universalk9-mz.152-4.E5/c3560cx-universalk9-mz.152-4.E5.bin
Par TFTP
- Configurez une des interfaces de votre équipement dans le réseau de votre serveur tftp
- exécutez la commande suivante :
copy tftp: flash:
et renseignez les paramètres cohérents.
Note: j'utilise cet IOS récupéré sur ce site.
Par USB
Non testé mais j'imagine qu'il faut simplement formater une clé USB en FAT32, l'insérer et copier l'IOS dans la flash.
Par SCP
L'usage du serveur SCP embarqué permet également de rapatrier le fichier désiré. Plus de détails dans la section dédiée.
Restauration
Dans le cas où l'IOS de votre équipement rencontre un problème (mise à jour, effacement accidentel, panne de flash...), il est possible de le réinstaller en passant par l'IOS primaire exécuté au démarrage (équivalent à l'initrd sous Linux). L'équipement ayant servit de cobaye pour cette procédure est un routeur Cisco 2610MX. Son IOS est téléchargeable ici et un grand nombre d'autres versions sont récupérables sur ce site.
Par TFTP
- Redémarrez votre équipement
- Au moment de la décompression de l'IOS primaire (le moment exacte varie selon les équipements), envoyez un message de "break" (
<ctrl>+<a>-<f>
sous Minicom) - Un prompt rommon 1 > se présente, il faut changer l'ordre de démarrage dans le registre afin de démarrer systématiquement sur ce prompte (c'est complètement con mais sans ça, l'étape suivante exige un redémarrage qui ne peut que ce solder par un échec puisque plus d'IOS fonctionnel n'est présent). Tapez
confreg 0x2100
suivit d'unreset
. - Entrez des informations réseau cohérente avec votre infra ainsi que l'adresse IP du serveur TFTP contenant l'IOS dont vous avez besoin dans les variables suivantes :
IP_ADDRESS=2.2.2.9
IP_SUBNET_MASK=255.255.255.248
DEFAULT_GATEWAY=2.2.2.10
TFTP_SERVER=2.2.2.10
TFTP_FILE=c2600-i-mz.122-16a.bin
Note: ces variables sont consultables avec la commande set
.
- Initialisez le transfère :
tftpdnld
- Une fois terminé, restaurez l'ordre de démarrage initial:
confreg 0x2102
et redémarrez :reset
Voici le pavé complet :
confreg 0x2100
reset
IP_ADDRESS=2.2.2.9
IP_SUBNET_MASK=255.255.255.248
DEFAULT_GATEWAY=2.2.2.10
TFTP_SERVER=2.2.2.10
TFTP_FILE=c2600-i-mz.122-16a.bin
tftpdnld
confreg 0x2102
reset
Par Xmodem
Quand ça pue vraiment la merde et que plus rien ne va, il me semble que c'est par le Xmodem que l'on règle ça. Je ne me suis pas plus attardé dessus. Cette section sert juste de pense-bête à mot clé. Cette partie est documenté ici chez Cisco.
Sources de la section
- https://supportforums.cisco.com/t5/network-infrastructure-documents/the-please-reset-before-issuing-this-command-error-message-is/ta-p/3129967
- https://www.cisco.com/c/en/us/support/docs/routers/2600-series-multiservice-platforms/12714-76.html
IOS XE
Démarrer sur la configuration locale
Sur un commutateur comportant IOS XE, il arrive que la startup-config ne se charge pas au démarrage. Pour régler ça, il faut aller dans la ROMMON via le boutant "mode" de la face avant de l'équipement lors de sa mise sous tension et taper les commandes suivantes :
flash_init
SWITCH_IGNORE_STARTUP_CFG=0
boot flash:packages.conf
La configuration se chargera aux prochains démarrages.