enchufado
   RSS
#
Arreglar la interfaz web del Cisco Catalyst 2590G (Networking) 2012-04-27 01:47:48

Voy a explicar esta historia por si algún otro infeliz se topa con el mismo problema y no sabe por dónde tirar. Todo empezó por el interés de tener nociones de cómo pasearse por las tripas de un switch Cisco para coger práctica. Me hice con un Cisco Catalyst 2590G-24 de segunda mano por ebay y todo fue como la seda... o casi.

El tema es que quería hacer una configuración básica vía web. Sabía que se podía hacer con algo llamado Express Setup (accesible manteniendo pulsada la tecla Mode durante 3 segundos cuando el switch está completamente inicializado), pero por alguna razón que desconocía, después de una pantalla muy básica, el enlace "Web Console" me llevaba a un enlace tal que http://10.0.0.1/homepage.htm que me lanzaba un bonito 404 Not found. La idea inicial era aprender desde la CLI, pero la mente humana a veces va a la suya, y basta con saber que la cosa no debería ir así para que te entren ganas de saber qué es lo que está pasando.

Desde la CLI del router, un dir en la raíz me indicaba no sólo que existía un directorio llamado 'html', sino que además contenía, entre muchos otros, el archivo de marras: homepage.htm. Probé a habilitar el servidor web del switch (ip http server), si bien al servirme la página inicial, esto probablemente ya estaba funcionando. También probé a especificarle la ruta (ip http path flash:, ip http path flash:html, ip http path flash:/html, etc) sin resultados satisfactorios.

Averigué no sólo que no tenía el último firmware, sino que encima había firmwares (los empaquetados en tar) que contenian el árbol de páginas web:

C2950 EI AND SI IOS CRYPTO IMAGEc2950-i6k2l2q4-mz.121-22.EA14.bin
C2950 EI AND SI IOS CRYPTO AND WEB BASED DEVICE MANAGERc2950-i6k2l2q4-tar.121-22.EA14.tar
C2950 EI AND SI IOS IMAGEc2950-i6q4l2-mz.121-22.EA14.bin
C2950 EI AND SI IOS IMAGE AND WEB BASED DEVICE MANAGERc2950-i6q4l2-tar.121-22.EA14.tar

Dado que probablemente faltaría algún fichero clave para poder acceder al management web, seguro que eso podía ayudarme. Como no tenía tiempo para mirarme el tema en CLI, decidí tirar del CNA (Cisco Network Assistant), y... la cosa quedó peor de lo que estaba. Como el firmware upgrade no se completó por causa -en ese momento- desconocida para mí, ahora ni siquiera podía acceder a la pantalla web básica. Genial.

Así que ahora no quedaba otra que la CLI, pero... ¿qué hacer? Para empezar, aprender lo básico: los 4 comandos necesarios para moverme y completar mi tarea. Establecí una configuración básica:

# enable
# conf t
# interface vlan 1
# ip address 192.168.1.200 255.255.255.0
# no shutdown
# exit
# ip default-gateway 192.168.1.1
# line vty 0 4
# privilege level 15 # Podemos entrar al 'privileged exec mode'
# login
# password XXX
# exit
# ip http server # Activamos el servidor http
# copy running-config startup-config
# exit

Monté un servidor tftp en el mismo rango de red para servir desde ahí los firmwares:

apt-get install tftpd-hpa
vi /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--permissive --create --secure"
/etc/init.d/tftpd-hpa restart
mv c2950-*.121-22.EA14.* /srv/tftp

Y procedí al firmware upgrade:

# archive tar /xtract tftp://192.168.1.36/c2950-i6k2l2q4-tar.121-22.EA14.tar flash:
# boot sys flash:c2950-i6k2l2q4-mz.121-22.EA14.bin
# write mem
# reload

Y inicialmente todo bien (mientras salen !!! a modo de progreso) hasta que llega un momento en que se para... y la cosa peta. Así que en un alarde de intuición, como me suena que la memoria del bicho es bastante limitada, decidí borrar de la flash tanto el firmware como el directorio html entero antes de subir uno entero:

# delete c2950-i6k2l2q4-mz.121-22.EA14.bin
# cd html
# delete /recursive *
# cd ..
# rmdir html

Repito el proceso y el firmware upgrade va fino. Pero con un par de cataplines, seguía sin haber web. Haciendo la petición por telnet, me devolvía un código de error que los navegadores interpretaban como un cierre temprano de la conexión.

telnet 192.168.1.200 80

HTTP/1.0 400 Bad Request
Date: Mon, 01 Mar 1993 00:04:25 UTC
Content-type: text/html
Expires: Thu, 16 Feb 1989 00:00:00 GMT

400 Bad Request

¿Pero qué leches había hecho el CNA? Por suerte, me puse en contacto con el técnico que me vendió el router y inexplicablemente me pasó lo que era la solución: realizar la configuración inicial a través de un cable de consola. Y digo 'inexplicablemente' porque los pasos son los mismos que seguí yo... pero por puerto serie en lugar de por puerto de red. Como yo ya tenía hecha una configuración, era necesario:

  1. Conectar el cable serie a los extremos (al puerto de consola del switch y al puerto serie del ordenador; o en su defecto, a un conversor USB-Serie).
  2. Dejar lanzado un programa de terminal (minicom o Hyperterminal) estableciendo los parámetros de conexión correctos.
  3. Resetear el router para dejarlo sin configuración (manteniendo pulsada la tecla Mode durante 8 segundos hasta que las luces dejan de parpadear y se reinicia).
  4. Seguir los pasos en el terminal para establecer la configuración inicial.
  5. Al finalizar, establecer ip http server enable y copy running-config start-config.

¿Cuál es la diferencia de hacerlo vía cable serie respecto a hacerlo por un puerto de red? A saber, puesto que aparentemente ya disponía de todos los privilegios para hacer todas las operaciones habidas y por haber (incluso también hice algún que otro hard reset sin resultados). Lo único que se es que funciona, y algo hará para restaurar el acceso web (que ahora es distinto al anterior y parece llamarse Cisco Device Manager).

Puedes encontrar los pasos detallados en la web de Cisco o bien aquí en local. Y desde aquí mando un saludo al técnico por su inestimable ayuda :)


Comentarios (0)


Volver al indice

login, admin, form, register