Samstag, 6. Februar 2021

Fiber7 Access mit pfSense

Fiber7 Access mit pfSense

Worum geht es?

In diesem Beitrag wird die Konfiguration eines Fiber7 Anschlusses von init7 auf der pfSense besprochen. Und zwar eine mögliche WAN wie auch LAN Konfiguration speziell in Bezug auf IPv6. Die IPv4 Konfiguration wird daher nicht näher erwähnt.
Die Konfiguration geht von einem Fiber7 Anschluss aus. Also DHCP für IPv4 und DHCP6 PD bei IPv6 und ist nicht auf Hybrid7 oder Crossover7 Anschlüsse anzuwenden.
In diesem Beispiel hat der Access eine dynamische /32 IPv4 und einen statischen /48 Präfix. Die Konfiguration kann aber angepasst sowohl auch für statische IPv4 Subnetze als auch dynamische /48 Präfixe genutzt werden, da auf jeden Fall DHCP oder DHCP6 PD verwendet wird.
Der genutzte Software Stand bei pfSense ist zum Zeitpunkt des Beitrages 2.5.0-DEV.
(Die TV7 mcst Konfiguration ist noch nicht Bestandteil dieses Beitrages, funktioniert aber natürlich auch nicht pfSense)



WAN 

Die WAN Konfiguration ist denkbar einfach. Kein VLAN, keine speziellen Options nichts.
Daher im Bereich General Configuration.
IPv4 Configuration Type: DHCP
IPv6 Configuration Type: DHCP6
MTU: 1500

WAN General Configuration




Bei Fiber7 bekommt man wie schon angesprochen einen dynamischen oder statischen IPv6 /48 Prefix.
Bei der Bestellung erhält man von init7 ein Datenblatt mit dem relevanten Prefix. Wünscht man zusätzlich rDNS Delegation kann man init7 mind einen Nameserver angeben. Auf das gehen wir hier aber nicht ein.

pfSense muss daher DHCP6 Client Configuration noch die Prefix Grösse angegeben werden.
Request only an IPv6 prefix: Aktivieren
DHCPv6 Prefix Delegation size: Auf 48 setzen

DHCP6 Client Configuration


Bei den Reserved Networks kann man block Private Networks wie auch Bogon networks aktiv lassen.

Das war es auf Seite WAN auch schon. Supereasy. 
Das WAN Interface wird nun wie SLAAC übrigens eine IPV6 beziehen die nicht im zugewiesenen Prefix liegt. Das Gateway wird zudem eine link lokale IP (fe80::) sein. Das ist beides absolut normal und kein Grund zur Sorge. Weiter geht es mit dem LAN.

LAN

Beim LAN beschreibe ich bezüglich IPv6 2 mögliche Konfigurationen. Einerseits die statische Konfiguration, andererseits die Konfiguration mit dem Interface Track.
Hat man keinen statischen IPv6 Prefix von init7 ist zwingend die Track Interface Konfiguration zu verwenden. Bei einem statischen Prefix ist beides möglich.

Statische Konfiguration

General Configuration
IPv4 Configuration Type: Static IPv4
IPv6 Configuration Type: Static IPv6

LAN General Configuration


Static IPv4 Configuration
IPv4 address: Hier gibt man eine IP aus den privaten Subnetzen an. Als Beispiel hier 192.168.50.1/24
Static IPv6 Configuration:
IPv6 address: Mit einem /48 Prefix sind die vorgegeben. Eine IPv6 Adresse besteht aus 128 Bit. Pro Ziffer sind das 4 Bit dargestellt mit einer hexadezimalen Zahl (daher 0 bis f möglich). Jeweils 4 Bits werden zu einer Gruppe zusammengeführt. Somit sind 8 dieser 4er Gruppen möglich.
Wenn man also seinen /48 Prefix durch 4 teilt kommt man auf 12 Stellen. Sprich die ersten 12 Stellen bzw. 3 4er Gruppen des IPv6 Netzes sind schon mal vorgegeben. Da spricht man vom Network Prefix.


Einem LAN Netzwerk teilt man aber idR. einen /64 Prefix zu. Das ist das kleinstmögliche Netz bei dem die Autokonfiguration noch funktioniert.
Ein /64 Prefix bedeutet wieder, dass wenn man ihn durch 4 teilt, man 16 Ziffer erhält, bzw 4 4er Gruppen. Die Differenz zwischen einem /48 Prefix und einem /64 Prefix sind also 4 Ziffern oder eine 4er Gruppe. Der sogenannte Subnet Prefix. Lange Rede, kurzer Sinn, diesen müssen wir hier also definieren. Da wir 4 hexadezimale Ziffern zur Verfügung haben können wir alles zwischen 0 und ffff verwenden. 

