Desbloqueando un switch TP-Link T1500G-8T – Parte 4: Y si te dijera que…

Me tiré a la piscina. Compré muchos de estos switches para ver si los podía desbloquear y vender. Fue difícil, pero sin toda la investigación no podría haber llegado la forma sencilla de hacerlo, y aquí la comparto.

He recopilado una cantidad tremenda de información respecto a estos switches, desde que un amigo me dijo que habían unos baratos a la venta, haberlos comprado por impulso y haber visto que no funcionaban como esperaba. Pero ha sido un viaje muy interesante. Como dicen esa frase que le atribuyen a los japoneses: «Si alguien puede hacerlo, significa que yo también puedo hacerlo. Si nadie puede hacerlo, significa que debo ser el primero en hacerlo«.

Esta introducción corta pero latera sirve para dar pie a lo que vengo a comentar en este artículo: Hay una forma de desbloquear los switches de GTD sin tener que entrar a consola ni hacer cosas raras en primera instancia. Y digo switches sin mencionar el modelo, porque el procedimiento es válido también para el ZyXEL GS1900-8 y el Linksys LGS308, con algunas mínimas diferencias.

Las mínimas diferencias

El asunto es que en el lote que compré venían switches de los tres modelos, donde el Linksys es desbloqueable sin mucho complicarse, no así el ZyXEL. Al parecer una actualización de firmware corrompe o cambia la información de hash de la contraseña de la cuenta ‘admin’ y se pierde también la interfaz web. Ambas cosas se pueden recuperar entrando por consola al switch y cargando un OpenWRT por TFTP para modificar el script de configuración. Tal vez a eso deba dedicarle un artículo completo, pero para mantener la línea editorial (sale pa’ llá) me mantendré con el TP-Link.

Advertencia: Este procedimiento fue el que yo realicé en mi caso particular, por tanto no puedo asegurar que funcione en todos los casos. No me hago responsable si usted y/o su switch resulta dañado por seguir este procedimiento.

Ingredientes

Para esta nueva receta necesitaremos otros componentes que no estaban intrínsecamente considerados para la primera iteración de este asunto, pero notarán que son sensiblemente menos difíciles de conseguir e implementar, y estos son:

  • Algo que tenga puerto Ethernet y corra Linux (un PC con Ubuntu o una Raspberry Pi son válidos)
  • Un cable de red

Con un poco de suerte, esto será suficiente para lograr nuestro cometido, donde el secreto del chef está en dos cosas: la configuración de red y la clave original de administración. Y en esto último no quisiera empezar con la parte entretenida sin agradecer a JerAleman y Aerodynamic de Capa9 por dar con la información que requería para lograr el cometido: la dichosa clave de administración original.

Pantallazo robado descaradamente del post original de Capa9

Configuración de software

Como podrán haber deducido de la información anterior, la gracia detrás de esto está en lograr una correcta configuración de software. Si también vieron mis anteriores escritos y en especial la parte 3, pudieron haber recordado también que las versiones end-user de Windows tienen pésima gestión de red a la hora de ponerse creativos, pero nada que un buen Ubuntu no pueda solucionar con algunas líneas en la terminal. También se puede usar una Raspberry Pi, pero estaba fuera de casa cuando desarrollé esto así que lo que vendrá es para PC.

(¡Gracias t3b4n por las correcciones!)

Bien, el objetivo de la configuración es la siguiente:

  • Habilitar la VLAN 10 en la interfaz Ethernet del PC
  • Levantar un servidor DHCP que pueda entregar IP por la VLAN 10 y por la VLAN 1
  • Establecer una dirección IP estática en la VLAN 10 y dos en la VLAN 1

Para lograr esta configuración es necesario instalar dos paquetes de software:

$ sudo apt-get install vlan
$ sudo apt-get install isc-dhcp-server

Nota: para todo lo que viene de aquí en adelante, reemplacen eno1 por el nombre que tenga su interfaz de red.

Paso 1: Habilitar la VLAN y las direcciones estáticas

El primer paso es habilitar la VLAN 10 que es la VLAN de administración de serie de estos switches, y las direcciones IP estáticas. En comandos es algo así:

$ sudo modprobe 8021q
$ sudo vconfig add eno1 10
$ sudo ip addr add 10.0.0.1/24 dev eno1.10
$ sudo ip addr add 10.0.1.1/24 dev eno1
$ sudo ip addr add 192.168.0.50/24 dev eno1
$ sudo ip link set up eno1.10
$ sudo ip link set up eno1

Paso 2: Configurar el servidor DHCP

El objetivo de esta configuración es lograr servir dos segmentos distintos, uno para la VLAN 10 y otro para la VLAN 1. Si bien, en el archivo de configuración no está declarado explícitamente qué segmento le sirve a qué interfaz, esta información la tomará de la asignación estática que le hagamos a las interfaces posteriormente. Con esto, la configuración a modificar sería más o menos así. El archivo de configuración es casi siempre /etc/dhcp/dhcpd.conf:

# como este es el único servidor DHCP en la red, se le da autoridad y se deja la concesión en un máximo de 1 hora.

default-lease-time 600;
max-lease-time 3600;
authoritative; 

# segmento para la VLAN 10

subnet 10.0.0.0 netmask 255.255.255.0 {
 range 10.0.0.10 10.0.0.50;
 option routers 10.0.0.1;

}

# segmento para la VLAN 1

subnet 10.0.1.0 netmask 255.255.255.0 {
 range 10.0.1.10 10.0.1.50;
 option routers 10.0.1.1;
}

# habilitar DHCP para las interfaces

INTERFACESv4="eno1, eno1.10";

Paso 3: Habilitar el servidor DHCP y monitorear

Una vez tengamos todo configurado es cosa de darle un reinicio al servidor DHCP para que tome las nuevas configuraciones:

$ sudo systemctl restart isc-dhcp-server

Luego de esto, revisar si es que el servicio se activó correctamente:

$ sudo systemctl status isc-dhcp-server

Si el servicio se activó, ya es cosa de revisar constantemente el syslog por los mensajes que entregue el servicio dhcpd de la siguiente manera:

$ sudo tail -f /var/log/syslog | grep dhcpd

Paso 4: Enchufar el switch y configurar

Una vez enchufado el switch, conectar un cable de red entre el puerto de red del aparato que estemos usando, y cualquiera de las puertas entre la 1 y la 4 del switch. Si todo salió bien, el switch tendrá la IP que haya entregado el servidor DHCP y con eso es cosa solo de ingresar.

  • Nombre de usuario: admin
  • Contraseña: TelSurBC16

Paso 5: Actualizar el firmware

Una vez actualicen el firmware (explicado en la parte 3) pueden pasar dos cosas con esta configuración: Se volverá accesible a través de la IP 192.168.0.1, o volverá a tomar concesión de alguno de los segmentos de DHCP. Si ocurre lo primero, felicidades, ya tienes un switch desbloqueado y las credenciales nuevas serán admin como nombre de usuario y contraseña. Si ocurre lo segundo no te asustes, queda un poco más que hacer:

Paso 5a: Configuración neutra y reseteo

Ingresando nuevamente al switch con la IP que entrega el servidor DHCP y las credenciales del paso 4, irse a System Tools > Config Restore y cargar este archivo de configuración. Una vez que se cargue el archivo de configuración el switch se va a reiniciar y acá nuevamente tenemos dos posibilidades: Puede que el archivo se cargue y ahora tome IP del servidor DHCP por la VLAN 1, o que algo falle y el switch se vuelva accesible a través de la IP 192.168.0.1.

En cualquiera de los dos casos, es solo cosa de apretar el botón físico de Reset que tiene el switch en su parte delantera. Hay que mantener apretado el botón de reset entre 5 a 8 segundos, el LED de System parpadeará algunas veces como confirnación del reset y tardará unos tres minutos en volver a arrancar. En este siguiente arranque el switch volverá accesible a través de la IP 192.168.0.1.

Paso 6: Disfrutar

No probé con todos los equipos que tengo, pero a todos los que les volví a hacer reset de fábrica luego de este procedimiento quedaron con la configuración neutra como si fueran equipos de retail. El primer acceso es admin como nombre de usuario y contraseña, luego de lo cual se pedirá cambiar la contraseña por una más robusta.

Conclusiones

Pensemos un momento y consideremos que todavía queda mucho para tocar para sacarle aun más potencial al switch. De hecho, todavía me gustaría intentar hacer un U-boot modificado, pero ya sin necesidad de modificar el switch para sacarle puerto consola es casi innecesario. Tampoco sé si sea una buena idea abanderarme al derecho a reparar para hacer estas modificaciones, pero considerando que estos equipos ya están EOL, que el operador ya no los instala en la gran mayoría de casos y que finalmente muchos de estos equipos seguramente terminaron en la basura por pensar que estaban malos, tengo la motivación para mostrarles esta investigación.

A ver si no sale alguna cosa nueva y haya que escribir más partes. Ojalá que no, para mí esto ya es objetivo cumplido al 100 %.