Methode computer infrastructuur
Inhoud
Minimale benodigdheden hardware
Server
De volgende onderdelen zijn minimaal nodig:
Procesor: 4 cores 6 mb cache met de volgende supported onderdelen
- Intel® Virtualization Technology (VT-x)
- Intel® Virtualization Technology for Directed I/O (VT-d)
- x64 instructie set
Ram (geheugen): 16 gb ddr3 (liefst ECC)
Voeding: bij het gebruik van duurdere hardware zeker een voedingsbron die goud gecertificeerd is, zodat deze 24/7 kan draaien.
Moederbord: minimaal 2 pci express sloten. Uit kostenoverwegingen is aan te raden is om tweede hands enterprise hardware te gebruiken.
Videokaart: niet echt nodig maar is een leuke toevoeging.
Accessoires: Optioneel: 2 monitoren, 2 toetsenborden en 2 muizen.
Opslag: een ssd van minimaal 256 Gb en een hdd van minimaal 500gb. Ik raad te zeerste aan om te zorgen voor maximale opslagcapaciteit.
NIC: met minimaal 4 ethernet ports.
Routers
Bij het gebruik van wireless accespoints moet een wireless router aangeschaft zijn.
Extra computer /laptop
Een extra computer die kan worden gebruikt om diverse virtual machines op te zetten met als doel het netwerk te testen en verschillende configuraties te voltooien op de server.
Usb stikje
Minimaal 8 gb.
Benodigde software
Via de in de tabel hieronder opgenomen "bron-link" kom je terecht bij de originele software zoals de uitgevers deze op het internet aanbieden. Je kan de software daar dus vanaf downloaden. Echter ik heb hieronder ook een "mirror-link" opgenomen, waardoor je direct bij de desbetreffende software komt om dit snel en makkelijk zelf op je computer te downloaden. Door het creëren van deze mirror downloads heb je een back-up link mocht de originele website er uit liggen.
proxmox | -mirror | -bron |
---|---|---|
pfsense | -mirror | -bron |
openvpn | -mirror | -bron |
windows-server | -mirror | -bron |
rufus | -mirror | -bron |
windows-enterprise | -mirror | -bron |
putty | -mirror | -bron |
vm-player | -mirror | -bron |
filezilla | -mirror | -bron |
gpu-z | -mirror | -bron |
cpu-z | -mirror | -bron |
venyon | -mirror | -bron |
office | -mirror | -bron |
---|---|---|
adbobe reader | -mirror | -bron |
ninite | -mirror | -bron |
Ninite
let op de ninite mirror installeert de volgende applicaties. chrome, winrar, discord, vlc, audacity, spotify, java (jre), paint.net, python, filezilla, notepad++ . Een eigen ninite download kan worden gemaakt via de bron-link.
Installatie proxmox
instalat
De volgende stappen zijn niet noodzakelijk omdat het software programma Rufus dit zelf ook al doet. Maar in sommige gevallen (bv als de usb stick oud is of niet wordt herkend) kan dit worden toegepast. Deze stappen verwijderen alle informatie van de usb-stick!
- Druk op de windows knop; typ cmd in.
- Click met rechter muisknop op cmd en open als administrator.
Hier rechts staat een plaatje van hoe de command prompt er uit ziet
voer het volgende uit
diskpart
list disk
select disk <jou usb stick>
clean
create partition primary
format fs=fat32 quick
Bij "list disk" moet je degene met ongeveer 8000 mb. Als er meerdere usb stickjes in de computer zitten, raad ik aan om deze uit de computer te halen.
Nu kunnen we rufus gebruiken. Bij het gebruik van rufus kun je alles op normaal laten staan. Het enige dat moet worden veranderd is de partitie indeling. Deze moet namelijk op gpt staan. Wanneer dit is gedaan kan er op start worden gedrukt. Mocht de computer niet willen opstarten vanaf de usb stick dan kun je proberen om "dd modus" te selecteren in rufus.
Let op! Wanneer de usb stick in "dd modus" wordt gezet, dan is de usb stick beschermd. Je kan dan geen nieuwe bestanden op de usb stick meer zetten. De enige manier om dit ongedaan te maken is via "diskpart".
Installatie
Voordat we beginnen met de installatie van proxmox gaan we eerst een bezoekje plegen aan de bios. Hierin staan een aantal belangrijke dingen die aangepast worden. Jammer genoeg is elke bios verschillend en kan ik niet stapsgewijs vertellen wat je precies moet doen maar ik zal toch een poging wagen. We beginnen met het opnieuw opstarten van de computer en spammen F12, esc, del en F8 tot er iets gebeurd op het scherm. Voordat je verder gaat check ook dat de informatie in de bios klopt zoals datum, tijd, aantal ram, opslag etc!
Zorg er voor dat de volgende opties aan of uit staan:
- zet UEFI aan (meestal onder geavanceerd);
- zet intel vt/d en vt/x aan;
- zet de videokaart uit als standaard display (alleen als er een videokaart aanwezig is);
- zet "trust removable drives" als opstart aan.
Vervolgens slaan we de veranderingen op en maken we gebruik van het boot menu om vanaf de usb op te starten. Mocht dit niet werken dan kan je voor korte tijd de boot volgorde aanpassen en "removable devices" als eerste zetten. Nu zou je in de installatie van proxmox moeten komen. De installatie is vrij gemakkelijk. Ga door de installatie wizzard heen tot je bij "target disk" komt. Hierbij raad ik aan om een ssd of hdd te kiezen omdat dit de IO delays erg verkort. Een tweede usb-stick zou in theorie ook kunnen werken. Bij het scherm email en wachtwoord kun je je eigen email invullen maar omdat smtp niet is opgezet zal dit niet werken.
Bij het scherm waar je adressen moet invullen moet worden opgelet. Kies de onboard NIC (van het moederbord). Dit is de NIC met 1 netwerkpoort. Doe een ethernet kabel van de proxmox machine naar je eigen computer Vergeet niet dat de ethernetkabel in de port gaat met 1 port. Vervolgens moet je ervoor zorgen dat de adapter instellingen van beide computers op hetzelfde subnet zitten. Eerder in het profielwerkstuk is uitgelegd hoe dit moet.
Let op! Er zal nu geen internetverbinding zijn voor de computer, maar een lan verbinding van de computer met de server.
Als je 2 proxmox installaties wil gaan doen vergeet niet twee verschillende hostnamen te gebruiken. Je moet ervoor zorgen dat de achtervoegsels hetzelfde zijn. Als je niet wilt dat proxmox en windows server kunnen communiceren dan moet het domein verschillend zijn.
In mijn geval zal het worden pve.home en voor de virtual machines in proxmox vm123.wake |
Configuratie van proxmox
Nadat de proxmox installatie is voltooid volgt een heropstart (reboot). Hierna kunnen we proxmox configureren. Als de adapter instellingen goed zijn ingesteld kun je in je browser naar het volgende adres: https://<proxmox ip>:8006 https wordt niet als standaard geselecteerd. Daarom zou het direct invullen van het ip adres niet werken. Vergeet daarom niet om https er voor te zetten. Afhankelijk van je browser krijg je nu een fout melding. Deze kan worden genegeerd. Dit heeft ermee te maken dat het ssl certificaat van de server "self signed" is. In geval van chrome druk je op "meer informatie" en ga je verder naar deze site. Log in met de gebruikersnaam root en het wachtwoord wat je eerder hebt aangemaakt. Nu kun je - als je wilt - een zfs pool opzetten als je gebruikt maakt van meerdere schijven en je bestanden veilig wilt stellen. In mijn geval maak ik hier geen gebruik van omdat ik niet genoeg schrijven heb. Als het goed is heb je proxmox geïnstalleerd op een ssd of hdd en zou er nog een 2de storage disk over moeten zijn. Deze kunnen we nu instellen onder het kopje disks in proxmox. Dit is te vinden onder <jouwhostname> (in mijn geval pve). Druk nu onder directory "create new directory". Kies als disk type "ext4" en de naam kan je zelf geven.
Let op! Maak geen LVM storage aan. Het is niet makkelijk om dit weer te verwijderen! Een hernieuwde installatie van proxmox moet dan weer worden uitgevoerd!
Nu kun je de iso bestanden die zijn gedownload uploaden naar de schijf. Zie het plaatje waar dit gebeurd.
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.
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
/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).
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 wordt doorverwezen naar de pfSense box. Dit kan worden gedaan door dit te vragen aan je eigen ISP. Onthoud wel dat wanneer je dit doet het internet er voor langere tijd uit ligt tot alles is geconfigureerd. Bij het instellen van bridge modus zullen alle ethernet poorten van de ISP router worden uitgezet behalve de eerste. In de eerste port doen we de ethernet kabel. Zo hebben we een WAN interface op de pfSense box. Nu doen we een tweede ethernet kabel in een tweede wireless router. Deze kabel gaat dan in de LAN port van de wireless router en niet de wan port. Als het goed is wordt een public IP adres via de DHCP servers van jou ISP 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 worden geconfigureerd voordat deze kan worden aangesloten. Op de wireless router mag de DHCP server uitgezet worden, want er wordt gebruik gemaakt van de DHCP server op de pfSense box. Ervan uitgaande dat de pfSense box ende wireless router dezelfde LAN instellingen hebben, kun je nu een ethernet kabel van de wireless router naar je computer doen. Je moet nu handmatig de adapter instellingen laten overeenkomen met die van de pfSense box en de wireless router, zodat deze een verbinding met elkaar kunnen maken. Hierna kun je beginnen met de installatie wizzard van pfSense in de browser Hierbij moet je het LAN adres opzoeken in de browser van de pfSense box. Het plaatje rechts kan worden gebruikt als referentie. Het public IP is zwart gemaakt vanwege security redenen.