IPv6 für Faule
Hi!
Bisher hatte ich ipv6 nur für ganz Faule getestet: Proxy
Der nächste dirty Schritt wäre NAT.
Angeblich soll das auch mit der fe80-Adresse gehen, also habe ich auf dem Router eine netfilter-Regel angelegt:
Eigentlich müsste das reichen. Ein Ping-Versuch auf dem Client zeigt mir aber:
Destination unreachable: Beyond scope of source address (kommt von meinem Router)
Also entweder geht das gar nicht oder SNAT greift nicht.
Meine Routen auf dem Client sehen so aus:
Bisher hatte ich ipv6 nur für ganz Faule getestet: Proxy
Der nächste dirty Schritt wäre NAT.
Angeblich soll das auch mit der fe80-Adresse gehen, also habe ich auf dem Router eine netfilter-Regel angelegt:
-A POSTROUTING -s fe80::/64 -o ppp0 -j MASQUERADE
/proc/sys/net/ipv6/conf/ppp0/forwarding ist 1.
Eigentlich müsste das reichen. Ein Ping-Versuch auf dem Client zeigt mir aber:
Destination unreachable: Beyond scope of source address (kommt von meinem Router)
Also entweder geht das gar nicht oder SNAT greift nicht.
Meine Routen auf dem Client sehen so aus:
ip6-localhost/128 [::] Un 0 8 0 lo
fe80::8cc3:9434:5247:85ef/128 [::] Un 0 4 0 enp9s0
fe80::/64 [::] U 1024 4 0 enp9s0
ip6-mcastprefix/8 [::] U 256 17 0 enp9s0
[::]/0 fe80::1efd:8ff:fe7c:b4b9 UG 1024 11 0 enp9s0
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 670473
Url: https://administrator.de/forum/ipv6-fuer-faule-670473.html
Ausgedruckt am: 05.01.2025 um 15:01 Uhr
20 Kommentare
Neuester Kommentar
Der nächste dirty Schritt wäre NAT.
NAT?? Seit wann gibt es NAT bei IPv6??!https://danrl.com/ipv6/
Lesen und verstehen!
Mal ganz davon abgesehen das FE80:: Link Local Adressen unroutebar sind was du als gestandener Netzwerk Admin eigentlich wissen solltest. 🧐
Fazit: Workshop durchlesen und nochmal von vorn...
Beyond scope of source address
Works as designed 😉, wie aqui schon schreibt LinkLocals sind dafür ungeeignet auch mit NAT ...Eben, du brauchst mindestens ULAs im LAN und ne globale IPv6 am WAN damit funktioniert dann auch dein NAT mit IPv6 wenn du unbedingt willst, warum auch immer...
Aber auch nur mit ULA ist nicht 100% sichergestellt das der Client auch tatsächlich IPv6 verwendet wenn IPv4 auch noch verfügbar ist, das hängt dann vom Client ab ...
Sofern in einem privaten Netz im Dualstack mit IPv4 nur ULA-Adressen verwendet werden, bevorzugt die Mehrheit der Clients bei einer DNS-Auflösung die IPv4-Adresse, auch wenn ein AAAA-Record existiert, da davon auszugehen ist, dass mit einer ULA-Adresse niemals der öffentliche IPv6-Adressraum erreicht werden kann. Dies führt in der Praxis dazu, dass in privaten Netzen (insbesondere beim Einsatz von NAT6) im Dualstack von ULA-Adressen abgeraten wird.[35]
Die Verwendung eines noch nicht vergebenen globalen Prefixes wäre also für Experimente damit zu bevorzugen, z.B. 4abc::/64
Gruß gastric
Ganz zu schweigen davon das man bei Verwendung des LinkLocal Raums immer das Quell-Interface mit angeben müsste da sonst nicht sichergestellt ist von welchem Interface die Pakete kommen. Denn fe80::/64 gibt es ja i.d.R. an mehreren Interfaces, aber auch wenn es nur ein einzelnes gibt erwarten das die Systeme auch wenn es aktuell nur einen Neighbor mit der entsp. Adresse gäbe.
Aber die Meldung
Aber die Meldung
Beyond scope of source address
sagt ja eigentlich schon alles.Zitat von @Harald99:
Die Meldung sagt, nur dass der Router nicht nattet. Aber das schreib ich oben schon.
Die Meldung sagt, nur dass der Router nicht nattet. Aber das schreib ich oben schon.
Nein, sie sagt das der Adresstyp nicht mit der LL erreichbar ist .
Es wurde zwar schon mehrfach gesagt, aber nicht von jedem: Link-Local kann/darf nach Standard nicht geroutet werden. Deshalb versucht kein IPv6-Stack GUA zu kontaktieren und dabei eine LLA als Quelle zu verwenden. Da es keine anderen verfügbaren gebundenen Adressen gibt, ist das Ziel "beyond scope" und nicht erreichbar.
Das ist halt nunmal der Standard.
Du brauchst mindestens eine ULA für dein Vorhaben, aber ich frage mal, warum du unbedingt NAT machen willst. Speziell wenn du es einfach haben willst, ist die Verwendung der GUA auf dem Client und normales Routing, das einfachste, was man machen kann.
Das ist halt nunmal der Standard.
Du brauchst mindestens eine ULA für dein Vorhaben, aber ich frage mal, warum du unbedingt NAT machen willst. Speziell wenn du es einfach haben willst, ist die Verwendung der GUA auf dem Client und normales Routing, das einfachste, was man machen kann.
Hallo,
ipv6 ist nichts, was man mal mit Klick Klack einfach so schnell umsetzt.. zumindest nicht in einem einigermaßen professionell aufgezogenen Netzwerk.
Wenn es dennoch einfach und faul sein soll, klemmt dir eine FRITZ!Box dran und folge dem Einrichtungsassistenten.
Ansonsten kann ich das hier, zitierte Tutorial nur empfehlen. Da wirst du durch müssen, wenn du auch nur ansatzweise verstehen möchtest, wie ipv6 funktioniert. Viel Glück.
ipv6 ist nichts, was man mal mit Klick Klack einfach so schnell umsetzt.. zumindest nicht in einem einigermaßen professionell aufgezogenen Netzwerk.
Wenn es dennoch einfach und faul sein soll, klemmt dir eine FRITZ!Box dran und folge dem Einrichtungsassistenten.
Ansonsten kann ich das hier, zitierte Tutorial nur empfehlen. Da wirst du durch müssen, wenn du auch nur ansatzweise verstehen möchtest, wie ipv6 funktioniert. Viel Glück.
Wenn du grade erst anfängst dich mit IPv6 zu beschäftigen, warum dann gleich mit Erweiterungen, die nur geschaffen worden sind, weil einige „Netzwerk-Spezialisten“ zu faul waren ihre Netze vernünftig zu planen?
NAT ist und bleibt (wie auch schon bei IPv4) eine Methode, die nur dafür da ist Workarounds zu schaffen, mehr nicht.
NAT bei IPv6 ist ein sehr spezielles Thema und wird auch nicht von jedem Router unterstützt. Ich durfte mich damit mal auseinandersetzen, als man bei Strato für seinen VServer nur eine (!) Adresse bekommen hatte, und ich aber dahinter Container bereitstellen wollte. Ging nicht, bin dann weg von Strato zu nem vernünftigen Anbieter.
Die fe80::-Adresse von deinem Router ist nicht dafür gedacht um sie als Standard-Gateway zu nutzen. Dazu solltest du mindestens eine ULA (dann aber ohne Internetzugriff), oder wie es normalerweise ist, deine per SLAAC/DHCPv6 zugewiesene.
Und lass dich nicht von den fec0::-Adressen aus dem verlinkten Beispiel verwirren. Das ist der (mittlerweile auch schon deprecated) Nachfolger von RFC1918-Adressen. Sie funktionieren aber trotzdem anders als fe80::-Adressen.
NAT ist und bleibt (wie auch schon bei IPv4) eine Methode, die nur dafür da ist Workarounds zu schaffen, mehr nicht.
NAT bei IPv6 ist ein sehr spezielles Thema und wird auch nicht von jedem Router unterstützt. Ich durfte mich damit mal auseinandersetzen, als man bei Strato für seinen VServer nur eine (!) Adresse bekommen hatte, und ich aber dahinter Container bereitstellen wollte. Ging nicht, bin dann weg von Strato zu nem vernünftigen Anbieter.
Die fe80::-Adresse von deinem Router ist nicht dafür gedacht um sie als Standard-Gateway zu nutzen. Dazu solltest du mindestens eine ULA (dann aber ohne Internetzugriff), oder wie es normalerweise ist, deine per SLAAC/DHCPv6 zugewiesene.
Und lass dich nicht von den fec0::-Adressen aus dem verlinkten Beispiel verwirren. Das ist der (mittlerweile auch schon deprecated) Nachfolger von RFC1918-Adressen. Sie funktionieren aber trotzdem anders als fe80::-Adressen.
Zitat von @Harald99:
Kann nicht so ganz stimmen, denn mein Client gibt ja die Pakete dem default router.
Da ist also eine Routingentscheidung gefallen.
Das kann man den Kernel sogar direkt fragen:
#ip -6 route get 2a01:x:y:z::a
2a01:x:y:z::a via fe80::1efd:8ff:fe7c:b4b9 dev enp9s0 src fe80::8cc3:9434:5247:85ef metric 1024 pref medium
;-P
Mit dem def. Gateway selbst kommuniziert der Client i.d.R. immer über die LinkLocal-Adresse, that's normal, da er nur die fe80 hat bleibt ihm nur die als SRC, heißt aber nicht das das GW mit der fe80 auch weiterleitet, was ein Router niemals tut ...Kann nicht so ganz stimmen, denn mein Client gibt ja die Pakete dem default router.
Da ist also eine Routingentscheidung gefallen.
Das kann man den Kernel sogar direkt fragen:
#ip -6 route get 2a01:x:y:z::a
2a01:x:y:z::a via fe80::1efd:8ff:fe7c:b4b9 dev enp9s0 src fe80::8cc3:9434:5247:85ef metric 1024 pref medium
;-P
Die fe80::-Adresse von deinem Router ist nicht dafür gedacht um sie als Standard-Gateway zu nutzen
Doch das ist vollkommen normal, schau mal in deine IPv6 Routing Tabelle, da wirst du immer eine LL Adresse als Def GW vorfinden falls nicht manuell geändert. Ist nicht anders als bei IPv4 auch ...
Wenn du nen Router hast der RAs und sich als Router announced schon.
Du versuchst hier etwas umzusetzen was der Standard eben nicht vorsieht.
Btw. was soll darn jetzt "faul" sein wenn du manuell am Client rumpfuschen musst ??
Wenn du keine GUAs hast, announce nen ULA per RA ins Netz, NATe den am GW, und gut is, done.
Du versuchst hier etwas umzusetzen was der Standard eben nicht vorsieht.
Btw. was soll darn jetzt "faul" sein wenn du manuell am Client rumpfuschen musst ??
Wenn du keine GUAs hast, announce nen ULA per RA ins Netz, NATe den am GW, und gut is, done.
Das ist normal wenn du den Router selbst fragst. Forwarden tut er die Pakete trotzdem nicht, weil fe80 gar nicht erst in die FORWARD-Chain kommen kann, und da das SRCNAT bekanntlich erst in der POSTROUTING-Chain stattfindet und diese in der Reihenfolge erst nach der Forwarding-Chain kommt geht es wie x mal gesagt aus Prinzip nicht da kannst du probieren so viel du willst.
Deswegen ist die ICMPv6-Antwort des Routers auch vollkommen korrekt
Der Router verhindert also schon anhand der fe80 das der Traffic ins Forwarding gelangen kann und somit kann auch niemals das SRCNAT greifen .
Deswegen ist die ICMPv6-Antwort des Routers auch vollkommen korrekt
Der Router verhindert also schon anhand der fe80 das der Traffic ins Forwarding gelangen kann und somit kann auch niemals das SRCNAT greifen .
Hier auch noch die RFC dazu
RFC 4291 - Link-Local IPv6 Unicast Addresses
RFC 4291 - Link-Local IPv6 Unicast Addresses
Link-Local addresses are designed to be used for addressing on a single link for purposes such as automatic address configuration, neighbor discovery, or when no routers are present.
Routers must not forward any packets with Link-Local source or destination addresses to other links.
Routers must not forward any packets with Link-Local source or destination addresses to other links.