dedibox et ipv6

Quelques notes rapides, pour compléter ce qui se dit là.

La partie facile:

  • [facultatif] découper le /48 en autant de /56 que de machines physiques
  • [facultatif] découper les /56 en /64
  • récupérer le duid du préfixe IPv6 que l’on souhaite utiliser
  • installer dibbler (Debian: package dibbler-client)
    • créer le fichier de conf (/etc/dibbler/client.conf):
duid-type duid-ll
log-level 8
iface %PUBLICNIC% {
    pd
}
  • créer le fichier d’authentification:
echo "mon duid" > /var/lib/dibbler/client-duid
  • choisir une IPv6 libre dans son préfixe

La partie moins facile:

Sur la machine où l’on a installé dibbler, il faut configurer correctement ip6tables, c’est à dire:

  • autoriser le dhcpv6 (client)
  • autoriser le multicast (input et output)
  • autoriser l’icmp v6
  • autoriser un peu de trafic en sortie (dns, ntp, http, …)

Par exemple comme ça (à utiliser avec ip6tables-restore après avoir remplacé %PUBLICNIC% par le nom de l’interface réseau qui va bien):

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -s ff00::/8 -j ACCEPT
-A INPUT -d fe80::/64 -p udp -m state --state NEW -m udp --dport 546 -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i %PUBLICNIC% -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d ff00::/8 -j ACCEPT
-A OUTPUT -p ipv6-icmp -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o %PUBLICNIC% -p tcp -m tcp --dport 21 -j ACCEPT
-A OUTPUT -o %PUBLICNIC% -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -o %PUBLICNIC% -p tcp -m tcp --dport 443 -j ACCEPT
-A OUTPUT -o %PUBLICNIC% -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o %PUBLICNIC% -p udp -m udp --dport 123 -j ACCEPT
-A OUTPUT -o %PUBLICNIC% -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT

La fin

Une fois la partie pas facile faite, on peut faire la partie facile.
Ensuite, on peut faire un bête pour que la machine ait une IPv6:

ip -6 addr add %MONIPv6%/64 dev %PUBLICNIC%

Attention! Au lieu /64, on peut utiliser /56 ou /48 ou …