VLAN opzetten en configureren met pfSense

Wil je een afgezonderd netwerk voor gasten, een stabiel netwerk voor telefonie of een afgeschermd netwerk voor IoT-apparaten? Met virtual lan’s kun je flexibel zulke logische scheidingen aanbrengen in een bestaand netwerk. Een vlan opzetten met de gratis software pfSense werkt als volgt.

Voor dit artikel gebruiken we een oude pc met losse Intel-netwerkadapter met vier poorten (we noemen dit de ‘server’) en een voordelige managed switch met acht poorten, de TP-Link TL-SG108E (ongeveer 40 euro). We gebruiken een poort op de server voor wan (internet), een tweede voor het lokale netwerk (lan) en een derde voor de vlan’s. In de praktijk kun je ook met twee poorten uit de voeten, maar drie is praktischer.

Je kunt ook oefenen zonder losse switch door je pc rechtstreeks met de server te verbinden, maar dan moet je een manier vinden om de vlan-tag in de netwerkadapter van je pc in te stellen.

We sluiten voor deze workshop een pc voor de configuratie van zowel de switch als de pfSense-server aan op switchpoort 1. De lan-poort van de server verbinden we met poort 7. De switch is standaard vrij ‘dom’ ingesteld: alle poorten behoren tot het standaard vlan (met tag 1) en zijn ook lid van dat vlan.

Over pfSense installeren lees je hier. Een tip: zet met een programma als Rufus de laatste stabiele versie van de Community Edition (in deze masterclass gebruiken we versie 2.4.4) op een usb-stick en gebruik die als installatiemedium.

Subnetten en subnetmaskers

Heb je pfSense geïnstalleerd, dan stel je via de console alleen de netwerkinterfaces voor wan en lan in. Dat is om te beginnen het ip-adres voor de wan-poort, afhankelijk van het achterliggende netwerk. Wij gebruiken een /29-subnet van onze internetprovider die we ook in de thuisrouter (een Fritz!Box) hebben ingesteld.

Zo’n subnet geeft acht publieke ip-adressen waarvan je er vijf als statisch ip-adres kunt toekennen aan apparaten in je netwerk, wel zo handig! We gebruiken er één voor pfSense. Je kunt pfSense overigens, zeker voor testdoeleinden, ook zonder zo’n subnet gebruiken achter je thuisrouter. Dat heet ook wel ‘dubbel NAT’. De thuisrouter past zelf namelijk al NAT (Network Address Translation) toe en pfSense doet dat ook voor zijn lokale netwerk(en). Controleer na het instellen van de wan-poort via de console met optie 7 (ping host) dat ip-adres 8.8.8.8 en host google.com bereikbaar zijn!

VLAN opzetten

© PXimport

In deze masterclass kiezen we als eerste netwerk 10.0.1.0/24 waarvoor we in pfSense zodoende 10.0.1.1/24 als ipv4-adres moeten instellen. Die 10.0.1.1 is dan ook het ip-adres waar je de webinterface vindt en tevens de gateway voor apparaten in dat netwerk. Stel ook een dhcp-server in zodra hierom wordt gevraagd met een beginadres (bijvoorbeeld 10.0.1.100) en een eindadres (zoals 10.0.1.200). Aan de aangesloten netwerkapparaten die daarom vragen, wordt dan automatisch een ip-adres in dat bereik toegekend. De andere ip-adressen kun je zelf voor vaste ip-adressen gebruiken.

Voor je lokale netwerk gebruik je uiteraard ip-adressen die niet op internet kunnen bestaan. Hiervoor zijn de zogenaamde privé ip-reeksen bedoeld. Het is niet verplicht, maar wel handig om bij de keuze voor ip-reeksen de nummering van je vlan’s te volgen. Kies bijvoorbeeld de ip-reeksen 192.168.2.x en 192.168.5.x voor de vlan’s 2 en 5. Of 192.168.50.x en 192.168.60.x voor vlan 50 en 60.

We gaan in deze masterclass uit van subnetmasker van 255.255.255.0. Met zo’n subnetmasker geef je aan met welk deel van het ip-adres het netwerk wordt aangewezen. Bij 255.255.255.0 zijn dat precies de eerste drie getallen, die dus ook voor elk ip-adres in dat netwerk hetzelfde zijn. Het vierde getal (2 t/m 254) gebruik je dan voor aangesloten apparaten, de waardes 0, 1 en 255 zijn gereserveerd.

In deze masterclass gebruiken we vaak de verkorte CIDR-notatie (Classless Inter-Domain Routing) voor ip-reeksen. Dat is /24 bij het subnetmasker 255.255.255.0. Een netwerk als 192.168.2.x met subnetmasker 255.255.255.0 kun je dan ook opschrijven als 192.168.2.0/24.

Toegang tot switch

