Formato del nombre de los ficheros IOS

Los ficheros de IOS tienen un formato concreto donde indica plataforma, características, formato y si está o no comprimido. El formato del nombre es como esto:

xxxx-yyy-ww.aaa-bb.bin

1. xxxx es la platforma o hardware:

  • c1005 – Para Hardware 1005
  • c1600 – Para Hardware 1600
  • c1700 – Para Hardware 1700, 1720, y 1750
  • c2500 – Para Hardware 25xx, 3xxx, 5100, y AO (solo para 11.2 y posteriores)
  • c2600 – Para Hardware 2600
  • c2800 – Para Hardware Catalyst 2800
  • c2900 – Para Hardware 2910 y 2950
  • c3620 – Para Hardware 3620
  • c3640 – Para Hardware 3640
  • c4000 – Para Hardware 4000 (solo para 11.2 y posteriores)
  • c4500 – Para Hardware 4500 y 4700

2. yyy indica las características soportadas:

  • b - Para soporte de Apple talk
  • c - Para CommServer lite (CiscoPro)
  • g - Para subconjunto de ISDN (SNMP, IP, Bridging, ISDN, PPP, IPX, y AppleTalk)
  • i  - Para subconjunto de IP (SNMP, IP, Bridging, WAN, Remote Node y Terminal Services)
  • n  - Para soporte de IPX
  • q  - Para soporte asíncrono
  • t - Para soporte de Telco (12.0)
  • y - Para soporte reducido de IP (SNMP, IP RIP/IGRP/EIGRP, Bridging, ISDN y PPP) (c1003 or c1004)
  • z - Para modems gestionados
  • 40 - Para cifrado de 40 bit
  • 50 - Para cifrado de 50 bit

3. ww indica el formato (donde ejecuta el router el fichero de IOS)

  • f - Para flash
  • m - Para RAM
  • r - Para ROM
  • l - La imagen será re ubicada en tiempo de ejecución

El fichero puede también estar comprimido. Las siguientes letras indican el tipo de compresión:

  • z  - Compresión zip
  • x - Compresión mzip
  • w  - Compresión “STAC”

aaa-bb representa la versión de la IOS:

  • se debe interpretar “Version aa.a(bb)”.

La última parte del fichero de la IOS puede contener letras como pueden ser:

  • T - que indica nueva característica en esta versión.
  • S - que indica número de verisón individual.
  • XR - Que indica paquetes modulares.

Backup de la configuracion del IOS

Una de las cosas que echaba en falta en el IOS al venir del JunOS es el backup de configuraciones (aunque tanto en JunOS como IOS uso Rancid) pero desde la versión 12.3 hay disponible un comando de IOS que permite hacer copia de seguridad de las configuraciones. El comando en cuestión es archive y aunque tiene varias opciones aquí solo voy a exponer algunas con varios ejemplos.

El único requerimiento mínimo es el camino donde se van a guardar las copiar de la configuración, que puede ser en el mismo router (flash) o fuera del mismo (usando HTTP, FTP, RCP, o TFTP), por supuesto la recomendación es guardar las configuraciones fuera del router por si falla la flash o el propio router en sí.

Para configurar sus opciones debemos entrar en el modo global de configuración en donde tenemos las siguientes opciones:

