IPv6 - Verteilung von ULA

tiermutter

Well-known member
Moin,

ich habe mich zuletzt mit @Barungar etwas um ULA in meinem Netzwerk gekümmert. Auslöser war ein Thread im QNAP Forum in dem ich mich darüber geärgert habe, dass ich keine statische GA (Globale Adresse) bekomme.
Hintergrund: Ich möchte auch mit IPv6 die gleichen Möglichkeiten wie bei v4 haben um die Clients entsprechend zu leiten und einzuschränken (Firewall-Regeln, DNS Auflösung, ...), was mit dynamischen Adressen natürlich kaum möglich ist, sofern das dynamische Präfix nicht auch an allen Stellen dynamisch verwendet werden kann, was aktuell nicht der Fall ist.
Demnach habe ich (etwas widerwillig) nun ULA bei mir eingeführt.

Kurz zum Aufbau: Router/ RADVD / DHCP6 ist eine OPNsense, ULA LAN = fd00:10:13:12::/64
Derzeit habe ich noch den DHCP6 Server aktiv, möchte später aber eigentlich alles nur noch mit RA/ SLAAC machen. DHCP6 verteilt momentan das jeweils aktuelle globale Präfix mit dem Suffix ::10:13:12:1-ffff, wobei ich die Möglichkeit hätte statische DHCP Mappings anzulegen*, wie ich es auch bei IPv4 handhabe (für solche Geräte die nicht statisch konfiguriert sind).
* sofern ich den Adressbereich anpassen würde, aber so weit kommt es wohl nicht mehr.

Die ULA wird ja nun mittels RADVD verteilt, OPNsense zumindest bietet hier aber keine Möglichkeit den Adressraum weiter einzuschränken oder statische Mappings zu erstellen.
Die Folge ist, dass die Clients "wahllose" IP-Suffixe bekommen, die sich wenn ich mich nicht täusche aus deren MAC ergibt, also zB fd00:10:13:12:xx5e:bexx:fxxf:63xx.
Ich würde hier aber lieber IPs haben wie fd00:10:13:12::1 oder fd00:10:13:12::abcd, wobei Ersteres durch statische Mappings vergeben wird und Letzteres dynamisch.
Hintergrund ist, dass ich mit den aktuellen ULA zwar einiges regeln kann (zB welches Gerät welchen DNS Server verwendet, bzw. welches DNSBL-Regelwerk für das jeweilige Gerät zutrifft), aber eben nur so lange wie das Gerät nicht durch ein Anderes ersetzt wird. Auch tue ich mich schwer damit die ULA statisch zu konfigurieren; 1. möchte ich das nicht für jedes Gerät tun und oftmals lieber mit statischen Mappings arbeiten und 2. könnte ich theoretisch Adresskonflikte mit den durch RADVD verteilten Adressen hervorrufen. Ferner möchte ich die vergebenen Adressen für mich einfacher zuzuordnen haben (ich kenne meine IPv4 für die gut 20 relevanten Geräte alle aus dem Effeff und möchte die ULA analog dazu anlegen [v4 10.13.12.5 = v6 fd00:10:13:12::5]).

Daher meine Fragen hinsichtlich der Möglichkeiten, auch wenn diese (derzeit) uU nicht in OPNsense umgesetzt werden:
1. Durch wen (RADVD / DHCP6) können ULA überhaupt verteilt werden?
2. Ist es überhaupt vorgesehen so wie gewünscht (statische Mappings, Vorgabe Adressbereiche) mit den ULA im LAN zu hantieren?

Danke und Cheers!
 

blurrrr

Well-known member
DHCPv6 "stateful" dürfte für Dich wohl am interessantesten sein, da es dem v4-Pendant wohl am ähnlichsten ist.
 

tiermutter

Well-known member
Habe ich bislang auch so gedacht... aber mit dynamischem Präfix ist das Ganze dann wieder uncharmant für mich, es sei denn, ich kann irgendwie die ULA über DHCP6 verteilen um so halbwegs etwas reglementieren zu können.
Nur nochmal als Beispiel:
Client A bekommt die IP 2a00:6020:xxx:xxxx:1234:abcd:1234:abcd und spricht damit zu meinem DNS Resolver (AdGuard). Dort hinterlege ich für diese IP, dass für diese IP keine Filterlisten gelten. Morgen ändern sich der Präfix und der Client hat plötzlich 2a00:6020:yyyy:yyyy:1234:abcd:1234:abcd als IP; die in AdGuard hinterlegte Regel ist passé.

