IPv6: Adressvergabe?

Hallo zusammen,

aktuell nutze ich im LAN ausschließlich IPv4. Was zur folge hat, das ich mich in Richtung Internet auch nur mit IPv4 bewege. Das würde ich jetzt mal langsam ändern wollen.

Folgendes Setting hab ich:

  • Clients haben feste IPv4-Adressen (teilweise per DHCP zugewiesen [jetzt durch den pi]; teilweise manuell auf den Clients eingetragen [Pi und mein Server])
  • Meine Fritzbox 7390 schickt an meine DDNS-Adresse sowohl die aktuelle IPv4 und auch die aktuelle vom Provider (Telekom; also natives IPv4/6) zugewiesene IPv6. Ich kann mein Heim also von Extern per IPv6 erreichen - ich komme nur nicht rein :wink: [mein Apache [nicht auf dem Pi] will von IPv6 z.b. noch nichts wissen; und meine Fritz weiß nicht wo sie was hinleiten muss)

Ich möchte jetzt neben IPv4 noch IPv6-Adressen im LAN/WAN nutzen. Ich habe nur keinerlei Ahnung wie die Adressvergabe funktioniert. Bei IPv4 hab ich ein Privates 24er Netz. Im IPv6 blicke ich da bei den ganzen begriffen nicht durch. Wie baue ich das Intern auf [wäre praktisch wenn die Adressen am Ende zumindest mit dem letzten IPv4-Oktett identisch wären ...]?

Hab mir schon einige Webseiten durchgelesen - aber trotz "Einfach" im Titel :wink: blicke ich da irgendwo nicht durch. Was für eine IPv6 gebe ich z.b. meinem Server, welche meinem PI, welcher meiner Fritzbox. Und wie erreiche ich den Webserver via IPv6 von aussen (Webserver-Konfig mit vhost muß ich natürlich noch auf IPv6 umstellen - das ist eine andere Baustelle!)

Danke schon mal

Das ist kein guter Plan. Während die Adressen im IPv4 Raum eher rar sind und daher z.B. aufsteigend vergeben werden gibt es im IPv6 Raum (fast) unendliche viele Adressen.
Das erste und wichtigste ist: Während bei IPv4 die ganzen Heimnetze immer hinter NATs versteckt werden (d.h. es gibt z.B. Milliarden Geräte mit der Adresse 192.168.0.12), bekommt jedes Gerät im IPv6-Raum eine weltweit einzigartige Adresse. Somit ist alles eindeutig und NATs werden nicht mehr benötigt - Geräte können direkte Ende-zu-Ende-Verbindungen aufbauen. So war das Internet eigentlich mal konzipiert und Du wirst möglicherweise feststellen, dass sich das IPv6-Internet schneller "anfühlt" (es ist tatsächlich schneller, insbesondere weil Pakete eben nicht mehr vom Router inspiziert werden müssen um zu entscheiden wer es bekommen soll).

Angenommen Du bekommst einen /64-Adressraum von der Telekom zugewiesen ("Präfix" genannt), dann kannst Du den Rest komplett selbst festlegen. Wichtig ist eben nur die Eindeutigkeit. Typischerweise nehmen die Geräte daher den Präfix und hängen hinten einfach ihre MAC-Adresse dran weil die ja eigentlich auch einzigartig sein sollte. Um sicherzugehen, dass die Adresse wirklich einzigartig ist, fragt das Gerät dann noch einmal kurz herum ob es ein Gerät mit der gleichen Adresse schon gibt und wenn sich keiner meldet, dann nimmt es diese Adresse an.
Hier siehst Du aber auch schon den wohl wesentlichsten Unterschied wenn es um IPv4 vs. IPv6-Netzwerke geht: Während Du bei IPv4 entweder statische Adressen oder einen DHCP-Server brauchst, ist beides bei IPv6 nicht nötig.

IPv4 Adressaushandlung

Ein Gerät kommt neu hinzu und fragt allgemein ins Netzwerk nach einer Adresse. Der DHCP-Server nimmt die Anfrage an, erstellt eine Adresse und sendet dem anfragenden Rechner alles zu. Dieser verwendet die Daten sofort ohne sie weiter zu überprüfen.

IPv6 Adressaushandlung

Ein Gerät kommt neu hinzu und lauscht ins Netzwerk. Der Router versendet alle paar Sekunden ein Paket, das den Präfix sowie das Gateway und evtl. DNS-Server enthält. Der neue Rechner nimmt diese Daten und erzeugt sich seine eigenen Adresse. Um sicherzustellen, dass diese Adresse einzigartig ist, schickt er eine Anfrage an diese Adresse und wenn dort keiner antwortet, dann nimmt er sie für sich selbst.

Du siehst im IPv6-Raum brauchst Du kein zentrales Adressmanagement und die Adressen sollten immer identisch sein. Das ist der größte Unterschied den ich Dir hoffentlich genug veranschaulichen konnte.

Passiert wie oben beschrieben automatisch, keine Arbeit erforderlich.

Mittels der IPv6 Adresse des Servers selbst. In der Fritzbox musst Du für diese Adresse Port 80 in der Firewall freigeben. Portweiterleitungen gibt es natürlich nicht mehr, weil man eh jedes Gerät direkt über seine einzigartige IPv6-Adresse erreichen kann und somit nur noch der Firewall sagen muss, dass der Traffic auch durchgehen soll.

1 Like

@DL6ER
Ich danke dir für diese anschauliche Erklärung von IPv6. Das hat mir im Kopf so manche Tür geöffnet.

IPv6 ist "einfacher" ok ... aber doch auch eher wieder bei einfachen fällen?

Vielleicht mal mit einem konkreten Beispiel?

