21 julio, 2024

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.

  El esquema de red es el siguiente:
test6in4
Router ISP

     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.

 
 Router HG556A

     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.

2 comentarios en «IPV6, y Access Point con tu router ISP y un HG556A»

  1. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies