Im Artikel hat das Linux-Magazin beschrieben, auf welche Probleme Linux-Admins stoßen, die ein Konferenz-WLAN für viele Besucher aufbauen wollen, und warum das nicht mit OSS-Tools geht. In diesem Plus-Artikel zeigt der Autor, wie die Macher der FOSDEM das WLAN für Ipv6 konfigurierten.
Gleich vorab: Diese Anleitung basiert auf folgenden Grundannahmen:
- Idealerweise laufen alle Services auf einer Maschine
- Bind9, Tayga, Radvd und Wide-dhcpv6-server sind installiert
- Die Init-Befehle sind auf Debian ausgerichtet
- Das lokale Netz liegt auf “eth0” an
- 2001:db8::/96 ist das Netz in das das globale IPv4 Internet gemapped wird
- 2001:db8:1::/64 ist das lokale IPv6 Netz
- 2001:db8:1::1/64 ist der lokale IPv6 Router
Die Konfiguration von DNS64 auf Bind9 ist innerhalb von Sekunden erledigt:
/etc/bind/named.conf.options:
dns64 2001:db8::/96 {
clients {
any;
};
}
Jetzt gilt es den Bind-Daemon neu zu starten:
/etc/init.d/named restart
Wer NAT64 implementieren will, hat unter Linux zwei Optionen: Tayga und Jool. Jool unterstützt Stateful NAT64 und bietet damit zwar in manchen Situation Vorteile, es setzt aber ein Out-of-tree-Kernelmodul voraus und ist damit von der Kernel-Version abhängig. Tayga unterstützt nur Stateless NAT64 und überlässt den Rest Iptables. Da Tayga nur ein Tun-Interface und Libc6 benötigt ist die Installation entsprechend einfach, insbesondere weil fast alle Distributionen fertige Pakete anbieten.
/etc/tayga.conf: tun-device nat64 ipv4-addr 192.168.255.1 prefix 2001:db8::/96 dynamic-pool 192.168.255.0/24 data-dir /var/db/tayga
Die für weitere Einrichtung wichtigen Kommandos zeigt das nächste Listing, das sich mit wenigen Änderungen in eine Startdatei oder ein Init-Skript überführen lässt:
tayga --mktun # Erstellt ein virtuelles Netzwerk-Interface namens nat64 ip link set nat64 up # Interface nat64 manuell hochfahren ip addr add 192.168.0.1 dev nat64 # Der Router hat die IPv4-Adresse 192.168.0.1 ip addr add 2001:db8::1 dev nat64 # Der Router hat die IPv6-Adresse 2001:db8::1 ip route add 192.168.255.0/24 dev nat64 # Pakete in dieses Netz werden umgeschrieben ip route add 2001:db8:ffff::/96 dev nat64 # Pakete in dieses Netz werden umgeschrieben tayga # tayga starten # Stateful NAT aktivieren: iptables -A POSTROUTING -s 192.168.255.0/24 -j SNAT --to-source $public_ip iptables -A FORWARD -s 192.168.255.0/24 -i nat64 -j ACCEPT
Damit die Clients im Netz auch IPv6-Adressen erhalten benötigen sie so genannte “Router Advertisements”, also Informationen über zu verwendende IPv6-Adressen und passende Routen.
Dafür bietet sich Radvd an, der um komplexere Konfiguration zu vermeiden auf dem lokalen Router und Default Gateway laufen sollte:
/etc/radvd.conf:
interface eth0 {
AdvSendAdvert on;
prefix 2001:db8:1::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
/etc/init.d/radvd restart
Eigentlich kommt ein sauber mit Router Advertisements konfiguriertes IPv6-Netzwerk komplett ohne DHCP aus. Leider braucht man in der Praxis aber immer noch DHCPv6, wenn auch nur noch um Informationen zu den DNS-Resolvern auszuliefern. Auch diese Konfiguration gestaltet sich recht einfach:
/etc/dhcp6c.conf:
option dns_servers 2001:db8:1::1
interface eth0
{
link eth0_link1
{
};
};
/etc/init.d/wide-dhcpv6-server restart
Ob alles geklappt hat, lässt sich abschließend ganz einfach testen:
ping6 www.google.com




