IPv6 con Hurricane Electric y OpenWrt

En España para un particular es imposible utilizar IPv6 de forma nativa, ya que hoy por hoy ningún Internet Service Provider (ISP) ofrece la posibilidad. Una de las formas de utilizar IPv6 sin depender de tu actual ISP es mediante un túnel 6in4, para lo que necesitas un proveedor de túneles IPv6. En este caso se ha optado por Hurricane Electric.
Hurricane Electric es un backbone global en Internet (ISP), especializado en IPv6. Hurricane Electric trabaja desde sus centros de datos en Área de la Bahía de San Francisco, situados principalmente en Fremont (California). Mike Leber fundó la compañía en 1994, empezando como un negocio en su garaje.
Túnel IPv6 con Hurricane Electric
Como habrás imaginado lo primero que necesitas es crear una cuenta, gratuita, en el servicio IPv6 Tunnel Broker de Hurricane Electric. Un vez tengas creada tu cuenta el siguiente paso sera crea un nuevo túnel IPv6.
  1. En la parte izquierda de la pagina principal de tu cuenta Hurricane Electric Free IPv6 Tunnel Broker selecciona Create Regular Tunnel.
  2. Ahora en la pagina Create New Tunnel rellena el campo IPv4 Endpoint (Your side) con tu IPv4 publica, selecciona uno de los servidores de túneles disponibles en la sección Available Tunnel Servers y haz click en Create Tunnel.
  3. Estas en la pagina Tunnel Details donde se muestra la información del túnel recién creado. En la sección Routed IPv6 Prefixes puedes hacer click en Assign /48 para que te asignen una red /48, opción recomendada si quieres hacer subnetting.
Configuración de OpenWrt
Una vez completados los pasos anteriores ya tendrás creado el túnel IPv6, lo siguiente sera configurar OpenWrt con los datos obtenidos de Hurricane Electric para que establezca el túnel y haya trafico IPv6.
OpenWrt es una distribución de Linux basada en firmware usada para dispositivos empotrados tales como routers personales.
En este caso el router utilizado es un Netgear wndr3700v2 con OpenWrt, versión Attitude Adjustment RC1. Puedes encontrar un listado de los routers soportados e información sobre la instalación aquí. Mediante la interfaz Web puedes realizar prácticamente cualquier configuración que necesites, pero en este caso se mostrara como hacer la configuración desde la linea de comandos. Puedes acceder a ella mediante Telnet o SSH dependiendo de como hayas configurado el firmware.

Una vez hayas accedido a la linea de comandos del router actualiza la lista de paquetes disponibles e instala los necesarios para que se pueda establecer un túnel 6in4 y el firewall tenga soporte para IPv6.
opkg update
opkg install 6in4 ip6tables
Nota: A partir de la versión de OpenWrt Barrier Breaker el paquete ip6tables viene instalado por defecto.

Lo siguiente es configurar el túnel con los datos obtenidos de Hurricane Electric. En el archivo de configuración de OpenWrt para las interfaces de red crea una nueva sección como la siguiente.
config interface 'he'
        option ifname '6in4-he'
        option proto '6in4'
        option peeraddr 'xxx.xx.xx.xx'
        option ip6addr 'xxxx:xxx:xxxx:xxx::2/64'
        option tunnelid 'xxxxx'
        option username 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        option password 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Puedes dar a la interfaz el nombre que prefieras modificando el valor de la opción ifname (A partir de la versión de OpenWrt Barrier Breaker la opción ifname se ignora autogenerandose de los valores de proto e interface). La correspondencia, entre los datos de configuración de OpenWrt y los obtenidos de Hurricane Electric, se muestra en la siguiente tabla.
OpenWrtHurricane Electric
peeraddrServer IPv4 Address
ip6addrClient IPv6 Address
tunnelidTunnel ID
Si estas utilizando una IPv4 estática con los datos anteriores sera suficiente, puedes eliminar el resto de la configuración. Si por el contrario y como es habitual utilizas una IPv4 dinámica necesitaras restablecer el túnel 6in4 cada vez que cambie, por suerte tanto OpenWrt como Hurricane Electric permiten que se restablezca automáticamente si se proveen los siguientes datos.
OpenWrtHurricane Electric
usernameUser ID
passwordPassword (MD5)
updatekeyUpdate Key (Nota)
El User ID lo puedes obtener de la parte superior de la pagina principal de tu cuenta de Hurricane Electric, Hurricane Electric Free IPv6 Tunnel Broker. El Password (MD5) necesitaras generarlo, para ello puedes utilizar el siguiente comando.
echo -n password | md5sum
No olvides sustituir password por el password de tu cuenta de Hurricane Electric, que es del que hay que obtener el MD5.

Nota: Los tuneles creados a partir de febrero de 2014 dejan de usar el password y utilizan la update key que se encuentra en la pestaña advanced de la configuración del túnel

Para terminar con la configuración relativa a las interfaces de red añade una IPv6, perteneciente a la red asignada, a tu interfaz LAN. Si estas haciendo subnetting, como en este caso, es recomendable que uses la red /48 que se había comentado anteriormente y asignes una IPv6 perteneciente a la subred que corresponda.
config interface 'lan'
        option ifname 'eth0.1'
        option proto 'static'
        option type 'bridge'
        option netmask '255.255.255.0'
        option ipaddr '192.168.0.1'
        option ip6addr 'xxxx:xxx:xxxx:xxxx::x/64'
Continua, modificando los parámetros del Kernel para permitir el reenvío de paquetes IPv6 entre las diferentes interfaces del router.
net.ipv6.conf.all.forwarding=1
Para terminar edita la configuración del firewall para añadir la interfaz he, que creaste antes, a la zona wan. No deja de actuar como tal, proporcionando una salida a Internet.
config zone
        option name 'wan'
        option network 'wan he'
        option input 'DROP'
        option output 'ACCEPT'
        option forward 'DROP'
        option masq '1'
        option mtu_fix '1'
Con esto ya tienes que tener salida IPv6 a Internet, si estas buscando una dirección IPv6 a la que hacer un ping6 la mas típica es: ipv6.google.com.