IPv6-routing op de Raspberry Pi
In de toekomst kom je niet om IPv6 heen, aangezien de IPv4-adressen opgebruikt zijn. Ook al zijn er op dit moment nauwelijks websites die je niet nog via IPv4-adressen kunt bereiken, gebruiken grote providers vaak IPv6 om via DNS Round Robin meer redundantie te bieden. Dan heb je als gebruiker met IPv6 gewoon een ruimere keuze aan servers die je kunnen bedienen, en die misschien ook niet zo zwaar belast zijn als die met IPv4-adressen.
Om ervoor te zorgen dat de Raspberry Pi ook de IPv6-verbindingen van de iPad Pro correct doorstuurt, kun je de IPv4-NAT uitbreiden naar IPv6. Daarvoor voeg je eerst onderaan het bestand /etc/network/interfaces.d/ usb0 een statisch ULA-adres voor IPv6 toe voor de usb-netwerkinterface van de Pi: iface usb0 inet6 static address fd01::1 netmask 64
De volgende stap is het aanmaken van het configuratiebestand /etc/radvd.conf met de volgende inhoud voor de Router-Advertisement-daemon, en dat nog voordat je het pakket radvd installeert – anders start de daemon na het opstarten niet: interface usb0
{
AdvSendAdvert on; prefix fd01::/64 {
AdvOnLink on; AdvAutonomous on; };
RDNSS fd01::1 {};
Om ervoor te zorgen dat dnsmasqd aan de iPad een geschikt IPv6-adres toewijst, voeg je de volgende regels toe aan het bestand /etc/dnsmasq.d/ usb0: enable-ra dhcp-range=::100,::1ff, constructor:usb0, ra-names,slaac,12h
Daarnaast moet je nog packet-forwarding en NAT instellen voor IPv6. Daarvoor voeg je in het bestand /etc/sysctl. conf de regel
net.ipv6.conf.all.forwarding=1 toe en voer je het commando sysctl -p /etc/sysctl.conf uit om de wijzigingen meteen toe te passen. De extra
iptables- regels voor IPv6 zijn:
ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ip6tables -A FORWARD -i usb0 -j ACCEPT ip6tables -A FORWARD -i eth0 -j ACCEPT
Het commando dpkg-reconfigure iptables-persistent opent het venster waarmee je de regels permanent kunt opslaan, zodat de Raspberry Pi ook na de volgende reboot IPv6 weer routeert.