Een managed switch heeft een eigen ip-adres. Via dat ip-adres vind je ook de webinterface voor het beheer van de switch. In de fabriek is dat voor deze switch (v3 en ouder) ingesteld op 192.168.0.1. We veranderen dat eerst naar dhcp door tijdelijk een pc aan te sluiten en de pc een ip-adres in datzelfde ip-bereik te geven (bijvoorbeeld 192.168.0.10 met subnetmasker 255.255.255.0). Je logt dan met de pc in op de webinterface van de switch op 192.168.0.1 met gebruikersnaam en wachtwoord admin.

Kies vervolgens via System / IP Setting bij DHCP Setting voor Enable. De pc stellen we daarna voor het gemak ook in op dhcp. De switch én pc zullen een ip-adres van onze server krijgen, aan het begin van het dhcp-bereik, in principe 10.0.1.100 en 10.0.1.101 (en waarschijnlijk ook in die volgorde!). Na wijzigingen in de instellingen van de switch moet je niet vergeten Save Config te kiezen. En je verandert de eerste keer natuurlijk ook het standaard wachtwoord.

VLAN opzetten

© PXimport

pfSense configureren

We gaan nu de vlan’s maken in pfSense. De webinterface van pfSense staat als het goed is al voor je klaar via http://10.0.1.1. Log in met gebruikersnaam admin en wachtwoord pfsense. Er opent een wizard voor de eerste configuratie. Vul hier een Primary DNS Server (bijvoorbeeld 8.8.8.8 voor Google DNS) en Secondary DNS Server (8.8.4.4) in. Zet het vinkje bij Override DNS uit. In het volgende scherm vul je de correcte tijdzone in (Europe/Amsterdam).

De configuratie van de wan-poort is al gedaan en kun je eventueel nog aanpassen of aanvullen. Het vinkje bij Block private networks from entering via WAN kun je weghalen als je pfSense in de privé ip-reeks van je thuisrouter gebruikt. Doorloop de overige instellingen, onder andere voor de lan-poort en klik ten slotte op Reload om de nieuwe configuratie te laden.

Netwerkpoorten voor vlan's

Voor deze masterclass maken we als voorbeeld de vlan’s 20 (met naam DMZ) als niet-vertrouwd netwerk met subnet 10.0.20.0/24 en vlan 30 (met naam Zakelijk) als vertrouwd netwerk met het subnet 10.0.30.0/24. Ook willen we dat voor iedere vlan een dhcp-server correcte ip-adressen uitdeelt. Het is het veiligst om vlan’s te maken op een interface die je (nog) niet in gebruik hebt. Met een interface wordt een fysieke netwerkpoort bedoeld. Onder Interface / Assisgnments zie je welke gebruikt of beschikbaar zijn.

In ons geval zijn de poorten igb0 (wan) en igb1 (lan) gebruikt en we gaan igb2 op diezelfde netwerkadapter gebruiken voor de vlan’s. De poort ale0 is overigens de netwerkpoort op het moederbord, die laten we ongemoeid. Als je geen vrije netwerkpoorten hebt, zou je de vlan’s ook op de lan-interface kunnen instellen, maar zorg dan dat je jezelf niet buitensluit. Eventueel kun je de toegang tot pfSense tijdelijk open zetten vanaf de wan-poort.

Vlan's instellen

We definiëren eerst de vlan’s. Ga daarvoor naar Interfaces / Assignments en kies het tabje VLANs. Klik op Add. Bij Parent Interface selecteer je de lan-poort (in ons geval de nog ongebruikte igb2). Vul achter VLAN Tag de waarde 20 in met als omschrijving DMZ. Herhaal dit voor het tweede vlan met nu bij VLAN Tag de waarde 30 en als omschrijving Zakelijk.

Ga daarna naar Interface Assignments, kies achter Available network ports de optie VLAN 20 on igb 2 en klik op Add. Herhaal dit voor VLAN 30 on igb 2. Ze worden toegevoegd als OPT1 en OPT2, in de volgende paragraaf configureren we die aanduidingen verder. Desgewenst kun je de namen OPT1 en OPT2 wijzigen naar bijvoorbeeld VL20_DMZ en VL30_ZAKELIJK.

VLAN opzetten

© PXimport

We gaan nu de vlan’s OPT1 en OPT2 instellen. Klik eerst op OPT1 en vink de optie Enable aan. Bij IPv4 Configuration Type kies je Static IPv4. Vul daarnaast het ip-adres in (10.0.20.1), dat wordt de gateway voor aangesloten apparaten, en zorg dat daarnaast het juiste subnet (/24) is geselecteerd. Klik op Save. Doe hetzelfde voor OPT2, maar nu met ip-adres 10.0.30.1. Klik weer op Save en dan Apply Changes.

