Ich habe inzwischen noch ein bisschen mehr mit IPv6 herumgespielt, außerdem hat sich inzwischen ein bisschen was getan. Ein paar Erkenntnisse wollte ich hier kundgeben:
1. Die IPv6 Privacy Extensions sollte man natürlich wie oben beschrieben einschalten, das bewirkt zunächst einmal, dass die Interface-ID bei ausgehenden Verbindungen wechselt und nichts preisgibt. Das gilt unabhängig vom Betriebssystem, Anleitungen finden sich im Web.
2. Was die eingehenden Verbindungen angeht, kann die Fritzbox nun auch IPv6-Portfreigaben (korrekt funktioniert es erst in den ganz neuen Firmware-Versionen), die jeweils auf die Interface-ID abzielen. Dabei wird jedoch die durch ein Router Advertisement angestoßene Auswahl einer statischen Interface-ID benutzt. Im Fall von Windows ist das interessanterweise nicht die per EUI-64 aus der MAC abgeleitete Adresse, sondern eine zufällige Interface-ID, die statisch vergeben wird. Den Hersteller der Netzwerkkarte o.ä. gibt diese Adresse nicht preis, was zunächst gut ist. Bei Linux ist es aber wie schon beschrieben so, dass immer die MAC des Interfaces verwendet wird, um daraus eine Interface-ID zu bilden. Hieraus ließe sich dann normalerweise der Hersteller ableiten, wenn man eine von außen erreichbare Adresse benötigt. Der Trick ist tatsächlich, einfach die MAC zu setzen. Dazu kann man nahezu beliebige Werte nehmen, man sollte allerdings Bit 0 des ersten Bytes auf 0 und Bit 1 auf 1 setzen, weil es sich hierbei um eine lokal administrierte Host-MAC handelt (ungerade Werte akzeptiert "ifconfig hw ether" sowieso nicht). Die per EUI-64 gebildete Adresse ist dann die dazugrhörige Interface-ID. Sie ist leider nicht so gut zu merken, weil ein paar Bits umgesteuert werden, außerdem wird ff:fe eingesteuert.
3. Unter OpenSUSE kann man die MAC setzen, indem man in /etc/sysconfig/network/ifcfg-XXX den undokumentierten Wert LLADDR setzt. Das sollte man übrigens sowieso tun, z.B. wenn man KVM oder ähnliche Virtualisierungslösungen einsetzt. Dabei wird nämlich nicht eth0, sondern br0 als Bridge-Interface eingesetzt. Dessen MAC-Adresse wechselt normalerweise mit der Aktivierung jeden Slave-Interfaces (also mit jeder VM) ggf. immer auf die niedrigste MAC. Bei solchen Wechseln kann die Netzwerkkonnektivität kurzzeitig verlorengehen, es sei denn, man setzt die MAC selbst, denn dann bleibt diese statisch.
4. Die sich ergebende Interface-ID wird in die IPv6-Portfreigaben in der Fritzbox eingetragen und ist dann erreichbar. Problematisch ist lediglich, dass sich der Netzwerk-Teil der IPv6 dynamisch ändert (z.B. derzeit noch bei der Telekom), man benötigt also noch einen dynamischen DNS. Dyndns.com bietet dies inzwischen an, obwohl es in der API nicht dokumentiert ist. Man kann dort z.B. mit einer solchen URL:
http://username: [email protected]/nic/update?hostname=xyz.net&myip=2002:5555:6666:0:1234:5678:9abc:ffff
auch ein Update der IPv6 senden. Am Format von "myip=" wird der Adresstyp erkannt. Leider ist "members.dyndns.org" selbst noch nicht per IPv6 erreichbar. Die Fritzbox mach Updates allerdings für IPv6 noch nicht selbst, das muss der Linux-Server selbst tun. Die richtige IPv6-Adresse muss man sich per Skript heraussuchen, z.B. in dieser Art:
ip -6 addr list dev br0 | fgrep 'scope global dynamic' | fgrep 'inet6 2002:' | awk '{ print $2 }' ;
5. Der Netzwerk-Teil der IPv6-Adresse ist bei Betrieb der Fritzbox bei der Telekom derzeit normalerweise noch aus der IPv4 abgeleitet (zumindest beim 6to4-Tunnel, deswegen der Präfix "2002:"), man wird abwarten müssen, wie die Telekom Ende des Jahres dann echtes IPv6 implementiert. Angeblich soll dann mit Wegfall der Zwangstrennung zumindest bei IPv4 nach sofortiger Wiedereinwahl die IP erhalten bleiben, ob man pseudo- oder vollkommen statische IPv6 und/oder zusätzliche dynamische IPv6s bekommt, bleibt abzuwarten. Bei vollkommen statischen IPs könnte man sich den dynamischen DNS sparen, allerdings hat die Telekom kein Interesse an "Serverdiensten" durch Endkunden. Falls keine wechselnden Netzwerk-IDs angeboten würden, bliebe die Privacy auf der Strecke. Schwer vorherzusagen, was da wirklich kommen wird.
6. Übrigens: Die Zuweisung von Unique Local Address sollte man in der Fritzbox ausschalten. Hierdurch erhält Windows 7 sonst fünf verschiedene Adressen, nämlich zwei mit globalem Scope (Präfix 2002:, zwei weitere ULA mit globalem Scope (Präfix fd00: und eine Link-Layer-Adresse (Präfix fe80:. Leider kommt es vor, dass Windows 7 die ULA-Adresse mit dem fd00:räfix präferiert, z.B. wenn die temporären Adressen (Provacy Extensions) neu vergeben werden. Auf Pakete mit dieser ULA-Absenderadresse antwortet die Fritzbox als Router auch mit Ihrer ULA-Adresse, was nicht funktioniert, z.B. wenn man "ping -6 www.heise.de" probiert, denn bei IPv6 findet ja kein NAT statt. Linux hat damit keine Probleme.
1. Die IPv6 Privacy Extensions sollte man natürlich wie oben beschrieben einschalten, das bewirkt zunächst einmal, dass die Interface-ID bei ausgehenden Verbindungen wechselt und nichts preisgibt. Das gilt unabhängig vom Betriebssystem, Anleitungen finden sich im Web.
2. Was die eingehenden Verbindungen angeht, kann die Fritzbox nun auch IPv6-Portfreigaben (korrekt funktioniert es erst in den ganz neuen Firmware-Versionen), die jeweils auf die Interface-ID abzielen. Dabei wird jedoch die durch ein Router Advertisement angestoßene Auswahl einer statischen Interface-ID benutzt. Im Fall von Windows ist das interessanterweise nicht die per EUI-64 aus der MAC abgeleitete Adresse, sondern eine zufällige Interface-ID, die statisch vergeben wird. Den Hersteller der Netzwerkkarte o.ä. gibt diese Adresse nicht preis, was zunächst gut ist. Bei Linux ist es aber wie schon beschrieben so, dass immer die MAC des Interfaces verwendet wird, um daraus eine Interface-ID zu bilden. Hieraus ließe sich dann normalerweise der Hersteller ableiten, wenn man eine von außen erreichbare Adresse benötigt. Der Trick ist tatsächlich, einfach die MAC zu setzen. Dazu kann man nahezu beliebige Werte nehmen, man sollte allerdings Bit 0 des ersten Bytes auf 0 und Bit 1 auf 1 setzen, weil es sich hierbei um eine lokal administrierte Host-MAC handelt (ungerade Werte akzeptiert "ifconfig hw ether" sowieso nicht). Die per EUI-64 gebildete Adresse ist dann die dazugrhörige Interface-ID. Sie ist leider nicht so gut zu merken, weil ein paar Bits umgesteuert werden, außerdem wird ff:fe eingesteuert.
3. Unter OpenSUSE kann man die MAC setzen, indem man in /etc/sysconfig/network/ifcfg-XXX den undokumentierten Wert LLADDR setzt. Das sollte man übrigens sowieso tun, z.B. wenn man KVM oder ähnliche Virtualisierungslösungen einsetzt. Dabei wird nämlich nicht eth0, sondern br0 als Bridge-Interface eingesetzt. Dessen MAC-Adresse wechselt normalerweise mit der Aktivierung jeden Slave-Interfaces (also mit jeder VM) ggf. immer auf die niedrigste MAC. Bei solchen Wechseln kann die Netzwerkkonnektivität kurzzeitig verlorengehen, es sei denn, man setzt die MAC selbst, denn dann bleibt diese statisch.
4. Die sich ergebende Interface-ID wird in die IPv6-Portfreigaben in der Fritzbox eingetragen und ist dann erreichbar. Problematisch ist lediglich, dass sich der Netzwerk-Teil der IPv6 dynamisch ändert (z.B. derzeit noch bei der Telekom), man benötigt also noch einen dynamischen DNS. Dyndns.com bietet dies inzwischen an, obwohl es in der API nicht dokumentiert ist. Man kann dort z.B. mit einer solchen URL:
http://username: [email protected]/nic/update?hostname=xyz.net&myip=2002:5555:6666:0:1234:5678:9abc:ffff
auch ein Update der IPv6 senden. Am Format von "myip=" wird der Adresstyp erkannt. Leider ist "members.dyndns.org" selbst noch nicht per IPv6 erreichbar. Die Fritzbox mach Updates allerdings für IPv6 noch nicht selbst, das muss der Linux-Server selbst tun. Die richtige IPv6-Adresse muss man sich per Skript heraussuchen, z.B. in dieser Art:
ip -6 addr list dev br0 | fgrep 'scope global dynamic' | fgrep 'inet6 2002:' | awk '{ print $2 }' ;
5. Der Netzwerk-Teil der IPv6-Adresse ist bei Betrieb der Fritzbox bei der Telekom derzeit normalerweise noch aus der IPv4 abgeleitet (zumindest beim 6to4-Tunnel, deswegen der Präfix "2002:"), man wird abwarten müssen, wie die Telekom Ende des Jahres dann echtes IPv6 implementiert. Angeblich soll dann mit Wegfall der Zwangstrennung zumindest bei IPv4 nach sofortiger Wiedereinwahl die IP erhalten bleiben, ob man pseudo- oder vollkommen statische IPv6 und/oder zusätzliche dynamische IPv6s bekommt, bleibt abzuwarten. Bei vollkommen statischen IPs könnte man sich den dynamischen DNS sparen, allerdings hat die Telekom kein Interesse an "Serverdiensten" durch Endkunden. Falls keine wechselnden Netzwerk-IDs angeboten würden, bliebe die Privacy auf der Strecke. Schwer vorherzusagen, was da wirklich kommen wird.
6. Übrigens: Die Zuweisung von Unique Local Address sollte man in der Fritzbox ausschalten. Hierdurch erhält Windows 7 sonst fünf verschiedene Adressen, nämlich zwei mit globalem Scope (Präfix 2002:, zwei weitere ULA mit globalem Scope (Präfix fd00: und eine Link-Layer-Adresse (Präfix fe80:. Leider kommt es vor, dass Windows 7 die ULA-Adresse mit dem fd00:räfix präferiert, z.B. wenn die temporären Adressen (Provacy Extensions) neu vergeben werden. Auf Pakete mit dieser ULA-Absenderadresse antwortet die Fritzbox als Router auch mit Ihrer ULA-Adresse, was nicht funktioniert, z.B. wenn man "ping -6 www.heise.de" probiert, denn bei IPv6 findet ja kein NAT statt. Linux hat damit keine Probleme.
Zuletzt bearbeitet: