Manual para cambiar el router FTTH de los ISP por uno neutro usando los firmwares Tomato RAF u OpenWRT

En este tutorial hecho por krasny2k5 de ADSLZone explicaremos como cambiar el router que instala telefónica  al contratar FTTH, por un router neutro compatible con OpenWRT o Tomato RAF. De momento con DD-WRT no funciona.

Para que funcione hay que activar el protocolo 802.1q que introduce una cabecera en los paquetes que se transmiten de la ONT al router, sin activar esta opción, la ONT no responde a llamadas normales del PPPoE.

Entre Tomato RAF y OpenWRT recomendamos usar Tomato RAF para los usuarios menos experimentados y OpenWRT para aquellos que tengan conocimientos avanzados de redes y linux.

Cuando funcione DD-WRT explicaremos como hacerlo con este firmware. Además si usamos Tomato RAF podemos meter al router software adicional (podéis leerlo aquí: Tomato RAF).

Este tutorial esta hecho usando un router ASUS RT-N16 y la ONT Alcatel Lucent 1220, también testeado por DAVIZINHOX en la huawei hg850.

Parte común de la configuración:

La configuración del PPPoE no requiere ningún parámetro especial, simplemente debemos meter el usuario: adslppp@telefonicanetpa y la contraseña: adslppp y dejar el «Service Name» en blanco. Estos parámetros se configuran en la interfaz web para ambos firmwares.

Configuración de Tomato

Hemos probado su funcionamiento con Tomato RAF 1.28.8903 y TomatoUSB 1.28.9054, debería funcionar con cualquier derivado de tomato.

Empezaremos configurando el PPPoE en la configuración básica de red, introduciendo los datos arriba mencionados. Debería quedaros así:

Después tenemos que activar el acceso vía SSH para terminar la configuración, para ello vamos a administration/Admin Access y marcamos la casilla «Enable at Startup» en la sección SSH Daemon.

Ahora con nuestro cliente SSH favorito (usuarios de Windows podeis usar PUTTY o directamente desde el propio navegador Mozilla Firefox con FireSSH) abrimos una sesión a 192.168.1.1 usuario: root password: admin (suponiendo que tengáis los valores por defecto).

Nota: También se podría hacer todo esto por Telnet

Una vez dentro tenemos que crear la interfaz vlan6 y activar el protocolo 802.1p, para ello hay que saber cual es la interfaz física que se encarga de gestionar el puerto WAN y que puerto es el que usa, para ello tecleamos:

nvram show | grep vlan2

(vlan2 es la interfaz WAN por defecto en tomato) obtendremos algo parecido a lo siguiente:

root@unknown:/tmp/home/root# nvram show | grep vlan2
vlan2hwname=et0
vlan2ports=0 8
wan_iface=vlan2
wan_ifname=vlan2
wan_ifnameX=vlan2
wan_ifnames=vlan2

La primera línea nos indica que la interfaz física es et0, y la segunda que los puertos son en 0 y el 8 (el 8 es el enlace con el procesador, el 0 es la boca del router). Con esto ya solo nos queda configurar la nueva vlan6, usando estos dos valores (cambiadlos si en vuestro router son diferentes):

nvram set vlan6hwname=et0
nvram set vlan6ports=»0t 8″
nvram set wan_ifnameX=vlan6
nvram commit
reboot

Atención que detrás del 0 del puerto va una t, eso es para activar en 802.1q

HECHO!!! Ahora solo queda esperar el reinicio y pacientemente darle un minuto aproximadamente para que sincronice, si todo sale bien en Status Overview debería saliros los datos de vuestra conexión.

Configuración DD-WRT

1º paso, configurar la conexión pppoe, sin ningún parámetro extraño, tal y como aparece en la siguiente imagen:

Ahora guardamos y aplicamos los cambios.

2º paso: Nos vamos a la pestaña Setup -> VLANs y cambiamos el puerto wan de la VLAN2 a la VLAN6, y marcamos la última pestaña que pone tagged solo en la columna del puerto wan, debería quedar así:

Ahora guardamos y aplicamos los cambios.

3º y último paso: nos vamos a la sección Administration -> Commands y escribimos:

nvram set pppoe_wan_ifname=vlan6
nvram commit

y pulsamos el botón Save Startup. Deberíamos aparecer así:

Ahora nos vamos a administración y abajo del todo le damos a Reboot router, y cuando reinicie al cabo de un minuto aproximadamente debería sincronizar con internet.

Configuración con OpenWRT

El mejor router del mercado soportado es el TP-LINK TL-WR1043ND, por si estáis pensando en comprar uno (este equipo lo puedes encontrar en Hispatienda).

Después de instalarlo podéis acceder a la interfaz web configurada en el 192.168.1.1, y allí configurar la WAN como PPPoE, así luego el archivo /etc/config/network os saldrán ya los parámetros de la WAN configurados y solo habrá que renombrar la interfaz.

Igual que en el caso del Tomato RAF solo hay que configurar una interfaz como vlan y con el trafico taggeado. Eso se configura en el archivo /etc/config/network, este es el mio:

