pfSense: Accesspoint, portforwarding en VPN instellen

In deze derde en voorlopig laatste workshop rond pfSense duiken we nog dieper in de mogelijkheden van de software. Zaken als accesspoints, portforwarding en het instellen van een VPN komen dit keer aan bod.

Lees ook deel 1: Beveilig je netwerk met pfSense: Downloaden en installeren
Lees ook deel 2: pfSense: ip-adressen uitdelen en firewall instellen

Accesspoint instellen in pfSense

Heb je net als wij ook een draadloze netwerkadapter toegevoegd, dan stel je daarvoor DHCP en de gewenste firewallregels op dezelfde manier als hierboven in. Om die interface als accesspoint te laten fungeren, moet je nog wat configureren via het menu Interfaces / WLAN (of de naam van jouw draadloze interface). 

Hier stel je Channel in op auto of je kiest zelf een kanaal (bijvoorbeeld 11 b/g – 6). Mode stel je in op Access Point, vooropgesteld dat jouw wifi-adapter daarmee overweg kan. Geef de SSID een geschikte naam en sla je configuratie op. Als alles goed werkt, dan activeer je bij voorkeur ook de optie Enable WPA met een sterke WPA Pre-Shared Key (WPA2 met AES als het even kan). Vergeet niet je wijzigingen op te slaan.

Portforwarding en DDNS

pfSense fungeert ook als NAT-router. Handig, maar wat lastig als je niet over een DMZ beschikt en je een server draait die ook van buitenaf bereikbaar moet zijn. Dan kan portforwarding een uitweg zijn. Ga naar het menu Firewall en kies NAT / Port forward
Druk op het groene Add-knopje en voeg de gewenste regel toe. 

Stel, je hebt op een systeem binnen je netwerk een webserver draaien op poort 8000, dan maak je deze instellingen: Interface – WAN, Protocol – TCP, Destination – WAN address, Destination Port Range from Port other / 8000 To port other / 8000. Bij Redirect target IP vul je het interne IP-adres van je webserver in (bijvoorbeeld 192.168.1.101) en Redirect target Port geef je Other / 8000 mee. Nog even een geschikte beschrijving invullen en opslaan.

© PXimport

Blijft natuurlijk het probleem dat je het externe (WAN) IP-adres van je router moet kennen om van buitenaf via portforwarding bij je webserver te komen. Vooral wanneer je provider een dynamisch IP-adres toekent, is dat lastig. Gelukkig biedt pfSense dynamisch DNS. Je vindt deze functie via het menu Service / Dynamic DNS. pfSense ondersteunt een flink aantal (ook gratis) DDNS-providers. 

Het is een kwestie van de gewenste interface kiezen (in ons voorbeeld: WAN) en de accountgegevens van de DDNS-provider invullen. pfSense zorgt voor de rest en je hoeft je niet langer zorgen te maken over een wisselend IP-adres.

VPN in pfSense

Voor wie een veilige versleutelde VPN-verbinding wilt gebruiken: pfSense ondersteunt de drie bekendste VPN-protocollen: IPsec, LPT2 en OpenVPN. Wij kiezen het robuuste OpenVPN. Dat is iets lastiger te configureren, de wizard van pfSense helpt ons. Open het menu VPN / OpenVPN. Ga naar het tabblad Wizards, laat Type of server ingesteld op Local User Access en bevestig met Next. Vul de velden in om een nieuwe ‘certificate authority’ te creëren en druk op Next

Je wordt ook gevraagd een servercertificaat te creëren door een aantal (overigens vrij willekeurige) gegevens in te vullen. In het volgende venster moet je de OpenVPN-service configureren. Belangrijk zijn alvast IPv4 Tunnel Network en Local Network. Voor het eerste kies je een netwerk dat je nog nergens gebruikt, bijvoorbeeld 10.0.0.0/24. Voor het lokale netwerk verwijs je naar de LAN-interface (standaard is dat 192.168.1.0/24). 

© PXimport