Router(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

A destacar especialmente en entornos donde varias personas hacen modificaciones es la opción  “write-memory” que genera una copia cada vez que se guarda la configuración con lo cual siempre que se haga cambios tendremos una copia aunque puede generar muchas copias si se producen muchos cambios constantemente, además también destacar “time-period” que hace una copia cada cierto tiempo (aunque para esto prefiero más Rancid) y “maximum” que limita el número de copias a realizar, aunque es recomendable realizar el control de borrado externamente o incluso borrar a mano cuando haya muchas copias, hoy en día un disco duro es muy barato y nunca se sabe cuando nos puede hacer falta una copia de hace tiempo.

Un pequeño ejemplo:

R0#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R0(config)#archive
R0(config-archive)#path disk0:R0
R0(config-archive)#wri
R0(config-archive)#write-memory
R0(config-archive)#end

Con esto conseguimos que cada vez que se guarde la configuración haga una copia en “disk0” con el nombre del propio router “R0” al cual añadirá “-número” (-1, -2, -3, etc) por cada copia que haga.

R0#dir disk0:
Directory of disk0:/

    1  -rw-         839  Aug 17 2008 22:27:08 +00:00  R0-1

Si lo que queremos es guardar una copia en un servidor TFTP remoto podemos hacer lo siguiente:

R0(config-archive)#path tftp://10.10.10.10/R0/copia

con lo que irá guardando copias (copia-1, -2, -3, etc) en el servidor con IP 10.10.10.10 dentro del directorio llamado “R0″ (el mismo nombre que el router para una localización posterior rápida).
Dos parámetros no mostrados en la ayuda por defecto dentro de PATH son “$h” que indica el nombre del router y “$t” que indica la fecha y hora del router, con lo cual podemos hacer una mini plantilla para todos los routers usando esas variables, así el anterior ejemplo podría convertirse en:

R0(config-archive)#path tftp://10.10.10.10/$h/$t

Para ver las copias que hay además ver la unidad donde se guardan (dir disk0 en el caso anterior) podemos usar:

R0#show archive
There are currently 3 archive configurations saved.
The next archive file will be named disk0:R0-3
 Archive #  Name
   0
   1       disk0:R0-1
   2       disk0:R0-2 <- Most Recent
   3
   4
   5
   6
   7
   8
   9
   10
   11
   12
   13
   14

También nos puede interesar ver que diferencias hay entre una copia y otra para saber que se ha modificado o que hay de diferente (especialmente útil en entornos donde varias personas modifican) y podemos ver las diferencias de 2 formas:
differences muestra las diferencias entre las dos configuraciones, ya sea una copia y la actual o entre 2 copias.
incremental-diffs muestra las líneas del fichero de configuración que se añadirán a la running-config.

R0#show archive config differences disk0:/R0-1 disk0:/R0-3
Contextual Config Diffs:
interface FastEthernet0/0
 -description prueba

Indica que “description prueba” en R0-1 no está y en R0-3 si, en caso contrarío en vez de un digno “-” sería un signo “+”. Si se omite “disk0:/R0-3″ se compara “disk0:/R0-1″ con la configuración actual (que en este caso es la misma que disk0:/R0-3 porque se acaba de generar).

Atajos útiles “sh” del IOS de Cisco

Muchas veces de las que hacemos un “show running-config” o lo que es más a menudo “sh run” no queremos ver todo si no un parte de la configuración, para ello hay algunos atajos muy útiles que no siempre se recuerdan:

  • show run interface:

    router# sh run int fa0/0
    Building configuration…
    Current configuration : 93 bytes
    !
    interface FastEthernet0/0
    ip address 10.1.2.1 255.255.255.0
    duplex auto
    speed auto
    end

  • show run | section:

    router#sh run | section interface
    interface FastEthernet0/0
    ip address 10.1.2.1 255.255.255.0
    duplex auto
    speed auto
    interface FastEthernet1/0
    ip address 192.168.4.1 255.255.255.0
    duplex auto
    speed auto

  • show run | begin :

    router#sh run | begin interface
    interface FastEthernet0/0
    ip address 10.1.2.1 255.255.255.0
    duplex auto
    speed auto
    !
    interface FastEthernet1/0
    ip address 192.168.4.1 255.255.255.0
    duplex auto
    speed auto
    !
    ip http server
    no ip http secure-server
    ip classless
    !
    control-plane
    !
    !
    –More–

  • show run | include:

    router# sh run interface f0/0 | include ip
    ip address 10.1.1.1 255.255.255.0

  • show ip interface brief:

    router#sh ip interface brief
    Interface IP-Address OK? Method Status Protocol
    FastEthernet0/0 10.1.1.1 YES manual up up
    FastEthernet1/0 192.168.1.1 YES manual up up

  • Mientras se está haciendo un “sh run” se puede usar el carácter / para hacer una búsqueda específica:

    router#sh run
    Building configuration…
    Current configuration : 663 bytes
    !
    version 12.3
    service timestamps debug datetime msec
    service timestamps log datetime msec
    no service password-encryption
    !
    hostname blog_demo
    !
    boot-start-marker
    boot-end-marker
    !
    !
    memory-size iomem 5
    no aaa new-model
    ip subnet-zero
    !
    !
    !
    !
    ip cef
    ip ips po max-events 100
    /192.168
    filtering…

    ip address 192.168.4.1 255.255.255.0
    duplex auto
    speed auto
    !
    ip http server

NOTA: Extraído de “http://www.globalconfig.net/brandons_blog/2008/06/shortucts.html