Archivo

Archivo para julio, 2012

Instalar OpenWRT en Dlink DIR600 B2

domingo, 22 de julio de 2012 3 comentarios

Luego de usar DD-WRT en este router por más de un año, decidí probar OpenWRT, ya que se le puede agregar soporte de IPv6, protocolo que no está en DD-WRT para este modelo.

 

Es importante mencionar que OpenWRT sólo es compatible con este modelo (DIR-600) revisión A1, B1 y B2, no es compatible con la versión C1.

OpenWRT a diferencia de DD-WRT es software libre, y como ocurre en la mayoría de los casos, en la página sólo se puede obtener el código fuente, para que uno mismo compile su firmware según las necesidades del usuario.

 

Para la instalación necesitarás:

 

  • Router Dlink DIR 600 A1, B1 o B2
  • Un equipo con una distro de Linux para compilar el firmware, yo utilicé Ubuntu.
  • El router conectado a tu equipo por cable de red.
  • 4,5 GB mínimo de espacio libre en disco.
  • Mucho tiempo.

 

Para compilar debe seguir estos pasos:

 

  • Instalar subversion y build-essential, ya que desde el repo svn se descargarán las fuentes
  • sudo apt-get install subversion build-essential
  • Instalar las librerias necesarias
  • sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt
  • Crear una carpeta para las fuentes e iniciar la descarga
  • mkdir openwrt
  • cd openwrt
  • svn co svn://svn.openwrt.org/openwrt/trunk/
  • cd trunk
  • Comprobar si se dispone de todas las dependencias
  • make defconfig
  • make prereq
  • Estos comandos mostrarán error si faltan dependencias, en el mensaje se identifica cuál dependencia falta para instalarla y reintentar.
  • Igual que en la compilación del kernel, este comando abre una pantalla donde puedes seleccionar lo que se va a incluir en el firmware, ahí es donde seleccioné los módulos de IPv6. Para que se incluyan en el firmware deben salir con [*], los con [M] se compilan, pero no se incluyen, eso se pueden instalar aparte y los [ ] no se compilan ni incluyen. Para volver atrás se presiona dos veces ESC.
  • En esta pantalla debes seleccionar como target “Ralink RT288x/RT305x”  y luego como subtarget “RT305x based boards”.
  • make menuconfig
  • image
  • Para iniciar la compilación
  • make
  • Ahora a esperar, en mi equipo se demoro más de 1 hora, así que a tener paciencia xD. La compilación es larga porque antes de compilar el firmware, compila las herramientas necesarias, como el cross-compiler.
  • image
  • Ya terminó la compilación, ahora a instalar! El firmware estará ubicado en la carpeta bin/ramips y estarán todos los modelos compatibles, buscar el correspondiente a tu modelo.
  • image
  • Como en el router tenía DD-WRT utilicé el modo de emergencia para instalar OpenWRT. Si tienes el firmware stock puedes usar la sección de actualización de firmware.
  • Para activar el modo de emergencia se debe desenchufar el router, luego presionar el botón de reset y teniéndolo presionado se conecta el router de nuevo. Se habrá accedido a ese modo si la luz de power está parpadeando. El computador se debe configurar con una IP  manual dentro del rango 192.168.0.0/24 y se debe entrar con el navegador a http://192.168.0.1
  • Una vez flasheado el firmware se reiniciará automáticamente el router y si tienes IP manual, ahora debes ponerla automática, donde recibirás una dirección dentro del rango 192.168.1.0/24.
  • Para comenzar se debe conectar con un cliente telnet (como puTTY) a la dirección 192.168.1.1
  • image
  • Ahí se debe ejecutar el comando passwd para establecer la contraseña de administrador. Una vez establecida poner exit para salir. En este momento el servidor telnet queda desactivado y se activa el SSH en su lugar. Ahora conectar con SSH al router, utilizado como nombre de usuario root y como contraseña la recién establecida.
  • image
  • Corriendo ifconfig puedo comprobar que el soporte IPv6 está activado.
  • image
  • Conectando el cable ethernet a la boca WAN obtuvo dirección IP, si te conectas a Internet por PPPoE, IP estática u otro método, consultar instrucciones en la página http://wiki.openwrt.org/doc/howto/internet.connection .
  • image
  • Como hay un servidor con radvd enviando router advertisements, OpenWRT también obtuvo su dirección IPv6 automáticamente.
  • OpenWRT no incluye interfaz de administración web, ésta se instala por separado con los comandos: (también se puede incluir en la compilación del firmware, lo tendré presente para la próxima xD)
  • opkg update
  • opkg install luci-ssl
  • /etc/init.d/uhttpd enable
  • /etc/init.d/uhttpd start
  • image
  • Ahora puedes conectarte a https://192.168.1.1
  • image
  • image
  • La instalación está completa, ahora puedes configurar el router xD.

 

Fuentes:

 

Preparar entorno de compilación: http://wiki.openwrt.org/doc/howto/buildroot.exigence

Compilación: http://wiki.openwrt.org/doc/howto/build

Detalles de compilación para Dlink DIR600 B: http://wiki.openwrt.org/toh/d-link/dir-300revb

Primer login: http://wiki.openwrt.org/doc/howto/firstlogin

IPv6: http://wiki.openwrt.org/doc/howto/ipv6.essentials

Configuración inicial: http://wiki.openwrt.org/doc/howto/basic.config

Instalar LuCI (interfaz web): http://wiki.openwrt.org/doc/howto/luci.essentials