Wil je dat alle verkeer via de VPN-tunnel gaat zodra een gebruiker connectie heeft gemaakt met je VPN-server, plaats in de rubriek Redirect Gateway dan een vinkje bij Force all client generated traffic through the tunnel. Tenzij je specifieke redenen hebt, laat je Interface, Protocol en Local Port ingesteld op de standaardwaarden, respectievelijk WAN, UDP en 1194. 

In het volgende venster geef je je toestemming om de nodige firewallregels automatisch voor je aan te maken, waarna je de wizard kunt voltooien. Wanneer je de firewallregels checkt, zul je merken dat de OpenVPN-wizard inderdaad regels heeft toegevoegd, zowel op het tabblad WAN als op het tabblad OpenVN.

Bij aanvang van de wizard heb je dus gekozen voor Local User Access. Dat houdt wel in dat je nog gebruikers moet creëren die via de VPN mogen verbinden. Dat doe je via het menu System / User Manager. Druk op het knopje Add, vul een naam en wachtwoord in en plaats een vinkje bij Click to create a user certificate, waarna je naar de gewenste CA verwijst. Vul dezelfde gebruikersnaam in bij Descriptive name en bevestig met Save. De gebruiker is toegevoegd.

Pakketten toevoegen

Nu moet je nog de nodige configuratiebestanden voor de VPN-connectie aan de gebruikers bezorgen. Dat gaat het makkelijkste via het OpenVPN Client Export Package, dat je de configuratie voor diverse platformen (iOS, Android, Windows, macOS) laat exporteren. We laten gelijk zien hoe eenvoudig je een externe module in pfSense geïnstalleerd krijgt.

Open het menu System en kies Package Manager. Ga naar het tabblad Available packages en zoek naar OpenVPN Export Client Package. Klik achtereenvolgens op Install en Confirm. Even later is de module beschikbaar in het menu VPN / OpenVPN, op het tabblad Client Export. Selecteer de juiste Remote Access Server (de andere opties staan normaliter goed) en scrol naar beneden. 

© PXimport

Hier vind je per gebruiker namelijk de nodige exportpakketten, die ze vervolgens in hun eigen VPN-clients kunnen importeren zodat ze een verbinding met jouw OpenVPN-server kunnen maken. Overigens nog een aantal pakketten om te overwegen: AutoConfigBackup (spreekt voor zich), Freeradius 2 (een gratis implementatie van het RADIUS-protocol), Nmap (om veiligheid van netwerk te testen) en Squid (populaire webproxy).

Captive Portal instellen

Een functie we tot slot nog willen noemen is de ‘captive portal’, die erg nuttig kan zijn wanneer je (of jouw vereniging?) geregeld gasten over de vloer krijgt. Zo’n captive portal is een webpagina die een gebruiker automatisch te zien krijgt zodra hij het internet op wil. Op zo’n pagina kun je bijvoorbeeld huisregels kwijt, maar je kunt die ook als een inlogpagina inrichten: alleen wie zich correct aanmeldt, krijgt internettoegang.

In een notendop zet je een captive portal als volgt op: ga in pfSense naar Services / Captive Portal. Druk op het knopje Add en plaats een vinkje bij Enable Captive Portal. Kies de interface waarvoor je die functie wilt activeren, bijvoorbeeld je WLAN-interface. Vul de gewenste opties in, zoal het maximum aantal gelijktijdige verbindingen of de Idle timeout (in minuten).

© PXimport

Eventueel stel je ook de Authentication method in, dat kan bijvoorbeeld Local User Manager zijn. Plaats je hier tevens een vinkje bij Allow only users/groups with Captive portal login privilege set, dan krijgen alleen de gebruikers toegang die je dat privilege (via System / User Manager) hebt toegekend. Onderaan de configuratiepagina kun je zelf de gewenste HTML-pagina uploaden die de gebruikers te zien krijgen.

Tekst: Toon van Daele

Deel dit artikel
Voeg toe aan favorieten