¿Cómo usar varios IOS en el mismo enrutador?

Spread the love

Yo he leído que Cisco se ve a sí misma como una empresa productora de software, tanto o más que de hardware. Es decir, ellos valoran mucho más la capacidad de hacer software apropiado para administrar el tráfico y tecnologías de datos. Por eso hay que hacer dos aclaraciones muy importantes: los IOS son uno de los bienes más preciados de Cisco, por lo tanto, sólo use IOS de los cuales tenga una licencia o permiso oficial de Cisco. Lo otro es que aunque el IOS es una interfaz común, no todo lo que nos parece básico lo soportan todos los IOS. Haciendo éstas importantes salvedades vamos a lo propio.

¿Por qué tener sólo un IOS si se pueden tener dos?
Cualquier estudiante de CCNA (y los instructores más aún), debe dominar la administración del software IOS y configuraciones de un enrutador. Una de las razones es la flexibilidad que tiene un enrutador de suficiente capacidad en Flash, la otra razón es que en las academias de networking a veces se necesitan diferentes capacidades que no todos los IOS soportan y con sólo un par de comandos se puede cambiar toda la potencia de un IOS sin necesidad de estar reinstalando IOS para cada tarea específica. Aún así, la configuración de varios IOS y la modificación del arranque tiene los resultados inesperados de aumentar el tiempo de arranque. Después que me borraron la versión avanzada del IOS, porque se tardaba mucho en arrancar respecto a la  versión de servicios básicos, tuve la desagradable sorpresa de que la versión de arranque rápido no soportaba VLANs, es decir, un equipo de alta capacidad (2600) comparado con los enrutadores ordinarios de nuestro laboratorio (1700s y 2500s), no soportaba ni siquiera una de las más básicas tecnologías de CCNA sólo por hacer su arranque más rápido. Valga la aclaración, que aunque la modificación de la secuencia de arranque en los 2600 hace su arranque indefectiblemente lento, también describo una forma de evitar esa terrible consecuencia y aún así utilizar la capacidad completa de la flash y los IOS.
El procedimiento
Lo primero que hay que verificar es que la flash tenga suficiente memoria, para el ejemplo yo tengo dos IOS, uno de aproximadamente 8MB y otro de 23MB. El primer IOS es una versión vieja del IOS (12.3-23) y el otro es una versión ligeramente más reciente (12.3-4), eso significa que tiene más correcciones que el primero, pero la gran diferencia está en las capacidades particulares. Concretamente, la versión básica que tienen los enrutadores es la c2600-i-mz.123-23.bin, el otro es un advanced ip services con soporte para encriptación o c2600-advipservicesk9-mz.bin.123-4.T6.bin. Por favor no me pregunten sobre la nomenclatura, que eso es tan críptico para mí como para los lectores, lo único que yo sé es que las versiones enterprise y advanced suelen tener las capacidades que yo necesito para hacer laboratorios de CCNP (y obviamente todas las necesarias para trabajar CCNA). De lo anterior se deduce que la memoria flash que se necesita es por lo menos 31MB, los enrutadores en cuestión tienen precisamente 32MB de flash, por lo tanto pueden soportar varios IOS. Dado que la flash sólo se usa como almacenamiento secundario, es decir, en ella no se hacen operaciones directamente, tener dos IOS no afecta el desempeño del enrutador. Para transferir el IOS hay varias formas, consulte mi entrada anterior ¿cómo recuperar rápidamente un IOS? para conocer una de ellas -mi preferida cuando no me borran todos los IOS avanzados. Existen dos comandos que muestran la capacidad de la Flash:
  • show version
  • show flash:
Con show version también se ve qué imagen de IOS se cargó y está en ejecución. En el caso que estoy contando, se observa que es la c2600-i-mz.123-23.  En el video muestro todos estos comandos y demuestro que no existen los comandos crypto, lo que indica que no se soporta la encryptación, que en la interfaz no aparece el comando encapsulation lo que indica que no se soporta VLANs (encapsulation dot1q N para que una subinterfaz pertenezca a la VLAN N) y que las terminales virtuales tampoco soportan ssh (apenas de esperar si no soportan encriptación). El comando (más simple no se puede) que indica al enrutador con cuál imagen del IOS arrancar es boot system flash <ARCHIVO_DE_IMAGEN>. Hay que tener en cuenta, que si existe un comando boot system previo hay que borrarlo porque el nuevo se agrega después del primero, por lo tanto la secuencia de arranque busca el primer archivo indicado, no el último. Otra consecuencia es que el comando boot (al menos en los 2600) activa una característica «avanzada» que asigna dinámicamente las porciones de memoria compartida y del sistema que hace que el enrutador después de cargar al IOS, elija una mejor distribución de éstas porciones y recargue el IOS. Lo anterior es lo que lo hace muy lento, el IOS se puede cargar dos o hasta tres veces antes de arrancar realmente, incluso cuando se carga la versión pequeña, pero ya verán cómo se soluciona.
  • router(config)#no boot system flash c2600-I-mz.123-23.bin
  • router(config)#boot system flash c2600-advipservicesk9-mz.123-4.T6.bin
Luego de ejecutar el comando (borrar el anterior y poner el nuevo) debemos guardar la configuración y recargar.
  • router#copy run start
  • router#reload
La recarga del enrutador, muestra que el enrutador esta segunda vez, carga varias veces el IOS y finalmente arranca la versión avanzada, eso cambia el tiempo de arranque del enrutador de 1 minuto a 3. La versión avanzada tiene los comandos crypto en el modo de configuración global, transport output ssh en modo de configuración de línea de terminal virtual y encapsulation en configuración de interfaz. Para revertir el cambio (dejar el IOS básico) se ejecuta de nuevo el no boot system y el boot system nuevo. Sin embargo, eso sigue cargando varias veces el IOS.
¿Cómo evitar que se cargue el IOS varias veces?
Pues recordando lo aprendido en CCNA años atrás y practicado durante los últimos 4 años ya, si el registro de configuración tiene sus últimos 4 bits en cualquier valor mayor a 2 (0x2102 por ejemplo), él carga el primer IOS que encuentre en la flash siempre y cuando no tenga comandos boot system. Si han leído juiciosamente la entrada, ya deben estar pensando cómo se soluciona el problema de la doble carga: borrando los comandos boot system, eso garantiza que el primer IOS es el que se carga, si el preferido es el básico déjelo de primero (borre la flash y copie primero el básico y luego el avanzado), sólo cuando necesite el avanzado use los comandos boot, si no lo necesita no los use y el enrutador arrancará rápidamente un pequeño IOS básico sin recargar varias veces el IOS.
El video
Finalmente, todo lo que he descrito está acá en una lección básica de CCNA para quien lo necesite. El video está pausado para evitar reproducir el tiempo de trabajo del enrutador, pero dejo ver cómo avanza el proceso cada vez que aparece algo nuevo en la pantalla yy antes de que desaparezca de la misma. Ojalá lo encuentren muy instructivo y se animen a ver algún curso conmigo o darme más trabajo como instructor (inst. certificado como CCAI, CCNA y en curso de ser CCNP -3 de 4 exámenes aprobados). ]]>

1 comentario en “¿Cómo usar varios IOS en el mismo enrutador?”

  1. Me gustaría sugerir que explicase este método en otro tipo de equipos como puede ser una switch multicapa, ejemplo el Catalyst 3560, porque tengo entendido que el proceso de configurar la IOS es distinto. Gracias.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.