We gaan ook meteen een dhcp-server instellen voor beide vlan’s. Ga daarvoor naar Services / DHCP Server en dan het tabje OPT1. Zet een vinkje bij Enable en vul bij Range bijvoorbeeld 10.0.20.100 - 10.0.20.200 in. Klik op Save. Herhaal de stappen voor OPT2 met de reeks 10.0.30.100 - 10.0.30-200.

Firewalls instellen

Er zijn nog firewallregels nodig voor beide vlan’s. Als je dat nalaat, zal al het verkeer automatisch worden geblokkeerd, wat de juiste werking natuurlijk in de weg zet. Ga hiervoor naar Firewall / Rules en kies OPT1. Deze regels moeten in de volgorde staan waarin we ze hier benoemen, in die volgorde worden ze namelijk beoordeeld. We beginnen met het blokkeren van het verkeer naar het tweede vlan.

Klik op Add, kies bij Action voor Block, bij Protocol voor Any en bij Source selecteer je OPT1 net. Bij Destination selecteer je OPT 2 net, dat we hiermee blokkeren. Klik op Save. Maak een tweede regel waarin je al het andere verkeer toestaat, in feite verkeer binnen dat netwerk en naar internet. Kies daarvoor bij Action voor Pass, bij Protocol weer voor Any, bij Source weer OPT1 net en bij Destination kies je nu Any. Druk op Save en daarna Apply Changes om ze actief te maken.

VLAN opzetten

© PXimport

Switch instellen voor vlan

We gaan de switch nu gereed maken voor de vlan’s. Tijdens de configuratie houden we de pc nog even op poort 1 en de switch op poort 8. We gaan poort 2 en 3 van de switch gebruiken voor vlan 20, en poort 4 en 5 voor vlan 30. Als zogenoemde trunk-poort, de aansluiting met pfSense, kiezen we poort 8. Hierop moeten zowel vlan 20 als 30 binnenkomen.

Klik in de webinterface van de switch het menu VLAN open en ga naar 802.1Q VLAN. Zet dat aan met Enable gevolgd door Apply. Bij VLAN ID vul je 20 in en bij VLAN Name een herkenbare naam zoals DMZ. Bij Port 2 en 3 selecteer je Untagged, dat worden de ‘toegangspoorten’ voor bijvoorbeeld pc’s en laptops die niet met vlan’s overweg kunnen.

Bij Port 8 voor de server met pfSense selecteer je Tagged. Voor alle andere poorten kies je Not Member. Klik daarna op de knop Add/Modify. Hierna stel je vlan 30 in. Nu uiteraard met 30 als VLAN ID en als naam bijvoorbeeld Zakelijk. Voor Port 4 en 5 vul je Untagged in, bij Port 8 weer Tagged en de andere poorten Not Member. Daaronder zie je een overzicht van de instellingen. Vergeet niet om als laatste weer Save Config te kiezen.

Er rest nog één belangrijke instelling: de PVID. Hiermee stel je in welke tag er wordt toegewezen aan inkomend untagged (ongetagd) verkeer op een bepaalde poort. Dat is belangrijk omdat juist hiermee het (ongetagde) verkeer van bijvoorbeeld pc’s in het juiste netwerk wordt ingedeeld.

Hiervoor klik je weer het menu VLAN open en ga je naar 802.1Q PVID Setting. Vul bij PVID de waarde 20 in voor vlan 20 en zet een vinkje bij Port 2 en 3. Klik dan op Apply. Daarna vul je bij PVID de waarde 30 in en vink je Port 4 en 5 aan. Klik op Apply. Nu ben je klaar om je netwerk te testen.

VLAN opzetten

© PXimport

Vlan testen

Nu komt de laatste stap: het testen van het netwerk. We sluiten een kabel aan van poort 3 op de server met pfSense naar poort 8 op de switch. Die derde netwerkpoort is immers de interface waarop de vlan’s zijn geconfigureerd. En poort 8 op de switch handelt het getagde verkeer voor vlan 20 en 30 af. We verhuizen de pc van poort 1 naar poort 2 of 3. Nu zul je zien dat de pc een ip-adres krijgt in het dhcp-bereik van vlan 20, namelijk 10.0.20.100 of hoger.

Sluit je de pc echter aan op poort 4 of 5, dan wordt deze in vlan 30 ingedeeld met een ip-adres vanaf 10.0.30.100. In Windows kun je met via de Opdrachtprompt en het commando ipconfig het ip-adres inzien, eventueel met meer details via het commando ipconfig /all, en ook vernieuwen met ipconfig /renew.

De echte meerwaarde van de hele opstelling is uiteindelijk dat je in pfSense dankzij de uitgebreide firewall nauwgezet toegangsregels kunt beheren. Ook kun je met vpn’s aan de slag en pfSense op talloze manieren verder uitbreiden.

Deel dit artikel
Voeg toe aan favorieten