home Sonstiges Linux OpenBSD Links

Fritzbox IPv6 Portforwarding

Diese Seite gibt einen kurzen Überblick darüber wie das IPv6 Portforwarding auf einer Fritzbox einzurichten ist. Im eigentlichen Sinne es kein Portforwarding sondern die Firewall der Fritzbox lässt einfach Pakete zur Ziel IPv6/Port Adresse durch.

Bevor man jedoch etwas auf der Fritzbox konfiguriert, muss man sich erst einmal um das Zielsystem kümmern. Die meisten Betriebssysteme haben per default IPv6 Privacy aktiviert. Dadurch ändert sich die IPv6 Interface-ID ab und zu was für unseren Fall nur Probleme bereitet.

Am besten soll das Betriebssystem immer den gleichen IPv6 Interface Identifier benutzen. Dazu muss es eine seiner globalen IPv6 Adressen mit Hilfe des EUI-64 Verfahren bilden. Der Interface Identifier muss dazu aus der MAC Adresse errechnet werden. Da sich die MAC Adresse im Regelfall nicht ändert bleibt auch der Interface Identifier konstant.

Beispiel: MAC Adresse 44:39:c4:9a:94:a2 wird zu Identifier 4639:c4ff:fe9a:94a2

Zur genauen Funktionsweise des Umrechnens siehe bitte hier.

Wenn man unter Linux das Programm dhcpcd nutzt um vom DHCP Server eine IPv4 Adresse zu beziehen, kann man dieses auch anweisen eine IPv6 Adresse zu bilden. Dazu muss in der Datei /etc/dhcpcd.conf eine eventuell bestehende Anweisung slaac private auskommentiert werden und dafür slaac hwaddr hinzugefügt werden. Nach einen Reboot sollten nur noch IPv6 Adressen anhand der MAC Adresse gebildet werden.

Via ip addr show wlan0 kontrollieren ob es geklappt hat:

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 44:39:c4:9a:94:a2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.123/24 brd 192.168.0.255 scope global noprefixroute wlan0
       valid_lft forever preferred_lft forever
    inet6 2003:e4:c73e:8600:4639:c4ff:fe9a:94a2/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 595596sec preferred_lft 595596sec
    inet6 fe80::4639:c4ff:fe9a:94a2/64 scope link
       valid_lft forever preferred_lft forever

Den Interface Identifier konfiguriert man anschließend in der Fritzbox (Internet / Freigaben / Portfreigaben) mit den weiteren Portfreigaben:



Erreichbarkeit der IPv6 Adresse via eines Dynamic DNS Dienstes

Da sich die meisten Menschen nicht IPv6 Adressen merken können kann man auch mit Hilfe eines Dynamic DNS Dienstes einen halbwegs merkbaren Namen vergeben. Ich habe gute Erfahrungen mit www.spdns.de gemacht.
Man muss dabei beachten das man sowohl für den IPv4 als auch den IPv6 Eintrag je einen Token anlegt.

Anbei ein kleines Script welches sowohl IPv4 als auch IPv6 aktualisiert:

#!/bin/sh
IPV4=`wget -4 -q checkip.spdns.de -O /tmp/indexipv4.html && cat /tmp/indexipv4.html|cut -d ' ' -f 6 | cut -d '<' -f 1`
IPV6=`ip addr show wlan0 | grep '4639:c4ff:fe9a:94a2/64 scope global dynamic mngtmpaddr' | tr -s ' ' | cut -d ' ' -f3 | cut -d '/' -f1`
#echo $IPV4
#echo $IPV6
wget -4 -q -O /tmp/ipv4.html --http-user=example.spdns.eu --http-passwd=SPDNStoken https://update.spdyn.de/nic/update\?hostname=example.spdns.eu\&myip=$IPV4
wget -4 -q -O /tmp/ipv6.html --http-user=example.spdns.eu --http-passwd=SPDNStoken https://update.spdyn.de/nic/update\?hostname=example.spdns.eu\&myip=$IPV6

zurück zu Sonstiges
Letzte Aktualisierung dieser Seite: 29. April 2018