IPv4 en IPv6-instellingen voor Freedom glasvezel op een pfSense router

Er zijn enkele topics over het instellen van een pfSense router en problemen waar mensen tegen aanlopen. Ikzelf ben vele uren bezig geweest, met hulp van de Freedom helpdesk en ook andere netwerkspecialisten om het bij mij werkend te krijgen. Mijn idee is daarom om met dit topic een end all be all overzicht te geven van de instellingen die - bij mij althans - volledig werken.

Router: Netgate 7100, uitgebreid met een Intel 2x 10Gb/s (RJ45) netwerkkaart.
OS: pfSense+ 23.01 (FreeBSD 14.0)

Zorg vooraf dat je bij System / General zowel IPv4 als IPv6 DNS servers hebt ingesteld. Ikzelf gebruik die van Cloudflare, maar je kunt hier ook die van Freedom invullen natuurlijk.

Bij mij is de fiber endpoint via UTP aangesloten op een 10Gbit/s Intel kaart aangesloten: ix1. De interface van deze poort heeft de volgende instellingen:
Enable interface: check
IPv4 Configuration type: none
IPv6 Configuration type: none
MTU: 1512 (IP willen we op een MTU van 1500, daar gaat nog VLAN en PPPoE omheen, dus +4 en +8.)
MSS: Leeg
Reserved networks:
Block private networks and loopback addresses: Uncheck
Block bogon networks: Uncheck

Onder Interfaces / VLANs voeg ik een VLAN toe op bovenstaande interface: ix1.6. De instellingen zijn:
Parent interface: ix1 (kies de interface die past in jouw situatie)
VLAN Tag: 6
VLAN Priority: [default]
Description: WAN

Onder Interfaces / Assigments kun je nu de ix1.6 (WAN) vinden en activeren. Doe dit en stel deze vervolgens als volgt in:
Enable interface: check
Description: Freedom
IPv4 Configuration type: PPPoE
IPv6 Configuration type: DHCP6
MTU: 1500
MSS: Leeg

DHCP6 Client configuration
Use IPv4 connectivity as parent interface: check
Request only an IPv6 prefix: check
DHCPv6 Prefix Delegation size: 48
Send IPv6 prefix hint: check
Do not wait for a RA: uncheck

PPPoE Configuration:
Username: fake@freedom.nl
Password: 1234
Service name: Freedom Internet
Dial on demand: uncheck
Idle timeout: [leeg]
Periodic reset: Disabled

Reserved networks:
Block private networks and loopback addresses: Check
Block bogon networks: Check

Onder Interfaces / PPPs vind je na het opslaan de PPPoE settings die je net hebt ingevuld. Ga naar de instellingen hiervan en zoek onder Advanced naar de Link Parameters (ix1.6). Stel daar de MTU in op 1508 en sla het op.

Met deze instellingen - en mogelijk een reboot - zou WAN moeten gaan werken.

Ikzelf heb een hele bups VLANs intern. Die krijgen elk hun eigen blokje van het IPv6-adres dat is toegewezen. Ik zal hieronder de instellingen geven die ik heb gebruikt in mijn VLANs.

Onder de interfaces vind je ook een LAN interface. Open die en stel deze als volgt in:
Enable: Check
IPv4 Configuration type: Static IPv4
IPv6 Configuration type: Track Interface
MAC address: 00:08:a2:xx:xx:xx (Als je wil dat je Windows PCs niet na elke router reboot een ‘nieuw’ netwerk vinden. Stel dan hier een fixed mac-address in. Het is verder niet verplicht om dit te doen.)

Static IPv4 Configuration
IPv4 Address: 192.168.10.1/24
IPv4 Upstream gateway: None

Track IPv6 Interface
IPv6 Interface: Freedom
IPv6 Prefix ID: 10

Reserved networks:
Block private networks and loopback addresses: Uncheck
Block bogon networks: Uncheck

Hierboven zie je dat ik een prefix ID van 10 heb opgegeven. Dit betekent dat dit subnet IPv6 adressen zal huisvesten in de 2a10:x:x:10:: reeks. Ik hou voor mijn overzicht deze prefix gelijk aan de ‘10’ in mijn 192.168.10.0/24 IPv4-subnet. Mijn andere VLANs krijgen 192.168.20.1/24 en IPv6-prefix 20, etcetera.

Nu moeten de DHCP-servers nog worden ingesteld en ook RA (Router-advertisement voor IPv6):

Ga naar Services / DHCP Server en selecteer daar de betreffende LAN-interface. Zet de DHCP-server aan en stel eventueel wat fixed IPv4-adressen in voor belangrijke apparaten.