Bei einer statischen IPv6 Konfiguration nimmt man also seinen /48 Prefix und setzt den Subnet Prefix daran und bildet ein /64 Netz. Zur Veranschaulichung ein Bild vom Elektronik Kompendium wo es auf weiterführende Infos dazu gibt.




Beispiel: 2a02:168:79ef:7777::1/64
2a02:168:79ef: ist der Network Prefix, 7777: der Subnet Prefix, die :1 erste IPv6 aus diesem Netz /64 die Prefix Grösse die wir bilden möchten.




LAN Static Configuration


So das war jetzt eventuell etwas komplizierter falls man das noch nie gemacht hat. Es gibt auch noch die einfachere Track Interface Konfiguration. Trotzdem sollte man verstanden haben worum es eigentlich geht.

Alternative Track Interface Konfiguration

General Configuration
IPv4 Configuration Type: diesen belassen wir auf Static IPv4
IPv6 Configuration Type: Diesen setzt man nun auf Track Interface



Track IPv6 Interface
IPv6 Interface: Das WAN Interface auswählen
IPv6 Prefix ID: Wie bei der statischen Konfiguration erklärt, hat man 4 Ziffern zur Verfügung um aus einem /48 Prefix ein /64 Netz gebildet werden kann. Daher auch der Hinweis von pfSense das man einen Wert von 0 bis ffff verwenden kann. Um das gleiche Netz wie bei der statischen Bespielkonfiguration zu erhalten, würde man hier also 7777 einsetzen.



So fast geschafft. Keine grosse Hexerei hat man das Prinzip mal verstanden. Bei meinem Wechsel von Swisscom inOne KMU auf Fiber7 musste ich also mehr oder weniger nur die Präfixe anpassen. Hätte ich die Track Interface Konfiguration angewendet, wäre nicht mal das nötig gewesen. Ein Sache von keinen 10 Minuten bei 7 Interfaces.

Konfigurieren wir aber im nächsten Schritt noch die IPv6 Adressverteilung im LAN.

DHCPv6 Server & RA

Unter Services findet man die Konfiguration des DHCPv6 & RA.
Grundsätzlich reicht es wenn man da unter Router Advertisements den Router Modus auf Unmanaged setzt und das aktiviert. Hier beschreibe ich aber den Assisted Modus. Vorteil ist neben der Autokonfiguration die bei allen Client weiterhin funktioniert, die statische IP Zuweisung von allfälligen Servern.

Im Reiter Router Advertisements würde man also folgendes konfigurieren.
Router Mode: Assisted - RA flags
Router Priority: kann man auf normal belassen

Im Reiter DHCPv6 Server:
DHCPv6 Server: aktivieren
Danach ist das Subnet, Subnetmaske und der verfügbare Range bereits durch das Interface vorgegeben.
Range: Diesen muss man nun noch setzen. Da man nicht von vielen statischen IP's ausgeht, kann man hier einen kleinen Bereich von zB 1000 Adressen definieren ;) 
Analog zum Beispiel also 2a02:168:79ef:7777::1000 bis 2a02:168:79ef:7777::2000

Somit kann man in diesem Reiter unter DHCPv6 Static Mappings for this Interface eben statische Mappings zB für NAS, Server oder Drucker definieren.

LAN Router Advertisements

Firewall Regeln

Kommen wir nun noch zum letzten Punkt was den Access angeht. Die Firewall Regeln, klar da wir hier ja pfSense verwenden.

Für das LAN braucht es Regeln die ausgehenden Traffic auch für IPv6 erlauben. Per default ist Outbound sowohl für IPv4 als auch IPv6 erlaubt. Trotzdem nochmals prüfen ob das so ist und allenfalls das Ruleset bei limitierendem Outbound entsprechend anpassen.
Mit dieser Regel ist alles erlaubt.

Default Outbound Rule

Bei IPv6 Traffic macht es besonders Sinn nicht alle ICMP Meldungen zu verwerfen. Daher noch mein Tipp eine entsprechende WAN Regel zu erstellen.

Eine Regel die auf WAN Anfragen IPv6 ICMP mit den ICMP Subtypes zulässt: echoreg, echoreq, paramprob, timex, toobig und unreach.




So das wäre eigentlich schon mal alles für eine grundlegende Konfiguration. Sollten die Interfaces, besonders bei der Track Interface Konfiguration nicht funktionieren, so hilft ein Reboot sofern alles korrekt abläuft.


Habt ihr Fragen oder Anregungen, andere Beispiele? Lasst es mich in den Kommentaren wissen.


Solltest du Interesse an einem init7 Anschluss haben. So kannst du gerne meinen Empfehlungscode verwenden. Du bekommst dafür die Hardware um 111 CHF günstiger, ich dafür einen Rabatt von 111 CHF auf die nächste Jahresrechnung. :) Top. Mein Code lautet: 957 356 273 81

(Der Beitrag wurde ohne technische oder finanzielle Unterstützung durch init7 erstellt)