Ios - cisco

De Wiki doc


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

  1. Configurez une des interfaces de votre équipement dans le réseau de votre serveur tftp
  2. 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

  1. Redémarrez votre équipement
  2. 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)
  3. 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'un reset.
  4. 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.

  1. Initialisez le transfère : tftpdnld
  2. 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

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.

Sources de la section