config ‘interface’ ‘loopback’
option ‘ifname’ ‘lo’
option ‘proto’ ‘static’
option ‘ipaddr’ ‘127.0.0.1’
option ‘netmask’ ‘255.0.0.0’

config ‘switch’ ‘eth1’
option ‘enable’ ‘1’
option ‘enable_vlan’ ‘1’
option ‘reset’ ‘1’

config ‘interface’ ‘lan’
option ‘type’ ‘bridge’
option ‘proto’ ‘static’
option ‘ipaddr’ ‘192.168.1.1’
option ‘netmask’ ‘255.255.255.0’
option ‘gateway’ ‘192.168.1.1’
option ‘dns’ ‘80.58.64.250’
option ‘nat’ ‘1’
option ‘ifname’ ‘eth1.2 wlan0’
option ‘defaultroute’ ‘0’
option ‘peerdns’ ‘0’
config ‘interface’ ‘wan’
option ‘ifname’ ‘eth1.6’
option ‘proto’ ‘pppoe’
option ‘username’ ‘adslppp@telefonicanetpa’
option ‘password’ ‘adslppp’

config ‘switch_vlan’
option ‘device’ ‘eth1’
option ‘vlan’ ‘2’
option ‘ports’ ‘1 2 3 4 5’

config ‘switch_vlan’
option ‘device’ ‘eth1’
option ‘vlan’ ‘6’
option ‘ports’ ‘0t 5’

Explico un poco la configuración:

config ‘switch’ ‘eth1’
option ‘enable’ ‘1’
option ‘enable_vlan’ ‘1’
option ‘reset’ ‘1’

Esto es lo que activa el soporte vlan en la interfaz eth1, tiene que corresponder a la interfaz que maneje el puerto WAN (en mi caso es uno de los puertos del switch porque estoy usando un comtrend CT-5361 que no tiene puerto WAN, este es un módem adsl que no interesa usar). Para descubrir cual es vuestro puerto WAN podéis revisar el log del kernel, que obtenéis usando el comando dmesg.

config ‘switch_vlan’
option ‘device’ ‘eth1’
option ‘vlan’ ‘6’
option ‘ports’ ‘0t 5’

Esto configura la vlan6, a la que corresponde la interfaz eth1.6. Los puertos en principio si es un router con una interfaz exclusiva para WAN debería ser el 0, y se le añade la «t» para taggear el trafico (activa el 802.1q).

En mi caso creo otra vlan, la 2 para el resto de puertos del switch, en principio no haría falta. Podéis buscar información de vuestro router y los puertos (no siempre el puerto 1 corresponde con el 0, puede ser el 4) en la tabla de hardware del openWRT: http://wiki.openwrt.org/toh/

Finalmente en la parte correspondiente a la LAN enlazamos la interfaz bridge y la correspondiente con el switch y la parte de la WAN quedaría así:

config ‘interface’ ‘wan’
option ‘ifname’ ‘eth1.6’
option ‘proto’ ‘pppoe’
option ‘username’ ‘adslppp@telefonicanetpa’
option ‘password’ ‘adslppp’

Si habéis configurado los parámetros vía web solo deberíais tener que tocar el parámetro ifname para poner el (en mi caso) eth1.6.

Con esta simple configuración, y comprobando que todo está bien debería funcionar.

Consideraciones :

– Gargoyle es bastante más sencillo de configurar que OpenWRT, quizá para gente con poca experiencia puede resultar apropiado (es un derivado de OpenWRT y trabaja con backfire 1.03, la última versión de OpenWRT).
– Tanto Tomato RAF como OpenWRT tienen interfaz web para la configuración, pero la parte de la VLAN hay que configurarla via TELNET o SSH.
– OpenWRT viene con la wifi desactivada por defecto, hay que activarla. Después de la instalación entrar por telnet y cambiar la pass de root con passwd
– OpenWRT es igual de versátil q cualquier otro firmware, y tiene el mismo optware que cualquier otro, pero resulta más complicado de configurar que la mayoría.
– Testeado DD-WRT con la build 14896 en broadcom (RT-N16) y atheros 14896 (fonera), ambas build recomendadas. No funciona en ninguna, y además también hay un bug que no guarda la interfaz asignada a la wan y hay que configurarla via «nvram set pppoe_wan_interface=vlan2.6». No he probado versiones superiores, cuando tenga tiempo pruebo, para comprobar que está introduciendo el tag en los paquetes resulta útil sniffar con wireshark el tráfico del WAN y ver que efectivamente lo introduce.
– El switch que gestiona los puertos rj-45 puede no soportar las interfaces vlan, y por tanto no funcionar. En la tabla de compatibilidad de OpenWRT hay una columna que especifica si está soportado o no.

Agradecimientos:
– A Davizinhox y ut1545 por animarme a investigar sobre el tema y darme ideas de por donde iban los tiros.
– A los foros de tomatousb de donde saque información para hacer funcionar esto con Tomato.

Manual realizado por krasny2k5 de ADSLZone