Un amigo lector, me ha propuesto un montaje en red, en el que usando su router Isp, (en mi caso un ZTE de Jazztel), conecta mediante cable, al piso superior, un HG556A tenga las siguientes funcionalidades en la red:
- Dirección y comunicación IPv6, en todos los routers, todos los puertos e interfaces.
- Única red Wifi en toda la casa.
- DHCPv4 centralizado en router del Isp.
- DHCPv6 centralizado en HG566A
Todos los firmwares disponibles en el blog, contienen los paquetes necesarios.

Configuramos el servidor DHCPv4, creando un único ámbito, que contenga las ip de la 192.168.1.100 a la 192.168.1.254, dejando las 100 primeras para utilizar como ip estáticas, por ejemplo el router HG556A, algún server, etc.
La ip principal, será estática y perteneciente a la red primaria, en nuestro caso, la 192.168.1.2/24.
Configuramos nuestra wifi como AP y con la misma SSID y contraseña del router isp, y la asignamos a las redes wwan y lan.
# /etc/config/wireless config wifi-device 'radio0' option type 'mac80211' option channel '11' option hwmode '11g' option path 'pci0000:00/0000:00:01.0' option country 'ES' option txpower '20' option htmode 'HT20' config wifi-iface option device 'radio0' option mode 'ap' option encryption 'psk-mixed+tkip+ccmp' option key 'mipassword' option ssid 'TEST1' <span style="color: #b6242d;" data-mce-style="color: #b6242d;">option network 'wwan lan' </span>
En la parte de lan, asignamos la 192.168.1.2/24 al router, creamos la interface 6in4 para túnel ipv6, creamos una vlan única en todo el router, y creamos una interface bridge que nos comunicará la red wifi con el resto, asignándola a la red wwan y lan.
# /etc/config/network config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config globals 'globals' option ula_prefix 'fd4f:d02c:4197::/48' config interface 'lan' option ifname 'eth0.1' option force_link '1' option type 'bridge' option proto 'static' option netmask '255.255.255.0' option ip6assign '60' option ipaddr '192.168.1.2' option gateway '192.168.1.1' option broadcast '192.168.1.255' option dns '8.8.8.8' config interface 'Wan6in4' option proto '6in4' option peeraddr '216.66.xx.xx' option ip6addr '2001:xxx:xx:xx::2/64' option ip6prefix '2001:xxx:xx:xx::/64' option tunnelid 'xxxxxx' option username 'Username' option updatekey '2ea9ffxxxxxxxxx0af5ddd' config switch option name 'eth0' option reset '1' option enable_vlan '1' config switch_vlan option device 'eth0' option vlan '1' option ports '0 1 2 3 4 5t' config interface 'sta_bridge' option proto 'relay' list network 'lan wwan'
Y como vamos a necesitar que las ipv4 sean las de nuestro dhcp principal y las de ipv6 del HG556A, lo configuramos así:
/etc/config/dhcp config dnsmasq option boguspriv '1' option localise_queries '1' option rebind_protection '1' option rebind_localhost '1' option local '/lan/' option domain 'lan' option expandhosts '1' option readethers '1' option leasefile '/tmp/dhcp.leases' option resolvfile '/tmp/resolv.conf.auto' config dhcp 'lan' option interface 'lan' option start '100' option limit '150' option leasetime '12h' option dhcpv6 'server' option ra 'server' option ra_management '1' config dhcp 'wan' option interface 'wan' option ignore '1' config odhcpd 'odhcpd' option maindhcp '0' option leasefile '/tmp/hosts/odhcpd' option leasetrigger '/usr/sbin/odhcpd-update'
Mi configuración del firewall es la siguiente:
/etc/config/firewall config defaults option syn_flood '1' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' config zone option name 'lan' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' option network 'lan' config zone option name 'wan' option output 'ACCEPT' option forward 'REJECT' option masq '1' option mtu_fix '1' option network 'wan wan6' option input 'ACCEPT' config forwarding option src 'lan' option dest 'wan' config rule option name 'Allow-DHCP-Renew' option src 'wan' option proto 'udp' option dest_port '68' option target 'ACCEPT' option family 'ipv4' config rule option name 'Allow-Ping' option src 'wan' option proto 'icmp' option icmp_type 'echo-request' option family 'ipv4' option target 'ACCEPT' config rule option name 'Allow-DHCPv6' option src 'wan' option proto 'udp' option src_ip 'fe80::/10' option src_port '547' option dest_ip 'fe80::/10' option dest_port '546' option family 'ipv6' option target 'ACCEPT' config rule option name 'Allow-ICMPv6-Input' option src 'wan' option proto 'icmp' list icmp_type 'echo-request' list icmp_type 'echo-reply' list icmp_type 'destination-unreachable' list icmp_type 'packet-too-big' list icmp_type 'time-exceeded' list icmp_type 'bad-header' list icmp_type 'unknown-header-type' list icmp_type 'router-solicitation' list icmp_type 'neighbour-solicitation' list icmp_type 'router-advertisement' list icmp_type 'neighbour-advertisement' option limit '1000/sec' option family 'ipv6' option target 'ACCEPT' config rule option name 'Allow-ICMPv6-Forward' option src 'wan' option dest '*' option proto 'icmp' list icmp_type 'echo-request' list icmp_type 'echo-reply' list icmp_type 'destination-unreachable' list icmp_type 'packet-too-big' list icmp_type 'time-exceeded' list icmp_type 'bad-header' list icmp_type 'unknown-header-type' option limit '1000/sec' option family 'ipv6' option target 'ACCEPT' config include option path '/etc/firewall.user'
Rebotamos el router isp, y después nuestro HG556A, cuando esté todo en funcionamiento, hacemos la prueba desde un equipo conectado a cualquiera de los routers:
Miramos la configuración ip en un PC:
C:\Windows\system32>ipconfig Configuración IP de Windows Adaptador LAN inalámbrico Conexión de red inalámbrica: Estado de los medios. . . . . . . . . . . : medios desconectados Sufijo DNS específico para la conexión. . : nodo1 Adaptador de Ethernet Conexión de área local: Sufijo DNS específico para la conexión. . : nodo1 Dirección IPv6 . . . . . . . . . . : 2001:xxx:xx:xx::76c Dirección IPv6 . . . . . . . . . . : 2001:xxx:xx:xx:240f:xxx:xx:xx Dirección IPv6 . . . . . . . . . . : fd4f:xxxx:4197::76c Dirección IPv6 . . . . . . . . . . : fd4f:xxxx:4197:0:240f:xxx:xx:xx Dirección IPv6 temporal. . . . . . : 2001:xxx:xx:xx:1c7d:e3c4:98b2:cc86 Dirección IPv6 temporal. . . . . . : fd4f:xxxx:4197:0:1c7d:e3c4:98b2:cc86 Vínculo: dirección IPv6 local. . . : fe80::240f:xxx:xx:xx%10 Dirección IPv4. . . . . . . . . . . . . . : 192.168.1.200 Máscara de subred . . . . . . . . . . . . : 255.255.255.0 Puerta de enlace predeterminada . . . . . : fe80::xxxx:f0ff:xxxx:dc73%10 192.168.1.1 Adaptador de túnel Conexión de área local* 2: Estado de los medios. . . . . . . . . . . : medios desconectados Sufijo DNS específico para la conexión. . : nodo1 Adaptador de túnel Conexión de área local* 6: Sufijo DNS específico para la conexión. . : Dirección IPv6 . . . . . . . . . . : 2001:0:xxxx:79fb:xxxx:xxxx:xxxx:de91 Vínculo: dirección IPv6 local. . . : fe80::xxxx:1321:xxxx:de91%12 Puerta de enlace predeterminada . . . . . :
Y ahora realizamos un ping con IPv4 y con IPv6:
C:\Windows\system32>ping -4 www.google.com Haciendo ping a www.google.com [212.106.221.187] con 32 bytes de datos: Respuesta desde 212.106.221.187: bytes=32 tiempo=2ms TTL=60 Respuesta desde 212.106.221.187: bytes=32 tiempo=2ms TTL=60 Respuesta desde 212.106.221.187: bytes=32 tiempo=1ms TTL=60 Respuesta desde 212.106.221.187: bytes=32 tiempo=1ms TTL=60 Estadísticas de ping para 212.106.221.187: Paquetes: enviados = 4, recibidos = 4, perdidos = 0 (0% perdidos), Tiempos aproximados de ida y vuelta en milisegundos: Mínimo = 1ms, Máximo = 2ms, Media = 1ms C:\Windows\system32>ping -6 ipv6.google.com Haciendo ping a ipv6.l.google.com [2a00:1450:4006:803::200e] desde 2001:xxx:xx:x 9:1c7d:e3c4:98b2:cc86 con 32 bytes de datos: Respuesta desde 2a00:1450:4006:803::200e: tiempo=93ms Respuesta desde 2a00:1450:4006:803::200e: tiempo=93ms Respuesta desde 2a00:1450:4006:803::200e: tiempo=93ms Respuesta desde 2a00:1450:4006:803::200e: tiempo=93ms Estadísticas de ping para 2a00:1450:4006:803::200e: Paquetes: enviados = 4, recibidos = 4, perdidos = 0 (0% perdidos), Tiempos aproximados de ida y vuelta en milisegundos: Mínimo = 93ms, Máximo = 93ms, Media = 93ms
Ya tenemos nuestra configuración funcionando, salida IPv6 a través del túnel y salida IPv4 a través de nuestro ISP habitual.
Espero que os sea de ayuda.
Yo tengo una config parecida pero en lugar de conectar por cable al principal, conecto por wifi. No entiendo que ventajas puede tener que los equipos que se conecten al hg556 tengan ipv6 en lugar de ipv4 ¿Me lo podias explicar? Muchas gracias por tu gran trabajo
En mi diseño, todos los equipos conectados tanto al HG556,
como a tu router ISP, como si tuvieras enlazados switches
en cada boca, todos los equipos conectados a la red tendrán IPv6.
En cuanto a IPv6, mira esta entrada del blog