Fritz Box 7590: IPv6 Port Freigabe

Registriert
März 2026
Beiträge
5
Ich will auf der Fritz Box 7590 eine IPv6 Port Freigabe einrichten, die dann von außen erreichbar sein soll.

Ich erstelle die Portfreigabe und speichere sie. Wenn man jetzt die Portfreigabe zu dem Gerät öffnet (unter Internet > Freigaben > Portfreigabe > "eine Freigabe auswähen und bearbeiten"), sieht man unter der Freigaben-Tabellen unter der Spalte "IP-Adresse im Internet" die öffentliche IPv6 Adresse:
2026.03.12.19.44.18.png


Wenn ich jetzt diese IP hier z.B. mit einem Online Port Checker (https://portchecker.co/) teste, ist der Port geschlossen.

Temporärer Fix:
Auf dem Gerät (Ubuntu Server), für die die Portfreigabe gedacht ist, muss man diese angezeigte IP Adresse hinzufügen:
sudo ip -6 addr add 2a48:fb1a:9a1:8140::2 dev enp1s0

Jetzt noch mal mit einem Online Port Checker testen und der Port ist offen. Da ist gut. ;)

Das Problem jetzt:
Wie sorgt man dafür, das die Fritzbox diese "IP-Adresse im Internet" an das Gerät automatisch weiter gibt bzw. das Gerät es selbst holt, wie es ja automatisch schon der Fall ist für die ganzen anderen/lokalen IP Adressen (siehe Ergebnisse von Linux Befehl: "ip address" -> inet scope global, inet6 scope global dynamic mngtmpaddr noprefixroute, inet6 scope link, ...)?
 
  • Gefällt mir
Reaktionen: Tanzmusikus
Vorab: ich hab ne 7530, und die aktuellste Firmware 8.21.
Bei mir sieht das Interface so aus:
1773351886071.png


D.h. die Portfreigaben sind Gerätebezogen, anhand der MAC.
Hier kann ich jetzt eine statische IPv6 InterfaceIdentifier hinterlegen, den du vermutlich auch so auf deinem Ubuntu-Client hast (der wird ja immer ne IPv6 haben?)
1773351951613.png


Ich würd daher nicht die FritzBox irgendne Adresse auswürfeln lassen, sondern das statisch da hinterlegen und am Client eben auch so machen.

Wenn sich halt das Präfix ändert, bleibt die Interface-ID bei mir gleich. Daher wird da keine ganze Adresse angegeben, sondern nur die ID.
 
Zuletzt bearbeitet:
Wie erzeugt Dein Ubuntu Server seine IPv6-Adressen?
a) Stateful DHCPv6 (müsste man in der FRITZ!Box extra einschalten​
b) SLAAC ohne Privacy-Extensions​
c) SLAAC mit Privacy-Extensions​
Alternative A willst Du nicht bei einem Internet-Anschluss mit dynamischen IPv6-Präfx. Oder hast Du ein statisches IPv6-Präfix? Alternative C ist zu meiden, also abzustellen … (Hyperlink im letzten Zitat).
 
Dem Client hatte ich eine IPv6 Interface-ID vergeben, @wirelessy:

1773544756741.png



Wie erzeugt Dein Ubuntu Server seine IPv6-Adressen? @norKoeri
-> keine Ahnung (hab nur minimale Netzwerk Kenntnisse)
Ich hätte gemeint, der Client holt sich das einfach von der Fritzbox. Das sieht auch so aus, weil fast alle IP Adressen, die in der FritzBox in dem Heimnetz-Eigenschaften (unter "IPv6-Interface-ID") sichtbar sind, IPv6-LLA-Temporary, IPv6-ULA-Temporary, IPv6-GUA-Temporary, sind auch auf dem Client mit "ip address" sichtbar. Aber die IPv6-GUA, 2a48:fb1a:9a1:8140::2, von der Portfreigabe/Heimnetz-Eigenschaften ist NICHT direkt auf dem Client zu sehen.

Von den SLAAC-Privacy-Extensions-Teilen -> auch keine Ahnung
Ist es das hier?
1773545776170.png

Damit habe ich mal mit einem anderen PC rumprobiert. Paar Kombinationen probiert, trotzdem hatte der Client nicht die IPv6-GUA, die auch wieder auf der Fritzbox-Heimnetz-Eigenschaften sichtbar war, aber beim Client war die nicht zu finden mit "ip address".
 
Beim Client sieht es so aus:
ip address show enp1s0
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether c8:ff:bf:0d:65:c2 brd ff:ff:ff:ff:ff:ff
altname enp195s0
inet 192.168.178.2/24 metric 100 brd 192.168.178.255 scope global dynamic enp1s0
valid_lft 53684sec preferred_lft 53684sec
inet6 fd00::ba1f:a084:11ad:b318/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 7154sec preferred_lft 3554sec
inet6 2a48:fb1a:9a1:8140:ba1f:a084:11ad:b318/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 7154sec preferred_lft 3554sec
inet6 fe80::ba1f:a084:11ad:b318/64 scope link
valid_lft forever preferred_lft forever

Nach einem Reboot ändert sich der hintere 64bit Teil, ba1f:a084:11ad:b318.

Irgendwie nur IPv6 Interface-ID, ::2, beim Client setzen geht nicht?
 
Variante A) von @norKoeri aus Post #3 würde es statisch halten. Auch ne Deaktivierung von Privacy Extensions dürfte in einer immer gleichen Interface-ID resultieren.

Ansonsten hab ich mal Gemini befragt, wie man das unter Linux so machen könnte. Hier Vollzitat:

1. Using ip-token (Temporary/Runtime)​

The ip token command allows you to set a specific IID for an interface. Once set, the kernel will combine this token with any prefix it receives via an RA to form the full global address.

To set the token ::dead:beef on interface eth0:

Bash

Code:
 sudo ip token set ::dead:beef dev eth0
How it works:

  • If your router sends prefix 2001:db8:1::/64, your address becomes 2001:db8:1::dead:beef.
  • If the prefix changes to 2001:db8:2::/64, your address automatically updates to 2001:db8:2::dead:beef.
[!NOTE]This command is not persistent. It will disappear after a reboot unless added to a startup script or configured via a network manager.

2. Using NetworkManager (Persistent)​

If you are on a desktop or a modern server (Ubuntu, Fedora, etc.) using NetworkManager, you can set the ipv6.token property.

  1. Find your connection name: nmcli connection show
  2. Set the token: nmcli connection modify "Wired connection 1" ipv6.method "auto" ipv6.token "::123"
  3. Apply the changes: nmcli connection up "Wired connection 1"

3. Using systemd-networkd (Persistent)​

For systems using systemd-networkd, you can define the IPv6Token in your .network file.

Edit your configuration file (e.g., /etc/systemd/network/10-eth0.network):

Code:
[Network]
IPv6Token=::dead:beef
Then restart the service:
Code:
sudo systemctl restart systemd-networkd
 
paj.t.iliv.iug schrieb:
Irgendwie nur IPv6 Interface-ID, ::2, beim Client setzen geht nicht?
Doch, so ist das bei mir konfiguriert:
sudo nmcli con mod "Wired connection 1" ipv6.ip6-privacy 0
sudo nmcli con mod "Wired connection 1" ipv6.addr-gen-mode eui64
sudo nmcli con mod "Wired connection 1" ipv6.token "${IPV6_TOKEN}"
IPV6_TOKEN ist die Interface ID, z.B.
Code:
IPV6_TOKEN='::3b87:d2a1:6f44:9c0e'
 
Noch was:
Wollte noch bei einem anderen Client den Token auch setzen mit dem NetworkManager in der GUI+Terminal, geht aber nicht ganz:

1. Per GUI im NetworkManager eine neue Ethernet Connection erstellen, nichts ändern, nur Namen setzen:
1773694244564.png


2. Folgende Befehle in Terminal ausführen:
nmcli con mod "LAN Auto" ipv6.ip6-privacy 0
nmcli con mod "LAN Auto" ipv6.addr-gen-mode eui64
nmcli con mod "LAN Auto" ipv6.token "::10"
Fehler: Ändern der Verbindung »LAN Auto« ist fehlgeschlagen: failed to update connection: netplan: YAML translation failed: Error in network definition: NM-ffc108a5-3b84-4e83-a4ae-96c33433d797: ipv6-address-generation and ipv6-address-token are mutually exclusive

Der letzte Befehl bringt einen Fehler.
 
Zurück
Oben