Ga naar Services / DHCPv6 Server & RA en selecteer ook daar de betreffende LAN-interface. Kies het table DHCPv6 Server en stel daar het volgende in:
DHCPv6 Server: Check
Range: From ::0000:0000:0000:0000 To ::0000:0000:0000:0099 (Dit kun je zo groot maken als je wil, maar als je in elk geval de eerste 3 blokken op 0000 houdt, dan blijven je IP-adressen relatief kort. Wel prettig voor de leesbaarheid.)
Prefix Delegation Range: From 2a10:xxxx:xxxx:10:: To 2a10:xxxx:xxxx:10:: (Gebruik hier het subnet/IP adres dat je van Freedom hebt gekregen INCLUSIEF de ingestelde prefix; in mijn geval 10.)
Prefix Delegation Size: 64
DNS: [Leeg]
Provide DNS servers to DHCPv6 clients: Check

Sla dit op en ga naar het tabblad Router Advertisements; stel daar het volgende in:
Router mode: Managed
Router priority: High
Subnets: 2a10:xxxx:xxxx:10::/64
Provide DNS configuration via radvd: Check
Use same settings as DHCPv6 server: Check

Sla ook dit op.

Herstart de Router en alles zou nu moeten gaan werken.

Het kan zijn dat de IPv6 adressen niet werken. Dit zou verholpen moeten worden als je bij de WAN-interface even de boel opnieuw opslaat waardoor PPPoE opnieuw wordt opgezet.
Als dit het geval is, download dan een backup van de config en open die met jouw favoriete text editor.
Zoek in de XML naar de sluit-tag van </system>.
Maak een nieuwe regel boven deze sluit-tag: <shellcmd>/usr/local/sbin/pfSctl -c 'interface reload wan'</shellcmd>
Sla dit op en zet de back-up vervolgens terug in de Router. De volgende keer zal de router na het booten de PPPoE-verbinding nog eens opnieuw starten waarna je LAN-gateways netjes hun IPv6-reeksen krijgen toegewezen.

De WAN interface krijgt een link-local adres, houd daar rekening mee, dit is normaal. De LAN-interface moet wel een werkend publiek IPv6-adres krijgen in de 2a10:xxxx:xxxx:10::-reeks.

Als je firewall aan/dicht staat (ik ga ervan uit en hoop dit ook van harte) dan zal je zien dat lokale clients geen IPv6-adressen krijgen. Om dit te laten werken zal voor ieder subnet de volgende regel moeten worden aangemaakt:
Protocol Source Port Destination Port Gateway Queue Description
IPv6 UDP LAN net * LAN address 53 (DNS) * none IPv6 DNS

Als de lokale clients eenmaal hun IPv6-adressen krijgen kun je overwegen om ook die een fixed IP te geven. Ikzelf heb met mijn OCD ingesteld dat de belangrijkste apparaten in huis zo IPv6 adressen krijgen die lijken op hun IPv4 broertjes.
Voorbeeld:
Macbook IPv4: 192.168.10.105
Macbook IPv6: 2a10:xxxx:xxxx:10::105

Vind ik fijn. :slight_smile:

Nou, succes!

5 likes

@RichardH bedankt voor je uitgebreide uitleg en beschrijving. Ik gebruik zelf OPNsense, maar ik ga mijn config nog eens naast jouw uitleg zetten om te kijken of ik nog iets kan verbeteren / aanpassen.

3 likes

Op dit forum is de pfSense al eerder ter sprake gekomen:
Freedom glasvezel - eigen PFsense server instructies
Lijkt dat er op of zijn er afwijkingen. Die is al wat ouder.

m.i. is de MTU voor de buitenkant 1508 (VLAN6 en ix interface). De VLAN tag is er door de Adapter / OS al van gestripped. MTU is de lengte die voor applicaties beschikbaar is. (Of FreeBSD heeft een eigen definitie van MTU).
VLAN tag wordt als onderdeel van de Ethernet Headers (20 / 24 bytes) gezien, die zitten ook niet niet de 1500 bytes.

Allereerst dank voor je archivering. Zeer waardevol! Ik ben aan het bekijken om een netgate router in mijn netwerk te zetten. Ik heb TV van freedom en ik zie dat daar nog wel eens problemen mee zijn als je pfsense gebruikt. Kun je vertellen of TV werkt met deze instellingen?

Ik gebruik geen TV van Freedom, ik durf het dus niet te zeggen.

OK, bedankt voor het snelle antwoord :slightly_smiling_face:

Ik vond hier een hele mooie stap voor stap uitleg voor Opnsense (pfsense zal iets anders kunnen zijn) waarbij je RFC4638 en MTU 1500 benut: https://forum.opnsense.org/index.php?topic=21207.0 zie ook de andere thread hier op freedom forum: https://community.freedom.nl/t/freedom-glasvezel-eigen-pfsense-server-instructies/2174