Mit den ULA bleiben die IPs wenigstens fest sodass ich hier entsprechend damit arbeiten kann.

Für etwaige Reglementierungen nach draußen hilft mir die ULA natürlich trotzdem nichts, da hier die GA verwendet wird, die ich wiederum nicht in den FW Regeln hinterlegen kann, da dynamisch. Mal abgesehen davon dass dann ja noch die IPs der PE und SLAAC (muss ich für Android ohnehin verwenden) berücksichtigt werden müssen. Das stelle ich mir auch super unübersichtlich vor: Eine Regel für ein Gerät mit 6 hinterlegten IP Adressen. Ein Hoch auf die Geräte, die nur eine globale Adresse haben :)
 

Barungar

Active member
Hallo,

auch nur kurz... ich habe heute noch nicht wirklich dazu gekommen zu antworten. Ich hatte Deinen Post heute Morgen gesehen und wollte schon immer was dazu geschrieben haben. Also Firewall-Implementationen, die ich kenne, sind sich des wechselnden Präfixes durchaus bewusst, da kannst Du häufig auch Filterregeln allein nur auf der Basis der Host-Adresse schreiben.

Also heute ist dein PC: 2a00:0202::aa:bb
Morgen ist der PC: 2a00:0302::aa:bb

Da kann man dann in der Firewall sagen, dass es eine Regel für ::aa:bb gibt, dazu brauchst Du natürlich einen statischen Hostanteil... entweder EUI64 (ohne Privacy) oder stateful DHCPv6 (ohne Pricavy).

Wobei meine Firewall kann ihre Regeln auf allen möglichen Kriterien formulieren.
Ich könnte eine Regel schreiben, dass wenn die MAC xxx aus dem VLAN 40 kommt, dann darf sie nur die und die IPv6 erreichen.
Das VLAN und die MAC würde sich ja nicht ändern. ;) Damit könntest Du das auch...
 

blurrrr

Well-known member
Brauchste dann die DUID und IAID für (soweit ich weiss), aber beschwören könnt ich es jetzt auch nicht. Ich war nie ein Freund von DHCP-Reservierungen (entweder komplett dynamisch (selten), oder halt direkt statisch (fast immer)).

Das mit dem DNS ist dann ein bisschen schade, aber wenn es Dir primär um "Deinen" Rechner geht... Ich trau mich ja kaum es zu sagen, aber... meinste nicht, dass "statisch" (fd00) irgendwie einfacher und schneller wäre?

da hier die GA verwendet wird, die ich wiederum nicht in den FW Regeln hinterlegen kann, da dynamisch
Bist Du Dir da sicher? Irgendwas in die Richtung muss es ja eigentlich geben... Ich mein, ich hätte ja mal bei mir nachgeschaut, aber...
The DHCPv6 Server can only be enabled on interfaces configured with a static IPv6 address. This system has none.
... 😇😁

<kurze Zeit später>

So.. ich hab dann jetzt mal ein neues Interface erstellt, eine ULA zugewiesen und mir dann mal den DHCP-Part auf einer pfSense angeschaut...

1643802608633.png

Weiter unten befindet sich dann auch die Möglichkeit für die gewünschten Mappings:

1643802495195.png

Vielleicht hilft es ja ☺️
 

blurrrr

Well-known member
Also Firewall-Implementationen, die ich kenne, sind sich des wechselnden Präfixes durchaus bewusst, da kannst Du häufig auch Filterregeln allein nur auf der Basis der Host-Adresse schreiben.
So hab ich mir das eigentlich auch vorgestellt, denn ansonsten könnte man das gesamte Thema dann ja aufgrund der dynamischen Präfixe überhaupt nicht mehr vernünftig angehen. Hatte da aber bisher keinerlei Berührungspunkte und bei mir kann ich Dinge auch einfach gruppieren und wende dann nur noch die Regeln auf Gruppen an, so dass ich mit den einzelnen Hosts sowieso nichts mehr an der Mütze habe (ausser sie in irgendwelche Gruppen zu stecken).
 

