Mostrando entradas con la etiqueta IOS. Mostrar todas las entradas
Mostrando entradas con la etiqueta IOS. Mostrar todas las entradas
Interfaz wireless desactivada al utilizar power injector en APs Cisco
Cuando se utiliza el AP con power injector instalado, puede suceder que la interfaz wireless se encuentre deshabilitada. Esto se puede observar en los logs del dispositivo ejecutando el comando:
#show logging
El error que se encontrará será similar al siguiente:
*Feb 28 21:00:10.622 GMT-3: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to down
*Feb 28 21:01:09.497 GMT-3: %CDP_PD-2-POWER_LOW: All radios disabled - LOW_POWER_CLASSIC_NO_INJECTOR_CONFIGURED WS-C2924-XL (00d0.bbd6.1b4e)
*Feb 28 21:01:09.497 GMT-3: -Verify the required power-injector is installed on this port: WS-C2924-XL(Fas 0/13).
*Feb 28 21:01:09.497 GMT-3: -If a power-injector is installed, issue the command:"power inline negotiation injector installed"
En este caso, el AP indica que no cuenta con la energía necesaria y por eso deshabilita la interfaz wireless. El problema es que no detecta que se encuentra energizado mediante power injector.

Para solucionar el problema, el AP necesita que se explicite la MAC address del port del switch en el que se encuentra conectado el power injector. Dicha MAC se puede observar en el log anterior, en la línea:
%CDP_PD-2-POWER_LOW: All radios disabled - LOW_POWER_CLASSIC_NO_INJECTOR_CONFIGURED WS-C2924-XL (00d0.bbd6.1b4e)
La dirección en que el injector se encuentra conectado se debe ingresar a través de la configuración del switch, ejecutando el siguiente comando:
(config)#power inline negotiation injector 00d0.bbd6.1b4e

Luego de esperar un minuto o dos, la interfaz de radio debería encontrarse habilitada nuevamente. Para checkearlo se puede ejecutar el comando:
#show interfaces dot11Radio 0
y la respuesta debe ser:
Dot11Radio0 is up, line protocol is up
Instalar IOS en switches Cisco desde ROM Monitor
Otra vez les traigo el resultado de un reto Cisco, en este caso, cómo instalar un IOS en un switch de la serie 2900 (seguramente funcione en otros modelos) desde el ROM Monitor. En un post anterior les mostré cómo actualizar el IOS de estos equipos, pero contando con un IOS base desde el cual hacer el trabajo. En este artículo les voy a comentar cómo instalar un IOS en un switch que no tiene ningún IOS, ya sea porque el que tenía se corrompió, o bien porque (como yo) se mandaron una cagada al intentar hacer el cambio y rompieron el IOS que tenían antes de instalar uno nuevo =P
En mi caso, el problema fue que borré el IOS que tenía instalado para hacer lugar para el que quería instalar (gracias Cisco por poner unos pocos megas mugrosos de flash!!!), y luego copié un IOS sin descomprimir (behh).

Si no tenemos un IOS en buen estado para bootear, el switch queda en el bootstrap (Cisco lo llama ROM Monitor), el cual provee una funcionalidad muy (MUY!) básica. Este bootstrap se ejecuta siempre que encendemos el switch, piensen en él como el grub de los switchs. Cuando existe un IOS booteable, el bootstrap lo carga, pero sino, quedamos atascados en este pequeño programa.

Entonces, qué hacemos?
Es claro que si no tenemos IOS, necesitamos cargar uno nuevo. Versiones modernas del ROM Monitor permiten utilizar tftp para la transferencia, o bien cargar automáticamente un IOS por tftp si dejamos pulsado el botón MODE, como vimos en el caso de los AP 1240 .
En los switchs más antiguos (como los 2900), no contamos con ninguna de las dos posibilidades, así que tenemos una sola alternativa... copiar el IOS a través de la consola usando el protocolo XMODEM.

Los pasos que describo a continuación los tomé de Recovering Catalyst Fixed Configuration Switches from a Corrupted or Missing Image, modificándolos para utilizar minicom además de Hyper Terminal.

1. Apenas iniciamos el switch, ejecutar flash_init y load_helper.
2. Ver si tenemos espacio en la flash para la nueva imagen con "dir flash:". Si no tenemos lugar, borrar la imagen vieja:
delete flash:c2950−i6q4l2−mz.121−11.EA1a.bin
3. Copiar la nueva imagen utilizando xmodem. Para ello, en el switch ejecutamos el comando:
copy xmodem: flash:c2950−i6q4l2−mz.121−13.EA1.bin
Si estamos utilizando minicom para la conexión con el switch (ver Acceder dispositivos Cisco desde GNU/Linux con minicom), el siguiente paso es ejecutar:
- CTRL-A y luego Z, para entrar a las opciones de minicom
- S para elegir la opción "send file"
- elegimos la opción xmodem, con lo cual se nos abrirá un navegador de archivos. En este navegador buscamos el archivo con la imagen del IOS, lo seleccionamos con la barra espaciadora y le damos Okay y luego enter.
Si, en cambio, utilizan Hyper Terminal:
- Vayan al menu "Transfer -> Send File"
- escriban el path a la nueva imagen, o bien busquenla utilizando la opción "Browse".
- elijan la opción Xmodem en la sección "Protocol" de la ventana y aprieten "Send" para enviar el archivo.
4. Cuando se complete la transferencia, ya tendremos la nueva imagen en la flash. Tengan en cuenta que la transferencia por xmodem es asquerosamente lenta!!! tardé cerca de una hora para copiar 1MB! así que tengan paciencia jeje
Lo que hacemos a continuación es bootear la nueva imagen utilizando el comando:
boot flash:c2950−i6q4l2−mz.121−13.EA1.bin

Ahora si, hemos convertido un switch pisa papeles (el clásico stoned) en uno utilizable. Espero que les sirva!
Configurar APs Wireless Cisco
Después de una intensa lucha con el AP Wireless Cisco (ver el artículo anterior), logré configurarlo de forma satisfactoria, y como de costumbre, comparto la experiencia en el blog por si alguien más debe enfrentar este reto =)

En los siguientes pasos mostraré cómo configurar un Access Point Cisco Aironet de la serie 1240 (probablemente funcione en otros), para que utilice autenticación Radius, manejo de claves WPA y encripción AES (es decir, utilizar el estándar WPA2). Son el resultado de horas de lectura de artículos y manuales, así que espero que les sirva =)

Lo primero que haremos es revisar que el AP tenga instalado un IOS que funcione como autónomo:
ap # show version
Si el IOS es uno Lightweight, conseguir un IOS que funcione en modo autónomo y realizar los pasos explicados en Revertir Lightweight (LWAPP) Mode a Autonomous Mode para configurar APs Cisco.

Utilizando el IOS en modo autónomo, realizar los siguientes pasos. Tener en cuenta el prompt para saber donde estamos parados. Por ejemplo ap(config) indica que estamos en la configuración global, ap(config-if) es la configuración de interfaz, ap(config-ssid) es la configuración del SSID, etc.

1) Configurar la autenticación con el servidor radius (en el ejemplo 192.168.1.111):
ap(config) # radius-server host 192.168.1.111 auth-port 1645 acct-port 1646 key 7 password-con-radius
deberán colocar el password que utilizan en el servidor Radius para autenticar dispositivos.

2) Habilitar el nuevo modelo de autenticación, autorización y contabilización:
ap(config) # aaa new-model
3) Definir un grupo de servidores Radius:
ap(config) # aaa group server radius mis-radius
utilizaremos este grupo para configurar la autenticación.

3.1) Agregar el/los servidor/es que realizará/n la autenticación (paso 1) al grupo recién creado:
ap(config-sg-radius) # server 192.168.1.111 auth-port 1645 acct-port 1646
4) Crear el método de autenticación eap_auth y agregar el grupo de servidores Radius:
ap(config)# aaa authentication login eap_auth group mis-radius
con esto ya tenemos configurado un método de autenticación que luego asignaremos al SSID.

5) Configurar un SSID para el AP (es posible tener múltiples SSID). En el ejemplo lo llamaremos AP_Wireless (si, muy original...):
ap(config)# dot11 ssid AP_Wireless
5.1) Utilizar autenticación open eap (Extensible Authentication Protocol) con el servidor Radius del grupo de servidores mis-radius (ver pasos 1 - 3):
ap(config-ssid)# authentication open eap eap_auth
Existen varios tipos de autenticación y Cisco permite una buena variedad. EAP nos permite que la autenticación la realice un servidor externo, y no el mismo AP.
Que la autenticación sea open no quiere decir que los datos viajen planos, sino que esta es la forma en que Cisco define el tipo de autenticación que no utilizan protocolos Cisco (LEAP).

