Een pfSense-firewall is een goede en goedkope oplossing om je netwerk te beveiligen. Een van de tools die je hiervoor kunt gebruiken, is om via port forwarding verkeer naar een specifieke port van een VPS via je pfSense-firewall te laten lopen. Hoe dat werkt, laten we je in deze handleiding zien. Hoe je al het verkeer van je VPS'en via een pfSense-firewall kunt laten lopen met behulp van een VPN-verbinding leggen we hier uit.
TL;DR: route specifiek verkeer van je VPS'en door je pfSense-firewall door in pfSense onder 'NAT' port forwarding rules te configureren en op de VPS'en op je private network het publieke IP van de pfSense-firewall als default gateway in te stellen.
- Voor de stappen in deze handleiding is minimaal nodig: één X1-VPS met pfSense, een tweede VPS, en een private network waar beide onderdeel van zijn.
- We gaan er voor deze handleiding van uit dat je onze pfSense-installatiehandleiding hebt doorlopen.
Stap 1
Log in op de pfSense webinterface.
Stap 2
Klik bovenaan in het menu op 'Firewall' > 'NAT'. Je komt automatisch in het 'Port Forward'-tabblad terecht. Klik op de linker 'Add'-knop (de Add-knoppen bepalen alleen de plaatsing van de regel in het 'Port Forward'-overzicht).
Stap 3
Pas op deze pagina de volgende waardes aan en klik op 'Save':
- Destination port range: geef de poort of poortrange op waarvan je verkeer wil doorsturen naar je VPS. Je kunt hiervoor in plaats van 'Other' ook een protocol selecteren waar de poorten al voor is vastgesteld. In dit voorbeeld kiezen we voor 'Other' voor een custom RDP poort.
-
Redirect target IP: Geef het IP-adres op van de VPS waar je het verkeer naar door wil sturen.
Let op: je kunt meerdere IP-adressen opgeven, bijvoorbeeld van een aantal RDS-Session Hosts. Verkeer wordt dan in round-robin stijl doorgestuurd naar een VPS. pfSense raadt dit echter af omdat pfSense niet ideaal is voor een dergelijke vorm van loadbalancing. Zo wordt bijvoorbeeld als een server down is nog steeds verkeer daar naar doorgestuurd. - Redirect target port: Geef de poort van de VPS op waar het verkeer naar moet worden doorgestuurd. Bij een poort-range geef je de eerste poort op, de range berekent pfSense automatisch aan de hand van de 'Destination port range' (1).
Herhaal deze stap voor iedere VPS waarvan je het verkeer van een poort via je pfSense-Firewall wil routeren.
Stap 4
Klik tot slot op 'Apply changes' om de wijzigingen toe te passen en ga verder met de 'Default gateway aanpassen'-paragraaf voor het besturingssysteem dat je gebruikt.
Default gateway aanpassen - Windows
Stap 1
Verbind met je VPS via Remote Desktop of de VPS-console.
Stap 2
Klik onderaan rechts op je scherm op het netwerkicoontje met de rechtermuisknop en selecteer 'Open Network & Internet settings'. Het kan zijn dat je hiervoor op het pijltje omhoog moet klikken (zie screenshot) om het icoontje zichtbaar te krijgen.
Stap 3
Klik op 'Change Adapter Options'.
Ontbreekt deze optie in jouw versie van Windows/Windows Server? Druk dan tegelijk op de Windows start-knop + r en type in het scherm dat verschijnt 'ncpa.cpl' en druk op 'OK'.
Stap 4
Klik met de rechtermuisknop op je secondaire netwerkadapter (die van je private network) en selecteer 'Properties'.
Stap 5
Dubbelklik op 'Internet Protocol Version 4 (TCP / IPv4)' of selecteer 'Internet Protocol Version 4 (TCP / IPv4)' > 'Properties'.
Stap 6
Stel je private networkadapter als volgt in en klik twee maal op 'OK' om de wijzigingen toe te passen:
- Kies een lokaal IPv4-adres binnen hetzelfde subnet als je pfSense-firewall (zie stap 11 van onze pfSense-installatiehandleiding).
- Het subnet wordt automatisch ingesteld op 255.255.255.0. Pas dit niet aan.
- Stel als default gateway het lokale IPv4-adres in van je pfSense-firewall.
- Stel de DNS-servers in. In dit voorbeeld gebruiken we die van TransIP: 195.8.195.8 en 195.135.195.135 maar je bent vrij om een andere te gebruiken, bijvoorbeeld die van Google: 8.8.8.8 en 8.8.4.4. Let op: bij het gebruik van een Active Directory gebruik je hier normaal gesproken het IP-adres van je Windows DNS-server.
Stap 7 - optioneel
Je bent nu weer terug in het 'Network Connections'-scherm. Als je je publieke netwerkverbinding verder niet nodig hebt (i.e. je gebruikt alleen de poorten waar je via de stappen in dit artikel portforwarding voor hebt ingesteld), dan kun je nu je publieke internetverbinding uitzetten.
Klik met de rechtermuisknop op je publieke netwerkadapter en selecteer 'Disable'. Let op: je gaat nu je verbinding met je VPS verliezen en kunt die alleen nog benaderen vanuit het TransIP-controlepaneel via de console.
Default gateway aanpassen - Ubuntu 18.04+
Voor het aanpassen van de default gateway in Ubuntu 18.04 of nieuwer volg je grotendeels dezelfde stappen als voor het instellen van een intern IP-adres, zie onze handleiding. In de statische configuratie voeg je alleen de gateway nog toe en eventueel een DNS-server:
Stap 1
Open je netwerkconfiguratie:
nano /etc/netplan/01-netcfg.yaml
Stap 2
Pas de configuratie van je private netwerkadapter onderaan het geopende bestand aan, zie de toelichting onder de code. Je private netwerkadapter zal waarschijnlijk ens7 heten.
ens7:
dhcp4: no
addresses:
- 192.168.0.2/24
gateway4: 192.168.0.1
- Vervang 192.168.0.2 door het private IPv4-adres van de VPS. Het is belangrijk dat die in hetzelfde subnet past als je pfSense-firewall.
- Vervang 192.168.0.1 door het private IPv4-adres van je pfSense-firewall.
Stap 3
Sla de wijzigingen op en sluit nano af (ctrl + x > y > enter). Verwerk de wijzigingen met het commando:
sudo netplan apply
Stap 4 - optioneel
Als je je publieke netwerkverbinding verder niet nodig hebt (i.e. je gebruikt alleen de poorten waar je via de stappen in dit artikel portforwarding voor hebt ingesteld), dan kun je al het verkeer naar je publieke interface tegenhouden. Een methode om dit te bereiken is door in je firewall alleen verkeer naar specifieke poorten op je publieke interface toe te staan vanaf het IP-adres van je pfSense-firewall, zie onze handleiding voor het gebruik van Ubuntu's UFW-firewall.
Default gateway aanpassen - CentOS 7
Voor het aanpassen van de default gateway in CentOS 7 of nieuwer volg je grotendeels dezelfde stappen als voor het instellen van een intern IP-adres, zie onze handleiding. In de statische configuratie voeg je alleen de gateway nog toe en eventueel een DNS-server:
Stap 1
Open je netwerkconfiguratie:
nano /etc/sysconfig/network-scripts/ifcfg-eth1
Stap 2
Pas de configuratie van je private netwerkadapter onderaan het geopende bestand aan, zie de toelichting onder de code. Je private netwerkadapter zal waarschijnlijk ens7 heten.
DEVICE=eth1
ONBOOT=yes
NETBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
ZONE=public
- Vervang 192.168.0.2 door het private IPv4-adres van de VPS. Het is belangrijk dat die in hetzelfde subnet past als je pfSense-firewall.
- Vervang 192.168.0.1 door het private IPv4-adres van je pfSense-firewall.
Stap 3
Sla de wijzigingen op en sluit nano af (ctrl + x > y > enter). Verwerk de wijzigingen met het commando:
systemctl restart network
Stap 4
Als je je publieke netwerkverbinding verder niet nodig hebt (i.e. je gebruikt alleen de poorten waar je via de stappen in dit artikel portforwarding voor hebt ingesteld), dan kun je al het verkeer naar je publieke interface tegenhouden. Een methode om dit te bereiken is door in je firewall alleen verkeer naar specifieke poorten op je publieke interface toe te staan vanaf het IP-adres van je pfSense-firewall, zie onze handleiding voor het gebruik van CentOS's Firewalld-firewall.
Default gateway aanpassen - Debian 10
Voor het aanpassen van de default gateway in Debian 10 of nieuwer volg je grotendeels dezelfde stappen als voor het instellen van een intern IP-adres, zie onze handleiding. In de statische configuratie voeg je alleen de gateway nog toe en eventueel een DNS-server:
Stap 1
Open je netwerkconfiguratie:
nano /etc/network/interfaces
Stap 2
Pas de configuratie van je private netwerkadapter onderaan het geopende bestand aan, zie de toelichting onder de code. Je private netwerkadapter zal waarschijnlijk ens7 heten.
auto ens7
iface ens7 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
- Vervang 192.168.0.2 door het private IPv4-adres van de VPS. Het is belangrijk dat die in hetzelfde subnet past als je pfSense-firewall.
- Vervang 192.168.0.1 door het private IPv4-adres van je pfSense-firewall.
Stap 3
Sla de wijzigingen op en sluit nano af (ctrl + x > y > enter). Verwerk de wijzigingen met het commando:
sudo netplan apply
Stap 4
Als je je publieke netwerkverbinding verder niet nodig hebt (i.e. je gebruikt alleen de poorten waar je via de stappen in dit artikel portforwarding voor hebt ingesteld), dan kun je al het verkeer naar je publieke interface tegenhouden. Een methode om dit te bereiken is door in je firewall alleen verkeer naar specifieke poorten op je publieke interface toe te staan vanaf het IP-adres van je pfSense-firewall, zie onze handleiding voor het gebruik van Debian's UFW-firewall.
Daarmee zijn we aan het eind gekomen van deze handleiding over portforwarding in pfSense.
Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.