Uso de un túnel eléctrico de huracanes para proporcionar IP a una red con dnsmasq

Uso de un túnel eléctrico de huracanes para proporcionar IP a una red con dnsmasq

Ejecuto mi red desde una caja x86 con Ubuntu 18.04, firewalld (UFW no es adecuado para usar como enrutador), /networks/interfaces (netplan tuvo un error que lo hizo inadecuado para su propósito) y dnsmasq para DHCP y DNS.

Tenía un ISP que ejecutaba ipv6 con PD y usabala configuración aquí. Mi ISP actual no admite IPV6, por lo que configuré un túnel a mi enrutador a través de Hurricane Electric; esto está configurado y presumiblemente funciona ya que puedo hacer ping.

Tengo enp1s0 como interfaz externa y todas las demás interfaces unidas para servir al resto de la red como br0. También tenga he-ipv6 como túnel, sin puente a nada

En este momento, el enrutador está detrás de un enrutador ISP, con dos segmentos de red diferentes: 192.168.1.x para todos los demás y mi propia red de prueba en 192.168.2.x, con el enrutador en una DMZ. Esteno deberíaser un problema.

El problema es que me gustaría seguir con dnsmasq y tengo problemas para financiar la documentación sobre cómo configurarlo.

Esto es lo que tengo ahora

  • Configuré ipv6 en mi enrutador según las instrucciones en la página web de Hurricane Electric, incluidas las siguientes en mi /etc/networks/interfaces
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
        address 2001:470:YY:YYYY::2
        netmask 64
        endpoint 216.218.221.6
        local xxx.xxx.x.xxx
        ttl 255
        gateway 2001:470:YY:YYYY::1

Esto funciona. Puedo hacer ping a ipv6.google.com y otros sitios ipv6 conocidos. Simplemente parece que no puedo obtener direcciones IP paraalgo más.

Lo intenté

##For HE
enable-ra
dhcp-range = 2001:470:YY:YYYY::
dhcp-option=option6:dns-server,[2001:470:20::2],[2001:4860:4860::8888]

Pero aparentemente la sintaxis es incorrecta.

¿Cómo obtengo una dirección IPv6 para los clientes que obtienen IP del enrutador, así como para br0?

Respuesta1

Antes que nada:

Al igual que en IPv4, cada enlace necesita su propio prefijo de subred. El 2001:470:YY:YYYY::/64"punto final del túnel" es específicamente para el enlace entre usted y Hurricane (es decir, es para su "dirección WAN" en términos de IPv4); no se puede reutilizar para ninguna de sus LAN. Para este último, necesita uno de los "prefijos IPv6 enrutados" que se encuentran en la página de configuración del túnel; será el equivalente a un prefijo delegado DHCPv6-PD.

Normalmente, cada LAN tiene un prefijo de subred de tamaño /64, para permitir que funcione la asignación de direcciones basada en SLAAC estándar (muchos clientes, especialmente Android, no admiten la asignación de direcciones basada en DHCPv6). Entonces, si planea múltiples subredes, elija "Asignar /48" para obtener un prefijo con una cantidad decente (64ki) de /64.

(No es necesario utilizar "Asignar /64" si ya ha asignado un /48. Sihizoutilice "Asignar /64", tenga en cuenta que el prefijo eslevementediferente del prefijo "puntos finales del túnel"; a menudo se confunden.)


Una vez que tenga su propio rango, digamos 2001:470:ZZ::/48, elija un /64 (que va de 0 a ffff, como 2001:470:ZZ:1::/64) y utilícelo para su br0interfaz así como para la configuración de dnsmasq.

enable-ra
dhcp-range = 2001:470:ZZ:1::, ra-stateless
dhcp-option = option6:dns-server, [2001:470:20::2], [2001:4860:4860::8888]

Como se mencionó anteriormente, muchos clientes (especialmente Android)no apoyeasignación de direcciones a través de DHCPv6. Requieren SLAAC, por lo que necesita al menos uno deslaacora-statelessen la configuración 'dhcp-range'. (El modo 'ra-stateless' además les dice a los clientes SLAAC que aún pueden obtener la configuración DNS de DHCPv6, lo cual es útil para Windows. Independientemente de la selección, dnsmasq también proporcionará automáticamente servidores DNS a través de SLAAC-RDNSS para Android).

Sin embargo, parabr0(o cualquiera que sea la interfaz LAN) debe asignar una dirección IP estáticamente; no estoy seguro de si el kernel recibe sus propias multidifusiones ni si les presta atención. En cualquier caso, sospechodnsmasq en sípodría negarse a ejecutarse en una interfaz que carece de una dirección coincidente (como ya ocurre con IPv4)...

iface br0 inet6 static
    address 2001:470:ZZ:1::1/64

iface br1 inet6 static
    address 2001:470:ZZ:2::1/64

Una vez que tenga dnsmasq ejecutándose, utilícelo rdisc6 eth0desde otro sistema Linux para solicitar y mostrar el contenido de un anuncio de enrutador. Asegúrese de que tenga una "vida útil del enrutador" distinta de cero; al menos un "Prefijo" (que debe ser /64, en enlace, autónomo y de tiempo válido distinto de cero); y que proviene de una fe80::*dirección de enlace local y no de una dirección global.

información relacionada