5.2) Realizar la administración de claves con WPA:
ap(config-ssid)# authentication key-management wpa
5.3) Utilizar el modo guest para que la antena haga broadcast del SSID. Si no desean divulgar el SSID, saltear este paso:
ap(config-ssid)# guest-mode
5.4) Setear el intervalo entre beacons DTIM. Estos beacons se envían a los clientes para que despierten y checkeen si tienen paquetes pendientes. Intervalos DTIM largos permiten preservar energía.
ap(config-ssid)# mbssid guest-mode dtim-period 75
6) Configurar la interfaz wireless para que autentique clientes utilizando Radius y WPA:
ap(config)# interface Dot11Radio0
6.1) Definir el algoritmo de encripción (AES):
ap(config-if)# encryption mode ciphers aes-ccm
6.2) Asociar el SSID a la intefaz:
ap(config-if) # ssid AP_Wireless
Con los pasos anteriores el AP ya está configurado y listo. Si no poseen un servidor DHCP en la red, o bien si quieren fijar una dirección IP al AP, pueden hacerlo de la siguiente forma:
1) Acceder a la interfaz virtual BVI 1 (Bridge-Group Virtual Interface):
ap(config)# interface BVI 1
esta interfaz virtual agrupa todas las interfaces que estén en el grupo bridge 1.

2) Configurar la dirección IP y la máscara:
ap(config-if)# ip address 192.168.1.80 255.255.255.0
3) Definir el gateway:
ap(config)# ip default-gateway 192.168.1.1

Algo a tener en cuenta es que por defecto tanto la interfaz wireless como la fast ethernet están en el grupo bridge 1, pero si no lo están, pueden configurarlo de la siguiente forma:
ap(config)# interface FastEthernet 0
ap(config-if)# bridge-group 1
ap(config-if)# exit
ap(config)# interface Dot11Radio0
ap(config-if)# bridge-group 1


Referencias

- Cisco IOS Software Configuration Guide for Cisco Aironet Access Points
- EAP Authentication with RADIUS Server
- Autonomous APs: Network EAP vs. Open with EAP, the right combination
- Cisco 802.11 Wireless Networking: Installing and Configuring Access Points
- Configuring Cisco Aironet in Home Lab - Part 2
- Configuring WPA and WPA2 on Cisco Aironet
Revertir Lightweight (LWAPP) Mode a Autonomous Mode para configurar APs Cisco
Una vez más me toca enfrentar un reto Cisco, en esta ocasión con los access point (AP) Wireless de la serie 1240. Cuál es el reto? hacerlos funcionar!!!
Si, hacer funcionar uno de estos dispositivos no resultó ser tan simple como "leer el manual -> enchufarlo -> configurarlo", nono, porque el manual no explica un pequeño detalle extremadamente importante: los dispositivos traen un IOS pensado para recibir la configuración a través de Wireless LAN Controllers (otros dispositivos Cisco $$$, pensados para controlar centralizadamente todos los APs de la red).
Qué quiere decir esto? que no podemos configurar los condenados APs si no contamos con un Wireless LAN Controller (WLC)!!! Es una pena que los manuales de estos bichos no expliquen ésto y te hagan perder tiempo haciendo pruebas inútiles. Todos dicen lo mismo y no te aclaran que el f*cking aparato puede estar en modo Lightweight. El resultado es que como no tenemos un WLC y el AP está en modo Lightweight, no tenemos configuración Web, es más, ni siquiera contamos con el modo de configuración desde consola! Nunca imaginé encontrar un "command not found" al ejecutar "configure terminal" en un IOS...

En fin, después de perder un día leyendo información, encontré el problema que les comento. Ahora, cómo volvemos al modo autónomo para que podamos configurarlo sin tener un WLC? Creo que la respuesta salta a la vista: instalar otro IOS. Pero cómo instalamos otro IOS si el IOS actual ni siquiera posee comandos básicos como copy? Booteando una imagen por TFTP.

Los siguientes pasos están basados en los que encontré en la sección Reverting from LWAPP Mode to Autonomous Mode y permiten instalar una nueva imagen (que posea modo autónomo) en un AP Cisco:

1- Montar un servidor TFTP en la máquina que utilizaremos para configurar el AP. Pueden encontrar los pasos de cómo hacer esto en el artículo Server TFTP + Actualización IOS.
2- Dar al servidor TFTP una IP del rango 10.0.0.2 a 10.0.0.30. El AP se autoconfigura con la IP 10.0.0.1.
3- Copiar la nueva imagen del IOS a la carpeta del servidor TFPT y renombrar dicha imagen a c1200-k9w7-tar.default para APs de la serie 1200, c1240-k9w7-tar.default para la serie 1240, etc.
4- Enchufar un cable UTP desde el AP a la placa de red de la máquina con el servidor TFTP.
5- Apretar y mantener apretado el botón MODE mientras se enchufa el AP.
6- Mantener apretado el botón MODE hasta que la LED de estado se pone en rojo (o lila en los 1240; esto sucede luego de 20 o 30 segundos). En la consola aparecerá el cartel "button is pressed, wait for button to be released...".
7- Esperar hasta que se termine de copiar la nueva imagen en la flash del AP.
8- Reiniciar y ejecutar "show version" para comprobar que la imagen es la correcta.

Como se darán cuenta, una vez que booteamos desde la imagen por TFTP, esta imagen se copia en la flash y reemplaza la que tenia antes.

Una vez que contamos con la imagen en modo autónomo, podemos configurar el AP de la siguiente forma:
- Enchufar el AP a una red que cuente con DHCP para que el dispositivo tome IP.
- Elegir alguna de las siguientes opciones de configuración:
Opción 1 (Web):
- Acceder a la interfaz Web de configuración del dispositivo y loguearse con las credenciales Cisco/Cisco. La dirección de la interfaz web será la que les entregó el DHCP.

Opción 2 (consola):
- Configurar el dispositivo conectándose a la consola a través de un cable serie, utilizando una terminal virtual con la configuración "8 bits, paridad none, 1 bit de parada, y sin control de flujo" (pueden utilizar minicom, como explico en este otro artículo - http://itfreekzone.blogspot.com/2010/09/acceder-dispositivos-cisco-desde.html), y ejecutar:
ap> enable # el password es Cisco
ap # configure terminal
NOTA: si no poseen servidor DHCP en la red, pueden clavarle una IP al AP a través de la consola. Para ello, conectense utilizando la configuración que expliqué en el punto anterior y ejecutar:
ap> enable # el password es Cisco
ap # configure terminal
ap(config) # interface FastEthernet 0
ap(config-if) # ip address <ip> <mascara>
Una vez que el dispositivo cuenta con IP, pueden acceder a la interfaz web.

Como siempre, espero que este artículo les ayude a ahorrar tiempo y entender rápidamente cómo configurar esta clase de dispositivos!
Server TFTP + Actualización IOS
Hoy me tocó realizar un trabajo que deja buena experiencia, cambiar el sistema operativo de algunos switchs Cisco. Para el que no conozca, los switchs Cisco traen un sistema operativo llamado IOS, y cuenta con su propio interprete de comandos, y utiliza comandos bastante distintos al mundo *nix. Además los switchs no tienen puerto USB, ni disketera, ni cd-rom, desde donde copiar información a la memoria =P

Para acceder a la configuración de uno de estos switchs necesitamos una conexión serie a la consola del aparato, o bien, si ya tiene una configuración básica (como una IP y métodos de acceso), podemos accederlo con cable UTP conectado a la máquina.

Ahora bien, el problema sigue siendo, cómo le copiamos una nueva imagen de IOS a la memoria del switch? la conexión por consola (para lo cual podemos usar minicom en Linux, o HyperTerminal en Windows) no nos permite enviar archivos, solo ejecutar comandos. La conexión por UTP sigue siendo lo mismo. Lo que necesitamos es utilizar un protocolo de transferencia de archivos, y por default, en muchos de estos switchs sólo contamos con TFTP. En algunas versiones más modernas de IOS podremos utilizar SCP, pero si andan en el mundo de las redes, probablemente se encuentren con que cuentan sólo con TFTP .


Qué es TFTP?

Eso mismo me pregunté en el momento que lo leí, el nombre nos dice que es FTP, pero de qué juega la T del principio? Aquellos administradores con más años en el rubro seguramente lo han utilizado, pero para los más modernos como yo, encontrar este protocolo en la actualidad es muy raro, salvo que se dediquen al bajo nivel
Una búsqueda rápida en internet nos revela que TFTP es una versión "Trivial" de FTP. Qué quiere decir esto? que no tiene una mierd*, sólo funciones put, get y algunos otros pocos comandos. Es decir, es la implementación mínima de un protocolo de transferencia de archivos.
A diferencia del FTP común, este protocolo funciona sobre UDP, no cuenta con autenticación alguna, es decir, uno se conecta directamente al server sin proveer ninguna credencial de acceso. Además es un protocolo bastante lento para la transferencia de archivos por lo que pude experimentar.
Por todo esto, usen TFTP solamente si no cuentan con otra cosa!


Instalando y usando TFTP

En Linux contamos con server y cliente TFTP y, dependiendo la distribución, es muy fácil de instalar. En debian sólo hace falta ejecutar:
# apt-get install tftpd

Una vez instalado tftp, al menos en debian, ya se comienza a ejecutar. Sino, puede reiniciar el demonio inetd el cual suele ser el encargado de levantar el servicio:
# killall inetd
# inetd

Ahora si, ya teniendo el server tftp funcionando, nos preguntamos cuál es el home donde se guardan los archivos por default! Por si no se dieron cuenta con la explicación en el párrafo anterior, con tftp no tenemos forma de navegar por directorios! solo copiar desde o hacia el server. Es decir, cuando nos conectamos a un servidor tftp sólo podremos copiar archivos en la carpeta default, no podremos navegar por los directorios para elegir otra fuente/destino de los archivos.
Para que la copia de archivos funcione, debemos tener configurado un home y tener permisos de escritura en ese directorio. El directorio default lo pueden ver en la configuración de inetd, la cual se encuentra en /etc/inetd.conf donde tendrán una línea similar a esta:
tftp dgram udp4 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /var/lib/tftpboot
El último path de la línea es el path que utiliza tftp como home. Supuestamente (no lo comprobé) si no especificamos path, tftp toma el directorio /tftpboot como default. En la mayoría de las explicaciones que encontré recomiendan configurar ese directorio con permisos 777 y cambiarlo en la configuración de inetd.conf. Para esto, primero creamos el directorio y le cambiamos los permisos:
# mkdir /tftpboot
# chmod 777 /tftpboot

después cambiamos la configuración de inetd.conf para que quede el nuevo path:
tftp dgram udp4 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
Ahora si, reiniciamos inetd para que el server tome los cambios:
# killall inetd
# inetd

Bien, ya tenemos nuestro server TFPT configurado, ahora estaría bueno probarlo... he aquí donde llega la parte más "bizarra" de todo esto. No solo no podemos movernos por la estructura de directorios, sino que, además, si queremos copiar un archivo al servidor, este archivo debe existir ya en el servidor!!!, bueniiiiiiiisimo, antes de copiar cada archivo que deseen al servidor, primero deberán crear un archivo vacío con el mismo nombre, de otra forma, el servicio no funciona. Esto es, si queremos copiar el archivo prueba.txt de nuestra máquina (o desde el switch como haremos después) al servidor tftp, primero deberemos crear en el servidor en la carpeta /tftpboot un archivo vacío que se llame prueba.txt. Además debemos recordar de darle los permisos correspondientes para que el cliente pueda escribir en el server. Esto lo podemos hacer con:
# touch /tftpboot/prueba.txt
# chmod 777 /tftpboot/prueba.txt

Algunas referencias sobre cómo instalar tftpd en linux que pueden encontrar son estas:
http://onlamp.com/pub/a/bsd/2003/06/05/FreeBSD_Basics.html
http://www.debianhelp.co.uk/tftp.htm


TFTP en Windows?

Si todavía no tienen la suerte de utilizar un *nix, también pueden contar con un servidor TFTP en Windows. Pueden encontrar una versión open source en http://tftpd32.jounin.net/tftpd32_download.html aunque aclaro que no la probé, así que no tengo idea de la configuración necesaria.

UPDATE (20/11/09): Hace un par de días probé el servidor TFTP de Windows y funciona perfecto, tan solo hay que correr el ejecutable. La forma de trabajo es la misma que describí para Linux, hay que crear a mano cada archivo a copiar en el servidor.


Actualizar el IOS del switch

Una vez que tenemos instalado el bastante incompleto TFTP en la máquina desde donde actualizaremos el IOS, podemos empezar el proceso de actualización.
Lo que les voy a contar no es nada nuevo y lo pueden encontrar en la página oficial de Cisco, pero me pareció interesante traducirlo y darle mi toque personal.
Los pasos que describo se basan en la explicación de Upgrading Software Images on Catalyst 2950 and 2955 Series Switches Using the Command Line Interface donde explican el update del IOS para un Cisco Catalyst 2950.

Para la configuración voy a asumir que cuentan con una máquina conectada a la consola del switch y que tienen un servidor TFTP (que puede ser la misma máquina) con IP 192.168.1.1.

Como siempre en este tipo de tareas, lo mejor es arrancar con un buen backup. Para poder usar TFTP, deberemos darle un IP al switch (o a alguna vlan como en el ejemplo), si es que todavía no lo tiene. Esto lo hacemos de la siguiente forma:
switch # configure terminal
switch (config) # interfaces vlan 1
switch (config−if) # ip address 192.168.1.100 255.255.255.0
switch (config−if) # no shutdown
Ahora lo mejor es probar la conectividad a nuestro server y ver que funciona la transmisión de paquetes:
switch # ping 192.168.1.1
si dice "Success rate is 100 percent" estamos bien =)