Ich hab im LAN einen Webserver der von draußen erreichbar sein soll (nicht der pi). Ich nutze hier DDNS was mir mein Webhoster zur Verfügung stellt. Mit Trick17 kann ich meiner Fritzbox beibringen IPv4 und IPv6 an meinem Hoster zu übermitteln. Mein host z.b. zuhause.meinedomain.tld hat jetzt also eine globale IPv4 und eine IPv6 - zugewiesen von meinem Provider (Telekom)

Der Webserver ist Lokal mit einer fixen IPv4 erreichbar. Somit sieht es in der Fritzbox so aus das ich Port 443/IPv4 auf den Server NATte. Da ich keine reinen IP-Zugriffe erlaube (https://[wan-ip]/), muß ich IPv6 zumindest nicht im Webserver beachten. Muß den Apache nur sagen das er jetzt IPv6 sprechen darf.

Telekom gibt mir einen 56er Präfix (?!) 2003 ......./56

Wie hilft mir das jetzt Lokal weiter? "dann kannst Du den Rest komplett selbst festlegen."?
Ich muß ja letztendlich die IPv6 auch in den DNS einpflegen. Der Präfix ändert sich ja bei der Telekom (gibt dort keine fixen IPv6). Was trage ich dann da ein?

Irgendwie lande ich dann doch wieder bei feste Vergabe?

Wenn ich jetzt Seite 3: Kabel rein und los? | heise online lese ...

"Das IPv6-Präfix 2001:db8::/32 ist eigentlich für Dokumentationszwecke gedacht (RFC 3849). Da es laut dem Asia Pacific Network Information Center (APNIC) niemals im Internet geroutet werden soll, eignet es sich für erste Gehversuche in einem LAN, das nicht per IPv6 ans Internet angeschlossen ist. Wir nutzen deshalb im Artikel dieses Präfix, zumal es vergleichsweise kurz ist. Bei manueller Vergabe von IPv6-Adressen kann das ein Vorteil sein"

"Das Präfix fd markiert selbsterzeugte Adressbereiche, die um eine zufällig erzeugte 40 Bit lange Site-Kennung und eine willkürlich gewählte Subnetz-ID erweitert wird. Bei der Berechnung dieser Zahlen hilft ein kleines Shell-Skript, das beispielsweise das Präfix "fddc:1e7f:30ce::/48" ausgibt. Aller Wahrscheinlichkeit nach sind diese Adressen weltweit eindeutig. Router sollen diese Adressen trotzdem nur innerhalb von abgegrenzten Standorten (Sites) wie beispielsweise Firmennetzen und zwischen ihnen weiterleiten, jedoch nicht im globalen Internet"

also gibt es doch 2 "Bereiche" die ich nutzen könnte? Heise nimmt für den Router 2001:0db8::1 Netmask 64
In meiner Fritzbox könnte ich jetzt sagen ULA-Präfix: fd00:......../64
Wobei ich ja für die Verwaltung eher meinen pi nehmen wollen würde ...

Wikipedia
"Eine Beispiel-ULA wäre fd9e:21a7:a92c:2323::1. Hierbei ist fd das Präfix für lokal generierte ULAs, 9e:21a7:a92c ein einmalig zufällig erzeugter 40-Bit-Wert und 2323 eine willkürlich gewählte Subnet-ID. "

Dieser 40Bit-Wert ist zufällig erzeugt - das von Heise angegebene Script generiert diesen u.a. aus der aktuellen NTP-Zeit. Die SubNet-ID könnte ich selber wählen ... und die 1 am ende wäre eine ID für den client? könnte das parallel zu meine ipv6-konfig machen :100 = pi-hole usw.

Wie ja schon gesagt: am liebsten wären mir feste Adressen (nicht automatisch; auch wenn die in der Regel immer gleich sein sollten - mac usw.) - die kann ich dann im DNS entsprechend matchen. Ich weiß nur nicht was ich da alles beachten muss?

Ich einem einfachen Client-Netzwerk würde ich einfach alles auf Automatisch beziehen stellen und fertig. Was interessiert mich DNS, was interessiert mich ein Home-Webserver usw. ... aber hier?

Die IPv4 sollte die eine von der Telekom Dir zugewiesene IP sein (also die des NAT, der die Ports dann weiterleiten muss). Die IPv6 sollte jedoch nicht die Außenadresse des Routers sein sondern die IPv6 Adresse des Servers, den Du erreichen willst. Entsprechend musst Du in der IPv6-Firewall Deines Routers erlauben dass für diese IPv6 der Traffic auf Port X (z.B. 80) durchgelassen werden soll.

Ja, das wird jedes Gerät aber selbst tun.

Nein, der DNS-Server "hört mit" und muss die Hostnamen nicht explizit mitgeteilt bekommen (so zumindest der Plan).

Ja, auch das stimmt. Ist aber kein Weltuntergang, Du kannst zusätzlich zu GUA (das sind die weltweiten) auch ULA (das sind netzwerkinterne Adressen, vergleiche mit 192.168.x.y) verwenden. Den Präfix würfelt man einmal und er bleibt das restliche Leben konstant. Bei IPv6 können diese Adressen alle nebeneinander am gleichen Interface anstehen.

Wie gesagt, das sollte alles automatisch gehen. Wenn nicht sind die ULAs das Mittel der Wahl da die GUAs bei der Telekom als Provider periodisch wechseln. Wenn Du also unbedingt statische DNS-Einträge anlegen willst dann per GUA. Ich sehe keinen Grund die fix auf eine Endziffer 1 o.Ä. zu ziehen da sie, wie Du schon sagtest, über die MAC-Adresse bereits eindeutig festgelegt werden.