Barungar

Active member
The DHCPv6 Server can only be enabled on interfaces configured with a static IPv6 address. This system has none.
... 😇😁

Das ist aber eine witzige DHCPv6-Implementation. Wie gehen die denn dann bitte mit DHCPv6 IA_PD um?

Also ich kenne das bei IPv6 nur so, dass man auch eine Hierachie der DHCPv6-Server hat.
Es gibt den Master, der verwaltet z.B. 2a00:1234:4567::/48
Unterhalb davon (ob logisch oder physisch) gibt es nun weitere DHCPv6-Server, die die Subnetze bedienen.

Sagen wir Slave A und Slave B.

Slave A und Slave B holen sich jeweils mittels DHCPv6 IA_PD (dynamisch) ein Präfix beim Master.

Slave A erhält dann per IA_PD 2a00:1234:4567:00a0::/62 vom Master.
Slave B erhält dann per IA_PD 2a00:1234:4567:00a4::/62 vom Master.

Slave A versorgt nun VLAN 1 bis 2 und verteilt dort jeweils IA_NAs aus 2a00:1234:4567:00a1::/64 (VLAN 1) und 2a00:1234:4567:00a2::/64 (VLAN 2).
Slave B versorgt nun VLAN 3 bis 4 und verteilt dort jeweils IA_NAs aus 2a00:1234:4567:00a5::/64 (VLAN 3) und 2a00:1234:4567:00a6::/64 (VLAN 4).

Woher sollen Slave A und Slave B denn nun bitte eine statische IPv6 hernehmen, wenn sie zum Zeitpunkt der Konfiguration noch nicht einmal wissen, welches Präfix sie heute haben.
 

tiermutter

Well-known member
Da kann man dann in der Firewall sagen, dass es eine Regel für ::aa:bb gibt
Ok, das müsste ich mal checken. Ich weiß zumindest dass das seit der aktuellen Version wohl für Aliase geht, FW Rules teste ich demnächst mal oder lese mal nach.
Dann hätte ich natürlich kein Problem Zugriffe nach außen zu beschränken.
Das VLAN und die MAC würde sich ja nicht ändern.
Ja aber MAC wäre mir wieder zu unpersönlich. Ich sehe hier lieber eine IP die ich einwandfrei aus dem Effeff einem Gerät zuordnen kann.
meinste nicht, dass "statisch" (fd00) irgendwie einfacher und schneller wäre?
Für die DNS Geschichte... auf jeden Fall. Um die ULA komme ich wohl nicht herum... die gilt halt wieder nur für die interne Kommunikation, die GA brauche ich also trotzdem (ich baue mir ja nicht schon wieder NAT ein wenn ich es endlich loswerden kann).
o.. ich hab dann jetzt mal ein neues Interface erstellt, eine ULA zugewiesen und mir dann mal den DHCP-Part auf einer pfSense angeschaut...
Hm, ok... bei mir (OPNsense, nicht PFsense) ist als Range nur die GA angegeben, nicht die ULA.
Das ist aber eine witzige DHCPv6-Implementation.
Das ist bei OPNsense nicht der Fall. Ich habe ja eine dynamische IP und kann da durchaus den DHCP6 Server laufen lassen.

Aber wie kann ich prinzipiell, unabhängig von den Möglichkeiten der Sense, ULA aus einem definierten Adressraum verteilen und ggf. statische Mappings anlegen?
 

Barungar

Active member
Für die DNS Geschichte... auf jeden Fall. Um die ULA komme ich wohl nicht herum... die gilt halt wieder nur für die interne Kommunikation, die GA brauche ich also trotzdem (ich baue mir ja nicht schon wieder NAT ein wenn ich es endlich loswerden kann).

IPv6 wurde extra gemacht, damit NIEMAND NAT machen muss. Dafür gibt es genug Adresse und auch bei IPv4 wollte ursprünglich niemand NAT haben.
 

tiermutter

Well-known member
Schon klar... aber dann brauchen alle Geräte auch eine GA, also allein mit ULA kommt man nicht weit.
 

blurrrr

Well-known member
Aber wie kann ich prinzipiell, unabhängig von den Möglichkeiten der Sense, ULA aus einem definierten Adressraum verteilen und ggf. statische Mappings anlegen?

