ich möchte gerne aus dem Internet auf mein Heimnetzwerk zugreifen.
Seit Kurzem habe ich Glasfaser, damit ist der Speed mehr als ausreichend, ausserdem ist IPv6 voll implementiert, hier
kriege ich 10 von 10 Punkten. Ich wollte also jetzt Zugriff aus dem Internet kurz testen, sitze am Laptop mit WLAN, aber die Verwirrung ist nun gross, IPv6 sorgt bei mir nach wie vor für Kopfzerbrechen. Ich scheine ziemlich viele IPv6 Adressen zu haben:
1
# ip a
2
....
3
3: wlp61s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 192.168.1.237/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp61s0
6
valid_lft 582sec preferred_lft 582sec
7
inet6 2a01:760:3210:xxxx:xxxx:xxxx:xxxx:2479/64 scope global temporary dynamic
8
valid_lft 86028sec preferred_lft 3228sec
9
inet6 2a01:760:3210:xxxx:xxxx:xxxx:xxxx:e6fb/64 scope global dynamic mngtmpaddr noprefixroute
10
valid_lft 86028sec preferred_lft 3228sec
11
inet6 fdd4:4f67:22b:xxxx:xxxx:xxxx:xxxx:9c0a/64 scope global temporary dynamic
12
valid_lft 6828sec preferred_lft 3228sec
13
inet6 fdd4:4f67:22b:xxxx:xxxx:xxxx:xxxx:e6fb/64 scope global dynamic mngtmpaddr noprefixroute
14
valid_lft 6828sec preferred_lft 3228sec
15
inet6 2a01:760:3210:xxxx:xxxx:xxxx:xxxx:fd2e/64 scope global temporary dynamic
16
valid_lft 84256sec preferred_lft 1456sec
17
inet6 fe80::6d3:b0ff:fec2:e6fb/64 scope link noprefixroute
18
valid_lft forever preferred_lft forever
Da diese global eindeutig sind, habe ich sie ein wenig zensiert.
Die letzte Zeile ist wohl die Link Local Address, aber die anderen?
Auf dem IPv6 Tester wird mir als "Your IPv6 Address on the Public Internet" die '2479 angezeigt. Gut. Wozu sind dann die e6fb, 9c0a, und der ganze andere Kram?
Und:
Mein Router sagt, dass er "Prefix Delegation" macht, und sein Prefix, sagt er, ist 2a01:760:3210:xxxx::/56 - verstehe ich das nun richtig, dass er vom ISP diesen Prefix zugewiesen bekommt, und mir dann für jeden Host in meinem Heimnetzwerk eine IPv6 vergibt, die mit diesem Prefix beginnt? und diese IPs gibt er den Host wie genau bekannt? über die Router Advertisements? wählen die Hosts ihre IPv6 nach Zufall aus und setzen den Prefix davor?
Eigentlich habe ich gemeint, mit der global eindeutigen IPv6 kann ich mehr oder weniger einfach den Zugriff auf einen Host im Heimnetz aktivieren. Es scheint aber doch nicht so trivial zu sein. Ich bin schon daran gescheitert, nur mal ICMP einzuuschalten, um meinen Laptop aus dem Internet zu pingen. In der Beilage der Screenprint von meinem Router. Ein Huawei OptiXStar EG8147X6, den ich vom ISP bekommen habe.
Der Router ist OK, offenbar gibt es auch die Möglichkeit, Ports zu forwarden, aber was zu Geier ich da eingeben muss, um schon nur ICMP zu ermöglichen, ist mir ein Rätsel.
Ich habe auch schon überlegt, ob ich einen besseren Router brauche, der sowas kann. Der ISP meint, ich darf meinen eigenen Router anschliessen, das sei egal. Der Router muss halt den passenden GPON Glasfaseranschluss haben, und ich habe nicht viele Geräte gefunden, die das haben, also wollte ich erste Experimente jetzt mit dem Huawei Ding machen, aber eben, kann der das überhaupt? Ich kann einen internen Host auswählen, aber wenn ich "User Defined" benutze, kann ich weder einen Port noch ein Protokoll spezifizieren; wenn ich "Application" benutze, dann kann ich HTTP und all sowas auswählen, aber kein ICMP. Also irgendwas scheint noch zu fehlen.
Ich könnte auch DMZ für den Laptop aktivieren, aber ob das so eine super Idee ist? da kommt ja dann alles durch.
Mir ist auch noch nicht ganz klar, ob diese IPV6 Adressen statisch sind (theoretisch gibt es ja genug davon, sodass es keinen Grund gibt, sie dauernd zu ändern) oder ob die auch immer wechseln. Explizit eine statische IPV6 habe ich nicht bestellt, gabs auch gar nicht zur Auswahl.
Mir ist auch noch nicht ganz klar, ob diese IPV6 Adressen statisch sind
(theoretisch gibt es ja genug davon, sodass es keinen Grund gibt, sie
dauernd zu ändern) oder ob die auch immer wechseln.
Leider wollen die meisten Provider für statische Adressen Geld haben, weil sie irgendwelche geschäftliche Nutzung dahinter wittern. So bekommt man bei vielen nach wie vor wechselnde Präfixe, wenngleich wenigstens nicht mehr aller 24 Stunden wie früher, sondern zuweilen erst nach Wochen oder Monaten.
Das, was du da siehst, sind diese IPv6 "privacy extensions". Die Leute haben sich so sehr an die gefühlte "Privacy" von NAT und wechselnden IPv4-Adressen gewöhnt, dass das nun auch unbedingt bei IPv6 mit dabei sein muss. Ursprünglich war es üblich, die unteren 64 Bit der IPv6-Adresse aus der MAC-Adresse abzuleiten, damit war sie (innerhalb eines Präfixes) recht fest. Jetzt muss alles rotieren … Ich würde erwarten, dass die
2a01:760:3210:xxxx:xxxx:xxxx:xxxx:e6fb
bei dir diejenige ist, die zumindest über längere Zeit stabil bleibt, während die anderen nach einem gewissen Zeitraum wechseln. Beobachte das mal über ein paar Tage.
Alle, die nicht mit 2a01 anfangen, sind entweder link-level oder multicast.
ja, von diesem Privacy Ding habe ich auch kürzlich gelesen.Datenschutz ist gut, aber hier leider sehr ungünstig, ich möchte nicht, dass die Adresse dauernd rotiert :-(
Allerdings habe ich hier im Post in der Tat die Adressen zensiert, weil man daraus js auch den Provider und so weiter ableiten kann, und das möchte ich nicht 😅
ich habe beobachtet, dass die 2a01...2479 sich ändert, wenn ich die Netzwerkverbindung trenne und wieder neu connecte. Offenbar findet dort DHCP statt. Wie geht das genau? kann das SLAAC sein?
die 2a01...e6fb scheint hingegen in der Tat, wie von dir vermutet, etwas stabiler zu sein, wenngleich dort auch steht "Lifetime 86400s".
Beim IPV6 Test zeigt mir der Browser als von extern sichtbare Adresse jedoch die 2a01...2479 an, entsprechend nach einem reboot/reconnect eine neue Adresse. Die e6fb tauch nirgends auf, da frage ich mich, was das ist?
Hier im Forum habe ich gelesen, IPv6 sei für maximale Verwirrung konzipiert. Dem kann ich zustimmen, es scheint nicht sehr einfach zu sein 😂
Leider wollen die meisten Provider für statische Adressen Geld haben,
weil sie irgendwelche geschäftliche Nutzung dahinter wittern.
Was meiner Meinung nach grosser Unfug ist. Es gibt ja mehr als genug Adressen. Und mit den zunehmendem Speed der privaten Netzanbindung wird es auch ein attraktiverer use case, auf das Heimnetzwerk zugreifen zu wollen, ohne dass die eine gewerbliche Nutzung sein muss....
ich habe beobachtet, dass die 2a01...2479 sich ändert, wenn ich die
Netzwerkverbindung trenne und wieder neu connecte. Offenbar findet dort
DHCP statt. Wie geht das genau? kann das SLAAC sein?
Ja, SLAAC. DHCPv6 braucht man dafür nicht (das wird aber gern auf Provider-Ebene zum Aushandeln des Präfixes benutzt).
die 2a01...e6fb scheint hingegen in der Tat, wie von dir vermutet, etwas
stabiler zu sein, wenngleich dort auch steht "Lifetime 86400s".
Meine Beobachtung ist, dass auch diese sich irgendwann mal ändern kann, aber ich glaube, erst bei OS-Updates oder so.
Beim IPV6 Test zeigt mir der Browser als von extern sichtbare Adresse
jedoch die 2a01...2479 an, entsprechend nach einem reboot/reconnect eine
neue Adresse. Die e6fb tauch nirgends auf, da frage ich mich, was das
ist?
Die semi-permanente. ;-) Aber für abgehende Verbindungen benutzt das OS halt vorzugsweise die wechselnden – sonst hätten diese "privacy extensions" ja keinen Sinn.
Wenn du magst, schreib mir eine PN, ich kann gern privat einen Test mit dir machen. Hier ist alles IPv6-ready, ich kann dir dann auch die Adresse vorab nennen, mit der ich bei dir reinkommen werde.
Es könnte ja so einfach sein.
Eine einfache Adresse für jedes Gerät. Und doch hat man es geschafft, die Idee mit allerhand Zusatzeinfällen dermaßen zu verkomplizieren daß sich diese lange bestehende Zukunfts-Alternative wohl erst in fernerer ebendieser durchsetzen kann. Defacto ist das IPv4-Theater immer noch wesentlich simpler zu handeln, obwohl man gerade das doch abschaffen wollte...
ich habe beobachtet, dass die 2a01...2479 sich ändert, wenn ich die
Netzwerkverbindung trenne und wieder neu connecte. Offenbar findet dort
DHCP statt. Wie geht das genau? kann das SLAAC sein?
Ja, SLAAC. DHCPv6 braucht man dafür nicht (das wird aber gern auf
Provider-Ebene zum Aushandeln des Präfixes benutzt).
die 2a01...e6fb scheint hingegen in der Tat, wie von dir vermutet, etwas
stabiler zu sein, wenngleich dort auch steht "Lifetime 86400s".
Meine Beobachtung ist, dass auch diese sich irgendwann mal ändern kann,
aber ich glaube, erst bei OS-Updates oder so.
Beim IPV6 Test zeigt mir der Browser als von extern sichtbare Adresse
jedoch die 2a01...2479 an, entsprechend nach einem reboot/reconnect eine
neue Adresse. Die e6fb tauch nirgends auf, da frage ich mich, was das
ist?
Die semi-permanente. ;-) Aber für abgehende Verbindungen benutzt das OS
halt vorzugsweise die wechselnden – sonst hätten diese "privacy
extensions" ja keinen Sinn.
Wenn du magst, schreib mir eine PN, ich kann gern privat einen Test mit
dir machen. Hier ist alles IPv6-ready, ich kann dir dann auch die
Adresse vorab nennen, mit der ich bei dir reinkommen werde.
Leider zählt hier weder deine noch meine Meinung. :-/
Für IPv4 habe ich in meinem Heimnetz einen eigenen DHCP Server aufgesetzt, der auch eine Domain und NTP Server und sowas vergibt. Auf dem Huawei Router habe ich DHCPv4 deaktiviert.
Kann ich das für IPv6 auch machen, und meine globalen Adressen selbst verwalten? irgendwie muss der interne DHCP Server ja den Prefix wissen? oder kann ich, angenommen der Prefix wäre statisch, diesen fest konfogurieren?
Ich habe ein wenig weiter herum gepröbelt. Im NetworkManager kann man die "Privacy Extensions" auswählen: Default, Disabled, Enabled (Prefer Public Address), Enabled (Prefer temporary address). Ich habe dies mal auf "Disabled" gesetzt sowie auf dem Router alles auf "automatic" gesetzt (siehe Bild). Nun gefällt mir das deutlich besser:
1
$ ip a
2
...
3
3: wlp61s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 192.168.1.237/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp61s0
6
valid_lft 115sec preferred_lft 115sec
7
inet6 2a01:760:xxxx:xxxx:xxxx:xxxx:xxxx:5ae8/64 scope global dynamic noprefixroute
8
valid_lft 86273sec preferred_lft 3473sec
9
inet6 fe80::7b50:aa47:291c:b378/64 scope link noprefixroute
10
valid_lft forever preferred_lft forever
nun hat der Laptop nur noch eine einzige IPv6 Adresse. (Ausser der Link Localen, die zähle ich mal nicht mit). Das gefällt mir schon deutlich besser! und diese Adresse stimmt nun auch überein mit derjenigen, die von extern sichtbar ist.
Was genau nun aber passiert, habe ich noch nicht verstanden. Zuvor hatte ich auf dem Router "SLAAC" aktiv, dadurch hatte ich auch bei abgeschalteten Privacy Extensions mehrere IPv6 Adressen. Jetzt mit auto nur noch eine, das wäre gut! Was genau aber passiert weiss ich noch nicht, der Huawei Router hat keine gute Dokumentation.
Es könnte ja so einfach sein.
Eine einfache Adresse für jedes Gerät. Und doch hat man es geschafft,
die Idee mit allerhand Zusatzeinfällen dermaßen zu verkomplizieren daß
sich diese lange bestehende Zukunfts-Alternative wohl erst in fernerer
ebendieser durchsetzen kann. Defacto ist das IPv4-Theater immer noch
wesentlich simpler zu handeln, obwohl man gerade das doch abschaffen
wollte...
sehe ich auch so. Schrecklich! die global eindeutigen Adressen finde ich aber prinzipiell eine gute Idee, wenn sie nicht so dynamisch wären - endlich wäre es prinzipiell möglich, ohne Gebastel wie DynDNS und so weiter Zugriffe aufs Heimnetz zu ermöglichen.
Noch zu IPv4-only Zeiten habe ich das mit DynDNS gemacht, hat nie zuverlässig funktioniert und die Verbindung war auch viel zu langsam, weshalb ich dann auf einen gehosteten virtuellen Server gewechselt bin, der auch eine fixe IPv4 hat. Nun mit IPv6 könnte ich das wieder bei mir zu Hause betreiben. Aber dazu müsste es sauber funktionieren :-(
Wenn du magst, schreib mir eine PN, ich kann gern privat einen Test mit
dir machen. Hier ist alles IPv6-ready, ich kann dir dann auch die
Adresse vorab nennen, mit der ich bei dir reinkommen werde.
Das ist eine gute Idee, lass bei Gelegenheit uns mal testen. Heute Mittag bin ich noch zu einer Speisung eingeladen, danach könnten wir mal versuchen, zu basteln :-)
Allerdings habe ich hier im Post in der Tat die Adressen zensiert, weil
man daraus js auch den Provider und so weiter ableiten kann, und das
möchte ich nicht
Die Idee war gut, aber Vodafone hat einen /24 Prefix, Telefonica /28, Telekom Festnetz /19 und mobil /29. Da liegst du mit gezeigten 48 Bits "leicht" drüber.
Die Idee war gut, aber Vodafone hat einen /24 Prefix, Telefonica /28,
Telekom Festnetz /19 und mobil /29. Da liegst du mit gezeigten 48 Bits
"leicht" drüber.
trotzdem fehlen dir ein paar Bits, um mich gänzlich zu lokalisieren, das ist OK :-)))
was mich übrigens noch irritiert: mein "ip a" zeigt jetzt bei der einzigen vorhandenen IPv6 ein "noprefixroute" an. Das war vorher nicht da. Bin nicht sicher, ob das gut ist?
Vorzugsweise lebenslang und auf die Stirn tätowiert. Dafür kriegst du ganz bestimmt Küsse von Nancy und Ursula. ;-)
Ständig wechselnde Adressen für Client-Zugang mögen für Haushalte kaum relevant wirken, aber in Unternehmen hätten sie dafür gesorgt, dass NAT oder Proxy in IPv6 geradezu Pflicht wird. Eine für geraume Zeit weltweit eindeutige Identifikationsmöglichkeit jedes Anwenders des Unternehmens bereits im für jeden auf der Übertragungsstrecke sichtbaren IP-Header ist sicherheitstechnisch keine gute Idee. Vorsichtigt ausgedrückt.
Ständig wechselnde Adressen für Client-Zugang mögen für Haushalte kaum
relevant wirken, aber in Unternehmen hätten sie dafür gesorgt, dass NAT
oder Proxy in IPv6 geradezu Pflicht wird.
Vertrauen ist gut, Kontrolle ist besser. In meinem Netzwerk habe ich ein DMZ Subnet, dort gibt es keine GUAs, stattdessen habe ich dort ULAs. Die lege ich fest, und damit weiss ich auch, dass sich die nicht ändert, was praktisch ist für Zugriffe innerhalb des Netzwerks & DNS Kram, und auch sicherstellt, dass das zeug noch tut, wen das Internet mal ausfällt. Für Zugriff von aussen, mache ich dann 1:1 NAT auf ein Präfix / GUAs. Und ein Skript schaut von Zeit zu Zeit, ob sich das Präfix geändert hat, und updated noch die DNS Einträge für die von aussen erreichbaren Sachen.
Im LAN habe ich aber auch GUAs. Ging leider nicht anders, per Default machen all die Geräte (Smartphones, Tablets, TVs, PCs), ja SLAAC, und nicht DHCPv6, da habe ich keine Kontrolle mehr darüber, was die als Adresse kriegen usw. Und ULAs ziehen die scheiss Dinger bei SLAAC ja auch nicht...
Statische IPv4 brauche ich aber trotzdem noch. ISP bietet keine statischen IPv6 Adressen an, und die Glue Records beim Registrar kann ich nicht automatisiert Updaten. Und mein Telefonnetzanbieter hat auch noch kein IPv6. Das macht das Testen echt schwer. Es gibt zwar diese Port Tester Seiten, aber da musste ich feststellen, dass die meisten davon nicht richtig funktionieren.
Hi Daniel,
ist es überhaupt irgendwie möglich, in meinem Heimnetzwerk IPv6 zum Laufen zu bekommen, und zwar so, dass die Hosts ihre Namen auflösen können?
eigentlich möchte ich gerne den DHCP Server im Router komplett abschalten. Dann den ISC oder Kea oder dnsmasq benutzen, damit meine Hosts über die Namen angesprochen werden können.
Für IPv4 habe ich das bereits eingerichtet mit dnsmasq. Die hosts beziehen alle Infos vom DHCPv4 Server, dieser trägt die Hostnamen beim DNS ein und so kann alles über die Namen angesprochen werden.
Nun möchte ich das gern auch für IPv6, und so den Hosts eigentlich frei lassen, welches Protokoll genutzt wird. Ob im internen Netzwerk jetzt ULAs oder das "richtige" Präfix vom Huawei-Router benutzt wird, ist mir eigentlich gleich, ich will nur komplett funktionierende Namensauflösung (also A und AAAA) und später dann Zugriff von extern.
Ständig wechselnde Adressen für Client-Zugang mögen für Haushalte kaum
relevant wirken, aber in Unternehmen hätten sie dafür gesorgt, dass NAT
oder Proxy in IPv6 geradezu Pflicht wird.
Das hatte ich genau falsch herum formuliert. Für direkt ausgehende Verbindungen sind wechselnde Adressen wichtig, d.h. die Privacy Extensions sind für Unternehmen sehr wichtig. Für 1-Personen-Haushalte weniger.
Wobei der Trick an den IPv6 Adressen ja darin liegt, zwischen der Adresse von ausgehend und eingehend initiierten Verbindungen zu unterscheiden.
Ausgehende Verbindungen, etwa eigener PC zu Internet-Webserver, sollten die wechselnden Adressen verwenden, um die Identifikation zu erschweren. Eingehende Verbindungen, etwa zu einem eigenen Server in der DMZ, benötigen hingegen die feste IPv6 Adresse.
Da kann es also durchaus vorkommen, dass von den diversen IPv6 Adressen eines Gerätes mehrere gleichzeitig aktiv verwendet werden. Die feste für einen angebotenen Service, die aktuelle Version der wechselnden Adresse für den Browser und eine ältere davon für eine bereits längere Zeit laufende Verbindung.
In meinem DMZ Netz habe ich statische IPs vergeben, das war auch kein Problem im DNS einzutragen.
Aber in meinem LAN lasse ich die Geräte normal GUAs per SLAAC beziehen. Bisher habe ich es nicht geschafft, die DHCPv6 nutzen zu lassen und die DNS so Updaten zu lassen. Mit SLAAC geht es jedenfalls nicht, weil die Adressen dort von den Clients per Zufall vergeben werden, und nicht von einem Server, damit kennt die ausser den Clients dort auch niemand. Das ganze kommt vermutlich aus der Apple Welt, und ist als teil der ganzen Zeroconfig Geschichten gedacht. Für die Namensauflösung ist dabei mDNS gedacht, dabei teilen die Clients selbst, statt ein zentraler DNS Server, ihre Namen, IP und Services mit, wenn jemand den Namen auflösen will.
Es gibt noch einen Vorteil der GUAs, den man mit ULAs und 1:1 NAT nicht hat. Bei Peer-to-Peer Protokollen braucht es keine Hacks, denn die involvierten Geräte kennen ihre globale Adresse und können sich über diese direkt verbinden. Das wird auch häufig als einer der grossen Vorteile von IPv6 genannt. Eine Firewall will man in der Regel aber trotzdem haben, und dann braucht man für sowas doch wieder UPNP, wenn man nicht manuell ausnahmen in der Firewall definieren will.
Es muss aber auch nicht ein entweder oder sein. Man kann gleichzeitig ULA und GUA Adressen haben. Und man kann sicher auch gleichzeitig SLAAC und DHCPv6 in einem Netzwerk haben. Aber eben, wenn die Geräte per Default SLAAC wollen, nützt es nicht viel, wenn man es für DHCPv6 sowieso umstellen müsste.
Ständig wechselnde Adressen für Client-Zugang mögen für Haushalte kaum
relevant wirken, aber in Unternehmen hätten sie dafür gesorgt, dass NAT
oder Proxy in IPv6 geradezu Pflicht wird.
Das hatte ich genau falsch herum formuliert. Für direkt ausgehende
Verbindungen sind dynamische Adressen wichtig.
Wobei der Trick an den IPv6 Adressen ja darin liegt, zwischen der
Adresse von ausgehend und eingehend initiierten Verbindungen zu
unterscheiden.
Ausgehende Verbindungen, etwa PC zu Webserver, sollten die wechselnden
Adressen verwenden, um die Identifikation zu erschweren. Eingehende
Verbindungen, etwa zu einem eigenen Server in der DMZ, benötigen
hingegen die feste IPv6 Adresse.
Da kann es also durchaus vorkommen, dass von den diversen IPv6 Adressen
eines Gerätes mehrere gleichzeitig aktiv verwendet werden. Die feste für
einen angebotenen Service, die aktuelle dynamische für den Browser und
eine ältere dynamische für eine bereits längere Zeit laufende
Verbindung.
prinzipiell hast du ja recht, ich bin auch ein Befürworter des Datenschutzes.
Witzig finde ich es einfach irgendwie, dass IPv6 die möglichkeit statischer Adressen für alle bietet, man verkompliziert es aber dann, dass die Adressen ständig wechseln wegen der Privatsphäre, und am Ende wünscht sich irgend eine Ursula doch einerechtssichere und eindeutige Speicherung der Adressen... irgendwie ja wirklich absurd.
Aber ja, es wäre ein sehr vernünftiger Setup, für die eingehenden Verbindungen die statische Adresse zu nutzen, und für ausgehende Verbindungen eine randomisierte Adresse.
Ändert aber nichts daran, dass bei mir im Moment noch immer weder das eine noch das andere Funktioniert :-(
ich kann fast nicht glauben, dass mein Router das nicht können soll.
Ich überlege grade, ob ich bei ungleich
ungleich.ch
eine VM mit Wireguard VPN einrichten soll. Man könnte dann aus dem Heimnetz eine VM laufen lassen, die den Wireguard Tunnel initiiert. Für 3 Franken im Monat ist das ziemlich cool, aber auch irgendwie eine Bastellösung....
eigentlich möchte ich gerne den DHCP Server im Router komplett
abschalten
Hinsichtlich IPv6 benötigst du den ohnehin nur, wenn innerhalb deines lokalen Netzes weitere Router stehen, die Präfixe für ihre Subnetze anfordern.
Beispiel: Ein offizielles /56 Netz wird dir von Provider dynamisch vergeben. Der Access Router sucht sich daraus für seinen LAN/WAN Anschluss ein /64 Netz aus, evtl ein weiteres /64 für ein Gastnetz. Der Rest des Adressraums liegt brach. Geräte in diesen Netzen nutzen für IPv6 üblicherweise kein DHCP.
Kommt ein interner Router im lokalen Netz hinzu, fordert der per DHCP vom Edge Router einen /60 Präfix an, um diesen auf die gleiche Weise unter seinen Unternetzen zu verteilen. Genau dafür verwendet man DHCP in IPv6.
Spannend wird jedoch, wie gut das tatsächlich funktioniert. Bei Android habe ich die Erfahrung gemacht, dass die IPv6 Adressvergabe in einer solchen Konstellation problematisch sein kann.
War dieser innere Router eine OPNsense/pfSense Firewall, funktionierte das für Android Clients damals überhaupt nicht. Für PCs jedoch schon.
Bei einem anderen Routertyp funktioniert es zuverlässig nach dem Aufbau der WLAN Verbindung, verliert sich aber bei Android ebenso zuverlässig nach einer Weile. Andere Gerätetypen, anderes Verhalten.
eigentlich möchte ich gerne den DHCP Server im Router komplett
abschalten
Hinsichtlich IPv6 benötigst du den ohnehin nur, wenn innerhalb deines
lokalen Netzes weitere Router stehen, die Präfixe für ihre Subnetze
anfordern.
Beispiel: Ein offizielles /56 Netz wird dir von Provider dynamisch
vergeben. Der Access Router sucht sich daraus für seinen LAN/WAN
Anschluss ein /64 Netz aus, evtl ein weiteres /64 für ein Gastnetz. Der
Rest des Adressraums liegt brach. Geräte in diesen Netzen nutzen für
IPv6 üblicherweise kein DHCP.
Kommt ein interner Router im lokalen Netz hinzu, fordert der per DHCP
vom Edge Router einen /60 Präfix an, um diesen auf die gleiche Weise
unter seinen Unternetzen zu verteilen. Genau dafür verwendet man DHCP in
IPv6.
Sehr gut. Dann machen die Hosts nur SLAAC?
könnte ich dann nicht meine VM, auf der der DHCPv4 Server läuft, so konfigurieren, dass er den Prefix beim Huawei Router abholt, und die IPs an die Hosts vergibt? dann könnte er die AAAA Records erstellen und die Namensauflösung würde klappen.
(JA. ich weiss. Völliger Overkill für ein Heimnetz und ein paar Proxmox VMs. Aber es geht ja darum, zu lernen, wie das funktioniert und wie man es konfiguriert und nutzbar macht, um Daten vom heimischen Fileserver zu holen.)
Witzig finde ich es einfach irgendwie, dass IPv6 die möglichkeit
statischer Adressen für alle bietet, man verkompliziert es aber dann,
dass die Adressen ständig wechseln wegen der Privatsphäre,
Dafür gibts ja die erwähnten verschiedenen Adresstypen. Die im Rahmen der Lebensdauer des Präfix unveränderten Adressen nutzt man, um Dienste anzusprechen. Eben deshalb verändern sie sich auch nicht.
wünscht sich irgend eine Ursula doch einerechtssichere und eindeutige
Speicherung der Adressen... irgendwie ja wirklich absurd.
Interessenkonflikte sind so alt wie die Menschheit. Anwender mögen es besonders sicher, Polizeibehörden und Hacker möglichst unsicher.
Das ist zwar etwas polemisch ausgedrückt, aber darauf läuft es hinaus. Wobei ich das aber nicht auf die Adressspeicherung beziehe, sondern auf sowas wie Zertifikate mit erzwungener Hintertür und auf Gesetzesformulierungen, die eine Durchforstung von verschlüsselten Daten vorschreiben, aber natürlich ohne sie zu entschlüsseln (da greift dann vmtl eine Rechtsgüterabwägung, die letztere Bedingung wieder einkassiert).
An sich ja. In Client-Funktion ist das auch kein Problem, ebensowenig im lokalen Netz. Denn lokal fragen andere Systeme den DNS-Server des Edge Routers und der ist mindestens prinzipiell in der Lage, einen Name-Lookup passend zu beantworten.
Wie man allerdings globale DNS Lookups so hindeichselt, dass in einer Home-Umgebung mit wechselndem Präfix ohne eigenes Scripting der globale Präfix mit dem global ja unbekannte statischen lokalen Teil der Adresse kombiniert wird, um diese Adresse global ansprechen zu können, erschliesst sich mir noch nicht.
Sehr gut. Dann machen die Hosts nur SLAAC?
könnte ich dann nicht meine VM, auf der der DHCPv4 Server läuft, so
konfigurieren, dass er den Prefix beim Huawei Router abholt, und die IPs
an die Hosts vergibt? dann könnte er die AAAA Records erstellen und die
Namensauflösung würde klappen.
Mit SLAAC geht es jedenfalls nicht, weil die
Adressen dort von den Clients per Zufall vergeben werden, und nicht von
einem Server, damit kennt die ausser den Clients dort auch niemand.
könnte ich dann nicht meine VM, auf der der DHCPv4 Server läuft, so
konfigurieren, dass er den Prefix beim Huawei Router abholt, und die IPs
an die Hosts vergibt? dann könnte er die AAAA Records erstellen und die
Namensauflösung würde klappen.
Das könnte funktionieren, wenn du einen lokalen Selbstbau-Router betreibst und mit dem alle Netzkomponenten vom Edge Router abtrennst. Dieser Router kriegt vom DHCP des Huawei seinen Prefix-Raum zugewiesen, und im DHCP des lokalen Routers kannst du machen, was du willst.
Ohne diesem lokalen Router und ohne DHCP im Huawei könnte das Problem entstehen, überhaupt den gerade für dein gesamtes Netz zur Verfügung stehenden Prefix zu ermitteln.
Mit SLAAC geht es jedenfalls nicht, weil die
Adressen dort von den Clients per Zufall vergeben werden, und nicht von
einem Server, damit kennt die ausser den Clients dort auch niemand.
Die wechselnden Adressen wären ein Problem. Aber die braucht man für angebotene Dienste ja nicht. Da es auch die von der MAC abgeleiteten statischen Adressen gibt, kann man deren untere 64 Bits grundsätzlich mit dem ab und zu wechselnden Prefix kombinieren. Es reduziert sich auf die Frage, wer das macht.
Hat man lokal ein flaches Netz ohne weitere Router, könnte es allerdings einfacher sein, für Dienste im eigenen Netz die link local address zu verwenden, sofern man dabei auf IPv6 Wert legt, und im Edge Router port forwarding darauf.
Wichtig wäre wohl, erst einmal die Aufgabenstellung klar zu umreissen. Geht es um die Situation im Heimnetz, wer dort wen unter welcher Adresse oder welchem Namen anspricht? Oder geht es darum, wie man Server im Heimnetz aus dem Internet anspricht? Das können recht verschiedene Aufgaben sein.
Bei DHCP bekommt man den Hostnamen und die Adresse, so wie die Info, dass es da ein neues Gerät gibt, ganz simple mit. Aber wenn sich ein Gerät per SLAAC selbst eine Adresse vergibt, weiss ich davon erst mal nichts. Wenn man die Mac und den Hostnamen schon kennt, ok, dann wird das kein Problem sein. Aber was tun, wenn nicht?
Das ist in IPv4 zunächst auch nicht viel besser. Wenn sich ein 08/15 Client eine Adresse aus dem DHCP holt, kennt den erst einmal auch niemand per Namen. NetBIOS-Lookups und ähnliche Archaea ausgenommen. Erst wenn der sich per dynamischem DNS einschleimt, wird ein Name daraus. Sofern das DNS das nicht durch Kooperation mit DHCP spitz kriegt (Windows, Edge Router).
Erst wenn der sich per dynamischem DNS einschleimt, wird ein Name
daraus. Sofern das DNS das nicht durch Kooperation mit DHCP spitz kriegt
(Windows, Edge Router).
Aber immerhin kann man das da machen. Mit DHCP hat man da einen Server, der die Infos geliefert bekommt. Bei SLAAC nicht.
Das könnte funktionieren, wenn du einen lokalen Selbstbau-Router
betreibst und mit dem alle Netzkomponenten vom Edge Router abtrennst.
Dieser Router kriegt vom DHCP des Huawei seinen Prefix-Raum zugewiesen,
und im DHCP des lokalen Routers kannst du machen, was du willst.
Wobei dann noch die Frage ist, wofür es den Huawei überhaupt braucht und warum der lokale Selbstbau-Router nicht auch gleich noch das bissel Anbindung an den Provider übernimmt.
Nö. Ganz falsch.
Aber Du hast schön verdeutlicht wie diese Sicherheits-Hysterie schon auf IPv6 Protokollebene gerade die Dinge, die mit IPv6 vereinfacht werden sollten wieder komplizierter (und den Vorteil der eindeutigen Adresse) zunichte macht.
Wessen Sicherheit es verlangt der soll seinen Geräten (deren Datenverkehr ohnehin meist verschlüsselt ist) entsprechende Router-Technik vorschalten und seine endgültigen IPs verschleiern. Ein Sicherheits-Verständnis welches Sicherheit durch fortlaufende Verkomplizierung des Routings erzielen will scheint mir im Hase- und Igel Spiel zwischen Hacker und Anwender nur auf immer speziellere Sicherheitslücken hinauszulaufen die immer schwerer erkenntlich und zu beseitigen sind.
Ja. Und dabei gescheitert mir meine Technik via IPv6 von außen zugänglich zu machen. Nun läuft es wie gehabt weiter über normale IPv4 Portfreigaben. Es gilt ohnehin kein Fort Knox zu sichern.
Ich würde nicht wollen, das jedes Gerät öffentlich und ständig mit der
gleichen IP erreichbar ist.
Ich schon. Zumindest die die von außen und immer gleich ansprechbar sein sollen. Das funktioniert ja via IPv4 letztlich genauso, zumindest solang wie man keine neue IP bezieht. Ich finde, Sicherheit für spezielle Geräte sollte erst danach, auf Geräteebene anfangen- oder meinetwegen mit einer Whitelist zulässiger Anfragen im Router.
a) im Heimnetz sollen alle Geräte in irgend einer Form eine Autokonfiguration vornehmen, um eine IP Adresse zu kriegen. Mit IPv4 habe ich das schon eingerichtet und funktioniert sehr gut. Ausserdem sollen die Hostnamen auflösbar sein. Im Moment teste ich dnsmasq, bei IPv4 trägt er die Hostnamen in seine DNS Datenbank ein und per nslookup kann man die abfragen. Mit IPv6 soll es genau so funktionieren.
b) später möchte ich auf einzelne Hosts aus dem Internet zugreifen. Zum Beispiel möchte ich zu Hause eine Nextcloud laufen lassen. Und diese dann aus dem Netz betrachten können.
Im Moment habe ich einen Workaround gefunden:
in dnsmasq habe ich DHCPv6 aktiviert. Dieser konstruiert die Adressen mit dem richtigen Prefix von der Netzwerkkarte:
dhcp-range=::20:100,::20:1ff,constructor:eth0
die Router Advertisements kommen weiterhin vom Huawei Router. Jeder Rechner bekommt nun 2 IPv6 Adressen, eine vom Huawei, und eine vom dnsmasq. Und ich kann den Hostnamen auflösen. Scheint OK zu sein, aber ob das "schön" ist?
Den Huawei Router brauche ich wohl, weil ich ja irgend einen Umsetzer von GPON auf Ethernet brauche. Der Netzbetreiber erlaubt zwar das Anschliessen eines eigenen Geräts, aber ich bin bei Glasfaser GPON zu wenig fit, als dass ich mir da zutrauen würde, das alles richtig zu konfigurieren.
Wessen Sicherheit es verlangt der soll seinen Geräten (deren
Datenverkehr ohnehin meist verschlüsselt ist) entsprechende
Router-Technik vorschalten und seine endgültigen IPs verschleiern.
Hatte ich ja genannt: Das wäre NAT in IPv6, oder Proxies.
Allerdings sehe ich zunächst nicht, inwieweit die hier so heftig kritisierten Privacy Extensions im ein Problem sind. Ein paar Komponenten mehr müssen sich daran gewöhnen, dass einem Gerät bzw User nun mehrere gleichzeitig aktive IP-Adressen zugeordnet sein können, hauptsächlich Firewalls. Clients mit Dauerverbindungen werden wohl sowieso schon die statische Adresse nutzen, nicht die wechselnde. Das wirkt auf mich aber nicht wie ein grosses Ding. Und es wirkt eleganter als IPv6 via NAT.
Den Huawei Router brauche ich wohl, weil ich ja irgend einen Umsetzer
von GPON auf Ethernet brauche. Der Netzbetreiber erlaubt zwar das
Anschliessen eines eigenen Geräts, aber ich bin bei Glasfaser GPON zu
wenig fit, als dass ich mir da zutrauen würde, das alles richtig zu
konfigurieren.
Telekom Glasfasermodem 2 kaufen und beim Anbieter anmelden, fertig. Dann brauchst du nur noch einen Router mit Ethernet-WAN-Schnitstelle.
Alternativ gibts die Funktionalität auch als SFP-Modul.
im Heimnetz sollen alle Geräte in irgend einer Form eine
Autokonfiguration vornehmen, um eine IP Adresse zu kriegen.
Flaches Netz, oder verschiedene Subnetze? Flach kannst du es dir einfach machen und für lokale Adressierung von Services die LLA verwenden, die fe80:: Adresse. Die ändert sich nur mit der MAC-Adresse. Für die Umsetzung in Namen sorgen manuelle Einträge im DNS. So lange dein Heimnetz nicht ein komplettes Arbeiterschliessfach umfasst, dürfte das einfach sein.
Oder du bleibst dafür einfach bei IPv4. Wirst das ja wohl nicht abschalten wollen. Wirklich relevant ist IPv6 ja eigentlich nur von aussen, weil man in DS lite festhängt und nur über IPv6 erreichbar ist.
Oder du bleibst dafür einfach bei IPv4. Wirst das ja wohl nicht
abschalten wollen. Wirklich relevant ist IPv6 ja eigentlich nur von
aussen, weil man in DS lite festhängt und nur über IPv6 erreichbar ist.
ja, das ist schon richtig. Ich bin nur dem Irrglauben aufgesessen, dass ich mit IPv6 ohne lästiges DynDns Gebastel meine Hosts zu Hause leicht erreichen und so meine Nextcloud zu Hause betreiben könnte.
Mein gegenwärtiger VPS bietet nur 80GB Speicher, das reicht nicht :-(
An sich sollte AVM mit seinem MyFritz ein DynDNS für die internen IPv6 Hosts bieten, für jene, die statt Huawei einen Fritz haben. Dummerweise hat AVM da einen Bock geschossen, da für das interne Zielsystem eine DNS-Adresse der Form "PC---xxxx.yyyy.myfritz.net" verwendet wird, die aufgrund des "---" unzulässig ist.
Wirklich relevant ist IPv6 ja eigentlich nur von aussen, weil man in DS
lite festhängt und nur über IPv6 erreichbar ist.
Über IPv6 ist der Internetzugriff auf FRITZ!Box und Heimnetz auch am DS-Lite-Internetzugang möglich. Solche IPv6-Verbindungen können jedoch nur hergestellt werden, wenn beide Teilnehmer über eine IPv6-Internetanbindung verfügen, was z.B. nicht in allen Mobilfunknetzen und WLAN-Hotspots der Fall ist.
Über IPv6 ist der Internetzugriff auf FRITZ!Box und Heimnetz auch am
DS-Lite-Internetzugang möglich.
Klar. Funktionert auch. Allerdings benötigt man ein DynDNS um die Adresse herauszufinden. Zumindest wenn der Prefix sich ab und zu ändert. Während man die Fritzbox selbst über das myfritz.net DynDNS ansprechen kann, funktioniert das bei IPv6-Hosts im Heimnetz nicht - siehe vorhin.
Und dann kann man überlegen, ob man den Server selbst hostet, und für DynDNS und Strom zahlt, oder alternativ für einen Miethost zahlt.
hier kriegt man ein Wireguard VPN, und ein /48 IPv6 Netz dazu.
Ich habe jetzt in meinem Heimnetz mal einen Proxmox Container aufgesetzt, in dem Wireguard läuft. Dieser Verbindet sich auf den Ungleich VPN und ist dann von aussem erreichbar mit der IP 2a0a:xxxx:xxxx::42/48.
Was ich mir nun gedacht habe:
ich könnte z.B. der Nextcloud in meinem Heimnetz die Adresse 2a0a:xxxx:xxxx::1:1 geben. Diese Adresse liegt ja auch in meinem /48er Netz.
Testweise habe ich nun auf dem Wireguard Container tcpdump laufen lassen. Über die IP 2a0a:xxxx:xxxx::42 kann ich aus dem Internet (getestet mit Smartphone) direkt in den Wireguard Container connecten, das funktioniert also wie erwartet. Ich hatte nun die "simple" Idee, in dem Wireguard Container IP Forwarding zu aktivieren und eine Route einzurichten, sodass er 2a0a:xxxx:xxxx::1:1 ins interne Netzwerk weiterleitet!
In der Tat, wenn ich an 2a0a:xxxx:xxxx::1:1 ein Ping sende, sehe ich in tcpdump auch, dass dies in meinem Container ankommt. Aber der Container leitet es nicht weiter.
Ist irgendwie auch klar: ich kann doch nicht einfach so in meinem Heimnetz die IP 2a0a:xxxx:xxxx::1:1/48 benutzen und einer VM zuweisen, oder? wie kann ich dem Container beibringen, dass er das weiterleiten soll?
ich habe IPv6 Forwarding in sysctl eingeschaltet, und ich habe eine Route für 2a0a:xxxx:xxxx::1:0/112 in dem Container eingerichtet, die Pakete vom wg0 Interface auf eth0 weiterleiten soll. Das klappt aber noch nicht. Ist es überhaupt möglich?
Die Lösung wäre sehr hübsch, da ich ein komplettes /48 Netz mein Eigen nennen kann und allen möglichen Hosts eine Adresse daraus selber vergeben könnte. (Kann ich das? ich denke ja, aber ... ?)
der einzige Nachteil ist natürlich, dass das IPv6 only ist, es gibt immernoch genug Mobilfunkanbieter und so weiter, wo man keine IPv6 Adresse kriegt und damit hat man natürlich dann auch keinen Zugriff auf das Netz.
Du brauchst auf dem Wireguard einen router advertiser daemon, der den Präfix verkündet und außerdem die Tatsache verkündet, dass er die IPv6 default route zu transportieren gewillt ist. Dann können deine lokaken Knoten dagegen SLAAC machen.
Ich würde aber an deiner Stelle da auch einen Firewall implementieren …
Du brauchst auf dem Wireguard einen router advertiser daemon, der den
Präfix verkündet und außerdem die Tatsache verkündet, dass er die IPv6
default route zu transportieren gewillt ist. Dann können deine lokaken
Knoten dagegen SLAAC machen.
Ich würde aber an deiner Stelle da auch einen Firewall implementieren …
danke. Das ist sicher das richtige Stichwort.
Wie verhindere ich aber, dass dann ALLE meine Hosts sich an dem Wireguard Dienst anschliessen?
ich will ja nur bestimmte.
Das selbe Problem habe ich ja auch mit dem Huawei Router: Der sendet auch seine Router Advertisements, und dann kann ich selber einen DHCP Server betreiben wie ich will, weil die Router Advertisements dann immer von beiden kommen, dann nehmen meine Hosts immer die vom Huawei, obwohl ich eigentlich eine andere Config möchte.
(Umgekehrt wenn ich die RA im Huawei abschalte, dann bekomme ich es ja nicht mit, wenn der Präfix ändert.)
Firewall ist klar, aber vorerst muss ja überhaupt irgend etwas funktionieren :-)
Ich google mal, wie man so einen RA Daemon einrichtet. Oder hast du einen guten Link?