Instalando linux en el router ADSL de Jazztel HG536+

Tengo un router ADSL de Jazztel modelo HG536+. Como ya no lo necesito, le instalé un linux descargado de OpenWrt para poder utilizarlo como router normal (con wireless).

De todos modos, como no soy ningún experto, lo que conseguí fue que enrutase las 4 conexiones de puertos RJ45 a través de la wifi mediante NAT.
Los pasos fueron los siguientes:

Cargar el nuevo firmware en el router:

  1. Descargar el firmware http://downloads.openwrt.org/snapshots/trunk/brcm63xx/openwrt-96348GW-generic-squashfs-cfe.bin (internamente es Broadcom) de la página OpenWrt.
  2. Insertar un clip en el botón de reset del router, mantenerlo, y encender el router.
  3. Mantener el clip hasta que el LED de power se apaga.
  4. Configurar mi interfaz de red a la dirección 192.168.1.170 (o cualquier número entre 2 y 254), máscara 255.255.255.0, gateway 192.168.1.1, dns 192.168.1.1
  5. Abrir en el navegador la página http://1921.168.1.1
  6. Subir la imagen del firmware.

Tras esto, el router tarda unos minutos en subir el firmware y se reinicia. Cuando el LED power deja de parpadear, el router está listo para configurar:

  1. Reconfigurar la interfaz a los del punto 4 anterior (al reiniciarse el router pierdo la configuración)
  2. Hacer en una consola: telnet 192.168.1.1
  3. Al hacer telnet, entraremos como root automáticamente. Ejecutar el comando passwd root e indicar la nueva contraseña de root.
  4. Salir mediante exit.

Al establecer una contraseña a root, se desactiva la funcionalidad de telnet y se activa el acceso mediante ssh:

  1. Conectarse de nuevo mediante ssh root@192.168.1.1

En este punto se puede comprobar mediante ifconfig e iwconfig que no hay interfaz wlan0, y que hay una interfaz virtual bridge br-lan.

La interfaz wlan0 no aparece por un error en la carga del módulo b43. Para activarla hay que ejecutar:

rmmod b43
insmod b43
ifconfig wlan0 up

Al encender el router quiero que se conecte a mi router con internet por wireless, que tiene encriptación WPA. Crear el archivo de configuración para la conexión WPA-PSK. Yo lo hice en /etc/wpa_supplicant.conf

Ahora sólo queda configurar un script de inicio que se ejecute al final de todo el boot, y que realice lo siguiente:

  1. Eliminar la interfaz virtual br-lan
  2. Borrar las iptables y configurarlas para aceptar forwardings
  3. Activar la interfaz de red lan eth1 (192.168.1.1)
  4. Activar la interfaz wireless wlan0
  5. Conectar wlan0 al router de acceso a internet (wpa_supplicant)
  6. Configurar wlan0 mediante dhcp
  7. Activar NAT para que todo lo que llegue (lo que nos interesa es que afecte a lo que llegue por eth1) lo mande por NAT a wlan0.

Crear el script y configurarlo para que se ejecute al inicio:

touch /etc/init.d/alfinal
chmod 755 /etc/init.d/alfinal
cd /etc/rc.d/
ln -s ../init.d/alfinal S99alfinal

Finalmente, Añadir todo el contenido del fichero /etc/init.d/alfinal:

# Eliminar la interfaz br-lan
# Como no sé exáctamente el orden en que hay que ejecutarlo,
# porque perdería la conexión ssh al hacer las pruebas,
# hago esta chapuzada... alguna de las combinaciones será la buena ;)
# También desactivar la interfaz eth1 para levantarla más tarde
ifconfig br-lan down
ifconfig eth1 down
brctl delif br-lan eth1
brctl delbr br-lan
ifconfig eth1 down
ifconfig br-lan down
brctl delbr br-lan
ifconfig eth1 down
brctl delif br-lan eth1
brctl delbr br-lan

# Borrar las iptables y permitir forwarding
iptables -F
iptables -P FORWARD ACCEPT

# Levantar eth1 y que se configure. La IP será 192.168.1.1
ifconfig eth1 up 192.168.1.1

# Activar la wireless y obtener ip
rmmod b43
insmod b43
ifconfig wlan0 up
wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
# Dejamos pasar un rato para que se conecte... a veces incluso ni
# con estas :(
sleep 15
udhcpc -i wlan0

# Activar NAT
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Lo único malo es que si no encuentra la red wireless y no se conecta, no obtiene dirección IP 15 segundos después y es necesario reiniciar el router :\

Llegar a esto tuvo su trabajo… y al final no me sirvió porque la tarjeta broadcom b43 es una MIERDA y la tarjeta integrada del portátil es mejor que esta, con lo cual no gano nada para lo que yo necesitaba… pero al menos ahora tengo una “tarjeta wireles por RJ45” ;)

Para abrir puertos de entrada (desde la wireless hacia los puertos ethernet) mejor buscar por internet porque todavía no tengo tutorial :P

2 thoughts on “Instalando linux en el router ADSL de Jazztel HG536+

  1. Excelente tutorial, me ha servido de mucho! Muchas gracias!

    Sin embargo, creo que te falta un guión delante de la B en el comando de wpa_supplicant, esto es, debería ser:
    wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf

    Sin el guión no me lo interpreta como opción y el demonio se queda ejecutándose en primer plano…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.