Keine Ahnung, aber so wie ich das sehe, ist es generell möglich:

1643804471161.png

Was mich ein wenig wundert... Du sagst, Du könntest keine ULA zuweisen, hier sieht es dann so aus:

1643804762652.png

Also aus meiner Sicht scheint es durchaus möglich, dass hier ein entsprechender Bereich angegeben werden kann :unsure:
 

tiermutter

Well-known member
aber lediglich um den internen DNS damit anzusprechen (der hatte auch "nur" eine ULA).
So habe ich das auch vor... eigentlich ist das alles, was die ULA bewirken soll.

Bei mir sieht das so aus:
1643805727472.png
Hat das Interface bei Dir denn auch eine GA? Es muss ja beides verteilt werden, also ULA und GA.
PS: Die IP des DNS ist Zufall ;)
 

blurrrr

Well-known member
Nö, hat keine GA, da ich das grade nur testweise gemacht habe (habe an dem Standort auch nur 5 statische v4-IPs), da stellt sich dann aber die Frage, ob Dein LAN-Interface eine ULA hat? Von der IP des DNS-Servers bin ich etwas enttäuscht... dachte da kommt nun eine der typischen Klamotten wie dead:beef 😜😁
 

Barungar

Active member
So ist es ja eigentlich auch vorgesehen, alles andere richtet die Firewall. Die ULAs hatte ich bei meinen damaligen Tests auch im Einsatz, aber lediglich um den internen DNS damit anzusprechen (der hatte auch "nur" eine ULA).

Genau so mache ich es auch.... alle Geräte, die mit dem Internet sprechen sollen sind in VLANs die GAs und ULAs erhalten.
Die anderen Geräte sind in VLANs die eben nur ULAs erhalten.

Interne Dinge... Drucker, SMB-Mapping, DNS, Monitoring, usw... --> ULA. Mit dem Rest der Welt spreche ich "GA".
 

blurrrr

Well-known member
Genau so mache ich es auch....

Puh... Selfcheck: Trotz "keine Ahnung" anscheinend intuitiv alles richtig gemacht 😅🤣

Allerdings muss ich schon sagen, dass ich mich - mangels Interesse/realen Einsätzen - nie großartig mit Themen wie automatischer Adressverteilung im v6-Bereich beschäftigt habe. Primär ist hier alles statisch gesetzt (also so "richtig", ohne irgendwelche "Reservierungen") - hat dann auch den Vorteil, dass einfach alles wie gewohnt funktioniert, selbst wenn die Firewall/der Router mal die Grätsche macht. Das einzige was bei mir "automatisch" verteilt wird, sind grademal die IP-Adresesen WLAN-Clients und das ist ein Thema, welches mich mal so garnicht juckt, weil ich selbst mein WLAN kaum nutze (maximal für Updates für das Handy) und da ist es mir auch relativ egal, ob man da jetzt mit v4 oder v6 unterwegs ist.


Allerdings komme ich hier ein wenig in Bedrängnis... Barungar könnte ggf. sogar älter sein als ich und ich hab mein störrisches Verhalten in Sachen IPv6 immer auf das Alter geschoben... scheint, als zieht das so langsam nicht mehr... 🙄🤪😅

ist gleich die ULA des DNS Servers
Okay.... Naja, kannst dann vermutlich nicht gleichzeitig auf 2 Hochzeiten tanzen 😝 Aber mal ernsthaft: Ich habe mal kurz Google bemüht und oftmals ist die Rede von einer virtuellen IP, allerdings stimmt dann wohl die "Reihenfolge" nicht, so dass nur der globale Bereich beim DHCPv6 zur Auswahl steht. Zumindestens stand es so bei einigen Artikeln im Netz. Vielleicht hat sich da ja mittlerweile etwas geändert......? Da müsste aber definitiv irgendwas innerhalb der pf/OPNsense-Community zu finden sein.

So als kleine Randinfo - beim DHCPv6-Vergabe-Bereich habe ich bei der OPNsense noch folgendes stehen:
When using a static LAN address, the range should be entered using the full IPv6 address. When using a delegated LAN address, only enter the suffix part (i.e. ::1:2:3:4).
(Hatte ich auf Deinem Screenshot nicht gesehen, daher einfach nur als Info-Schnipsel.)
 

Barungar

Active member
So als kleine Randinfo - beim DHCPv6-Vergabe-Bereich habe ich bei der OPNsense noch folgendes stehen:
When using a static LAN address, the range should be entered using the full IPv6 address. When using a delegated LAN address, only enter the suffix part (i.e. ::1:2:3:4).
(Hatte ich auf Deinem Screenshot nicht gesehen, daher einfach nur als Info-Schnipsel.)

Ich habe mich bisher nicht mit OPENsense befasst, weil ich eine UGS Flex Firewall im Einsatz habe. Aber das klingt, dass das die Richtung wäre, wie hierarchisches DHCPv6 dort funktionieren könnte. Das ich also nur das Suffix ("Hostadresse") festlege und das Präfix für die Schnittstelle und die DHCP-Range dynamisch per PD vom "übergeordneten" DHCPv6-Server erhalten kann.
 

tiermutter

Well-known member
Ja so ist es eingerichtet und so funktioniert es auch. Der Hinweis (Hilfe) ist auf meinem Screenshot ausgeblendet.
GA per DHCP6 mit dyn. Präfix ist ja auch nicht mein Problem, sondern die ULA.
Ich denke da wird OPNsense einfach noch nicht alle Funktionen drin haben die ich gern hätte, sofern das halt überhaupt vorgesehen ist.
Eigentlich habe ich erstmal das Wichtigste erreicht: meine Geräte können über v6 ins Internet und nehmen meinen DNS.
Bis ich wirklich mit v6 arbeite wird wohl noch viel Zeit vergehen, zu unübersichtlich ist mir das momentan wenn ein Client seine IPs durch SLAAC und DHCP6 bekommt, manche hingegen nur von SLAAC wobei manche offensichtlich nur DHCP6 annehmen.
So muss ich vorerst nur bei Gerätewechsel tätig werden sofern ich anhand der IPs irgendwas reglementiere, ob die FW Regeln allein mit dem Hostanteil funktionieren und den Präfix automatisch anwenden muss ich noch testen, aktuell habe ich dafür aber keine Anwendung...
 

the other

Well-known member
Moinsen,
so ich hänge mich einfach mal dran...
Habe mich heute (hab ja sonst nix zu tun) 🤪 auch endlich mal wieder dran gesetzt.
Was bei mir aktuell eingerichtet ist (und bisher auch funzt):
- drei Interfaces der pfsense haben IPv6 (und IPv4) aktiv
-alle drei erhalten via vorgelagerter Fritzbox ein GUA Präfix. Dazu ist das WAN Interface als DHCPv6 Client gesetzt. Die anderen Interfaces machen KEIN DHCPv6, sondern hier wird via RA die GUA verteilt mittels "Track Interface (WAN)". Ergebnis #1: alle Clients in den Segmenten haben nun a) eine lla und b) eine gua.

Weil aber theoretisch der Provider irtgendwann mal sein Präfix für die GUA ändert (kein business Tarif, daher keine feste GUA / Präfix), dann heute auch die ULAs eingerichtet:
Dafür zunächst dem jeweiligen Interface per RA ein Subnet verpasst (vorher mit einem ULA Konfigurator ein echtes zufälliges ULA Präfix gebastelt, das eben UNABHÄNGIG von dem globalen Präfix ist). Für jedes VLAN einen Präfix hinzugefügt.

Ergebnis #2: alle Clients haben nun eine lla, eine GUA und eine ULA. Letztere ist komplett unabhängig von dem durch den ISP verteilten Präfix. Alle Geräte sind erreichbar, sind pingbar (gibt es das Wort?) und auch die Namensauflösung funzt.

Dann als letzten Schritt: eine Virtual IP für die jeweiligen Interfaces der pfsense angelegt, damit sind dann auch diese per ULA erreichbar.

Die hier genutzten ULAs setzten sich somit wie folgt zusammen: der zufallsgenerierte Präfix plus Präfix ID plus dem Hostanteil (nach MAC).

Ob das alles dauerhaft zur guten Stimmung beiträgt werde ich sehen (und hier natürlich berichten)...
:)
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
586
Beiträge
8.672
Mitglieder
204
Neuestes Mitglied
sina27
Oben