Hola!
Hace unas semanas escribí pidiendo algo de información sobre como compilar firmwares personalizados para este router diciendo que si lo conseguía, mi objetivo era montar un firmware con IPv6 activado.
Pues ya está :) Al menos una versión preliminar, pero que es funcional. Ahora mismo tengo conectividad IPv6 a internet usando un tunel de Hurricane Electric. Y es el comtrend el solito el que me está dando IPv6 hacia mi LAN. Salvo porque se gana bastante en latencia (el servidor de tuneles más cercano está en Londres) tiene su cosa el tener todas las máquinas de casa con una IP pública :).
Características del firmware
- Es la última versión de la que hay código fuente disponible, que creo que es incluso más moderna que la última distribuida por Jazztel. Tiene un driver de wifi y de ADSL más modernos. Llevo usándola un par de semanas y la conexión ADSL me parece incluso más estable que con la R21 de jazztel que venía usando hasta ahora.
- Tiene un servidor telnet activo en el puerto 222. Hay que usar el usuario user con contraseña user. Al otro lado hay un busybox bastante completo, nada del interfaz capado de comtrend.
- A modo de curiosidad-frikada: el kernel es un 2.6.8.1, a excepción de la parte del IPv6, que es un backport de un 2.6.9, porque la del 2.6.8.1 tiene un bug que hace que pierda paquetes intermitentemente.
- La configuración por defecto tiene la IP 192.168.1.1, con usuario root/root para la administración web.
Cómo usarlo
- Se instala como cualquier otro firmware. Puede que al ser un cambio grande de versión, tras cargar el nuevo tengáis que resetearlo a la configuración por defecto. (yo tuve que hacerlo la primera vez)
- Si no queréis usar nada de IPv6 ya está. Es un firmware plenamente funcional, igual que cualquier oficial. Pero eso no tiene gracia :)
IPv6
- Nos abrimos una cuenta en tunnelbroker.net. Creo recordar que tendrés que permitir los pings desde una determinada IP durante el proceso de alta. Permitid el acceso desde el interfaz web del router y ya.
- Cuando tengamos nuestro túnel, nos vamos a la web de información detallada y pedimos que nos muestre información para linux-route2. Será algo como:
modprobe ipv6 ip tunnel add he-ipv6 mode sit remote 216.66.80.26 local {ipv4_publica} ttl 255 ip link set he-ipv6 up ip addr add {la client_ipv6_address que nos asignen}/64 dev he-ipv6 ip route add ::/0 dev he-ipv6 ip -f inet6 addr
- Conectamos por telnet al router con el programa que queramos (yo uso PuTTY). Recuerda que es al puerto 222.
- Ejecutamos lo siguiente:
ip tunnel add he-ipv6 mode sit remote 216.66.80.26 local {nuestra ipv4_publica} ttl 255 ip link set he-ipv6 up ip addr add {la client_ipv6_address que nos asignen}/64 dev he-ipv6 ip addr add {una ip del bloque "routed /64 que nos asignen}/64 dev br0 ip route add ::/0 dev he-ipv6 ip -f inet6 addr iptables -I INPUT -p 41 -j ACCEPT echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
Lo que hacemos con eso es levantar un túnel IPv6-in-IPv4 hacia el servicio de HE, configuramos la IP que nos han asignado en nuestro lado del túnel (he-ipv6), ponemos una IPv6 del rango "cliente" que nos han dado en nuestro interfaz local en el router (que es un bridge del ethernet y del wifi), añade la ruta por defecto, deja pasar al tráfico del tunel por el firewall y activamos el enrutado de IPv6 en el kernel.
Con esto, y si todo ha ido bien tenemos conectividad IPv6 desde nuestro router. Podemos comprobarlo haciendo un ping a alguna parte:
# ping6 ipv6.google.com PING ipv6.l.google.com (2a00:1450:8002::63): 56 data bytes 64 bytes from 2a00:1450:8002::63: icmp6_seq=0 ttl=57 time=75.0 ms 64 bytes from 2a00:1450:8002::63: icmp6_seq=1 ttl=57 time=70.0 ms --- ipv6.l.google.com ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max = 70.0/72.5/75.0 ms #
IPv6 en mis ordenadores
Aún me falta por añadir radvd al firmware, para que el router sea capaz de anunciarse en la LAN como router IPv6 (es algo así como el DHCP). Sin embargo, se puede configurar de momento de forma estática. Esto ya varía bastante de un sistema operativo a otro. En Windows7, que es el que uso, IPv6 ya viene instalado por defecto y se configura como si de IPv4 estático se tratara. Metemos en la IP una del rango "routed /64" diferente a la del router, y en la puerta de enlace, la que le asignamos al router de ese mismo rango.
Cosas pendientes
- Hacer que la configuración del túnel sea más cómoda. Bien mediante el interfaz web (que probablemente es difícil tirando a imposible) o con algún asistente en modo texto desde el telnet.
- Meter en la imagen el radvd para que no haya que poner la configuración IPv6 a mano en nuestros ordenadores.
- Hacer que la configuración del túnel sea persistente.
Antes del enlace al binario: NO ME RESPONSABILIZO de si convertís vuestro comtrend en un pisapapeles de diseño. No debería ocurrir nada y siempre queda la opción del reseteo este de emergencia (con el que he podido rescatar el router después de haberle cargado firmwares mal compilados).
ACTUALIZADO
md5sum bc6929f20a854cd43ba92d44bda13a88 ct536_ipv6-3.bin
Sé que ahora mismo todo esto no es para cualquiera. Pero quizá la IPv6 de momento no sea cosa de cualquiera. Sólo de los que quieren experimentar. Yo ahora podré hacerlo más cómodamente.
Jazztel: cuando queráis podéis activarme IPv6 nativo y probamos de verdad XD :)