Llegó la hora del backup. Lo que vamos a resguardar es la imágen IOS actual y la configuración del switch. Para el que no tenga mucho contacto con estos switchs, les comento que la configuración que el switch se encuentra ejecutando se llama runnin-config, la configuración que monta el switch cuando se inicia se llama startup-config. Por su parte, la imagen del IOS se encuentra en la memoria flash, la cual referenciamos con flash:
Recuerden la explicación sobre TFTP, antes de copiar los archivos del switch, deberán crear archivos vacíos con exactamente los mismos nombres en el servidor tftp en la carpeta /tftpboot, de otra forma la transferencia dará error! Además presten mucha atención con qué nombre copia el switch el archivo startup-config, porque le pone otro nombre (perdí un rato con esto ¬ ¬)
switch# copy startup-config tftp://192.168.1.1
switch# copy flash:c2950−i6q4l2−mz.121−11.EA1a.bin tftp://192.168.1.1
Con todo backupeado, podemos proceder a instalar la nueva imágen. Si tenemos espacio en la flash del switch podemos dejar la imagen vieja y copiar la nueva, pero, al menos en los 2950 q me toco testear, no tienen espacio (solamente cuentan con 8MB de flash!), así que primero debemos borrar la imagen vieja...

Aca es donde el lector suspicaz se preguntará "qué pasa si borro la imagen vieja y por alguna razón no puedo copiar la imagen nueva al switch?, el switch se transforma en un lindo ladrillo?"... bueno, al menos es lo que yo me pregunté antes de borrar la imagen. Por suerte la gente de Cisco pensó en esto, y si falla algo en este movimiento, podemos bootear el switch desde una imagen que se encuentre en un servidor TFTP. Es decir, el switch todavía es usable =D
Para borrar la imagen vieja, deberemos ejecutar lo siguiente:
switch # delete flash:c2950−i6q4l2−mz.121−11.EA1a.bin
Una vez que tenemos el espacio suficiente, ya podemos copiar la nueva imagen a la flash del switch, esto lo haremos nuevamente a través de TFTP. Recuerden que la imagen debe encontrarse en el directorio /tftpboot de otra forma, el switch no la va a encontrar:
switch # copy tftp://192.168.1.1/c2950−i6q4l2−mz.121−13.EA1.bin flash:
Por las dudas verificamos que la imagen es correcta:
switch # verify flash:c2950−i6q4l2−mz.121−13.EA1.bin
lo que nos debería dar "Verified flash:c2950−i6q4l2−mz.121−13.EA1.bin"

El próximo paso es configurar el switch para que bootee con la nueva imagen:
switch # configure terminal
switch (config)# boot system flash:c2950−i6q4l2−mz.121−13.EA1.bin
Y por las dudas nos aseguramos que el path de boot quedó bien con:
switch # sh boot

Llegando al final de esta super actualización deberemos salvar los cambios que se encuentran en memoria, y luego recargamos el switch para que inicia desde la nueva imagen:
switch # write memory
switch # reload
Ahora sí, como última prueba de que todo fue bien y que estamos ejecutando la nueva versión de IOS, ejecutamos lo siguiente:
switch # sh version
donde deberíamos ver la versión de nuestro flamante IOS nuevo =)


Sarasa final

Como verán actualizar un IOS no es algo tan complicado, aunque si es un trabajo bastante molesto usar el extremadamente pobre TFTP! A mi me llevó 2hs hacer la actualización y eso que no tenía ni idea de cómo hacerlo antes de empezar y perdí como 1.20hs inalando y probando el TFTP ¬ ¬