Installatie pfSense

Uit computer infrastructuur
Versie door Arrcy (overleg | bijdragen) op 12 apr 2020 om 13:54
Naar navigatie springen Naar zoeken springen

PCLe passthrough

Voordat we verder kunnen gaan moeten we de NIC isoleren van de kernel. Dit doen we door een zogeheten "pcle passthrough". Hierbij isoleer je de NIC kaart van het operating system zodat deze niet kan worden gebruikt door proxmox maar alleen door de pfSense virtual machine. Dit doen we als volgt:

- open de shell van proxmox vanaf of de browser of de server console zelf en typ het volgende in:

nano /etc/default/grub

Met de arrow keys kan je naar boven en beneden gaan:

Verander GRUB_CMDLINE_LINUX_DEFAULT="<commands>"

in GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

type ctl + x

druk op y en dan enter . Belangrijk is dat je niks anders aanpast!

Als dit gedaan is heb je IOMMU aangezet. Vervolgens slaan we de aanpassing op door middel van:

update-grub

Nu moeten we een aantal modules toevoegen aan /etc/modules. Dit kan weer worden gedaan door nano /etc/modules.

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Om errors te voorkomen maken we gebruik van het volgende:

echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf

Nu moet je zoeken welke "device id" de NIC heeft die je wil gebruiken voor pfSense. Dit doe je als volgt:

lspci

Dan zoek je de naam van de netwerkkaart. In mijn geval krijg ik de volgende output. Als je kijkt zie je dat in mijn geval de 4 verschillende ethernet poorten apart worden gedetecteerd in de groepen 4:00 en 5:00 Je typt dan ook

lspci -n -s 04:00
lspci -n -s 05:00

Als het goed is moet ongeveer hetzelfde uit beide komen. In mijn geval krijg ik 04:00.0 0200: 8086:10bc (rev 06). Het stuk dat je wilt gebruiken ligt in het deel dat net voor (rev 06) ligt. In mijn geval is dit 8086:10bc.

In het volgende gedeelte krijg ik dan ook:

echo "options vfio-pci ids=8086:10bc" > /etc/modprobe.d/vfio.conf

Vervolgens voer je de volgende commands uit:

echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
update-initramfs -d -u
reboot now

Nu wordt de computer opnieuw opgestart. Nadat deze is opgestart controleer je of alles is gelukt met

lspci -nnk

Onder de groepen waar de NIC zat moet nu staan Kernel driver in use: vfio-pcid . Als dit niet het geval is dan is er iets mis gegaan. Als dit er wel staat kun je doorgaan naar de volgende stap.

Maken van de virtual machine (VM)

Click met de rechter muis knop op <jou hostnaam> en druk dan op Create VM. Hiermee open je een wizzard waarmee je de VM configureert. Kies de naam voor de VM. Vervolgens kies je pfSense iso installatie die je ingevolge het vorige hoofdstuk hebt geüpload naar de proxmox server. Onder het kopje "systeem" pas je de bios naar UEFI en machine naar Q35. Vervolgens kies je de locatie waar hij de EFI disk opslaat. Onder het kopje CPU verander je het aantal cores naar 3. De memory zet je naar 4096 en network doe je naar geen network device. Nu wordt er een VM voor je gemaakt.

9.png

Als dit gelukt is moet je de NIC toevoegen. Vergeet niet om alle groepen aan de VM toe te voegen. In mijn geval zijn dit groepen 4:00 en 5:00. Als vergelijkingsmateriaal laat ik hieronder mijn vm.config zien. Deze is te vinden onder

10l.png

/etc/pve/qemu-server/<vmid>.conf

bios: ovmf
bootdisk: scsi0
cores: 3
efidisk0: local-lvm:vm-101-disk-0,size=128K
hostpci0: 04:00
hostpci1: 05:00
ide2: local:iso/pfSense-CE-2.4.4-RELEASE-p3-amd64.iso,media=cdrom
machine: q35
memory: 4098
name: pfsense
numa: 0
onboot: 1
ostype: l26
scsi0: hdd1:101/vm-101-disk-0.qcow2,size=32G
scsihw: virtio-scsi-pci
smbios1: uuid=<my uuid>
sockets: 1
vmgenid: <my vmgenid>


Installatie van pfSense

Nu kun je de VM starten. Als alles soepel verloopt kom je nu in de installatie wizzard van pfSense terecht. Ook hierbij - zoals bij proxmox - neem ik aan dat hier makkelijk doorheen kan worden gegaan. Hierbij kan bij bijna elke vraag enter worden geselecteerd (tenzij er nog andere aanpassingen moeten worden volbracht).

mijn pfsense basis configuratie

Na het opnieuw opstarten van de VM moet worden gecontroleerd of alle NIC interfaces aanwezig zijn in de VM. Als dit het geval is kan ik je feliciteren! (mij kostte het de eerste keer een heel weekend om het voor elkaar te krijgen!).

Hierna kan verder worden gegaan met de volgende stap. In mijn geval zet ik de ISP router naar bridge modus dit houdt in dat het public ip word doorverwezen naar de pfsense box. dit kan woorden gedaan door dit te vragen aan je ISP. onthoud wel dat wanneer je dit doet het internet er voor gelange tijd uit ligt tot alles is geconfigureerd. bij het instellen van bridge modus zullen alle ethernetporten van de ISP router woorden uitgezet behalve de eerste. in de eerste port doen we de ethernet kabel. zo hebben we een WAN interface op de pfsense box. nu doe we een tweede ethernet kabel de LAN in een 2de wireless router deze kabel gaat dan in de lan port van de wireless router en niet de wan port. als het goed is word het public ip via de DHCP server van ziggo public ip toegewezen aan de pfsense box. vergeet niet dat het lan interface hetzelfde subnet moet hebben als de 2de wireless router. de 2de wireless router moet dus eerst woorden geconfigureerd voordat deze kan woorden aangesloten op de pfsense box hierbij mag de dhcp server uitgezet woorden want er word gebruik gemaakt van de dhcp server op pfsense. als de LAN ipadressen overeen komen kun je begginnen met de instalatie wizzard van pfsense in de browser. in het plaatje rechts kan woorden gekeken als referentie. het public ip is zwart gemaakt vanwege security redenen.

Proxie.jpg


nu kun je de kabel uit de computer halen en direct in de pfsense box stoppen. stop nu een ethernet kabel van de computer in de 2de wireless router. en zet de juiste adapter opties in windows zodat deze overeen komen met de pfsense box. hier rechts is nog een plaatje te zij van hoe ik de internet kabels heb liggen