proxmox_Home_Lab_Mentor_4 - itnett/FTD02H-N GitHub Wiki
I VLAN 120 skal vi konfigurere produksjonsmiljøet som vil brukes til å hoste webapplikasjoner, databaser og andre nødvendige tjenester som støtter de viktigste oppgavene i labben. Dette VLAN vil simulere et realistisk produksjonsmiljø der studenter kan lære å implementere og administrere applikasjoner i en sikker og effektiv setting.
- Subnet: 10.0.20.0/24
- Gateway: 10.0.20.1
- DHCP Range: 10.0.20.100 - 10.0.20.200
- VLAN ID: 120
- Nettverkstype: Internt nettverk med tilgang til nødvendige ressurser gjennom ruting og brannmurregler.
- Formål: Hoste en webapplikasjon som en del av produksjonsmiljøet.
- Ressurser: 2 vCPU, 4GB RAM, 50GB disk.
- OS: Ubuntu Server eller CentOS.
-
Programvare:
- Apache/Nginx: Webserver
- PHP/MySQL: For dynamiske webapplikasjoner
- SSL-konfigurasjon: Implementer SSL for sikre forbindelser
- Formål: Hoste en database som brukes av webapplikasjonen.
- Ressurser: 4 vCPU, 8GB RAM, 100GB disk.
- OS: Ubuntu Server eller CentOS.
-
Programvare:
- MySQL/PostgreSQL: Database motor
- phpMyAdmin: Database administrasjonsverktøy (valgfritt)
- Formål: Kjøring av backend-tjenester og applikasjoner.
- Ressurser: 4 vCPU, 8GB RAM, 100GB disk.
- OS: Ubuntu Server eller CentOS.
-
Programvare:
- Node.js, Python eller Java: Avhengig av applikasjonens krav
- Redis/Memcached: For caching-løsninger
-
Opprett Linux Bridge for VLAN 120:
- Navn:
vmbr2
- VLAN ID: 120
- Nettverksgrensesnitt: Bruk samme fysiske nettverkskort som andre VLAN-er.
- Navn:
-
Konfigurer Nettverk på VM-er:
- Under nettverksinnstillingene for hver VM, konfigurer grensesnittet til å bruke
vmbr2
. - Sett opp statiske IP-adresser innenfor 10.0.20.0/24 eller bruk DHCP for automatisering.
- Under nettverksinnstillingene for hver VM, konfigurer grensesnittet til å bruke
-
Opprett en ny VM i Proxmox:
-
Navn:
prod-webserver
-
Disk: 50GB på
vmbr2
-
Nettverk: Koble til
vmbr2
, statisk IP f.eks. 10.0.20.10. - Installer OS: Ubuntu Server.
-
Navn:
-
Installer Webserver:
- Oppdater systemet:
sudo apt update && sudo apt upgrade -y
- Installer Apache/Nginx:
sudo apt install apache2 -y
ellersudo apt install nginx -y
- Konfigurer SSL: Bruk Let's Encrypt eller en selvsignert sertifikat.
- Sett opp Virtuelle Host-filer for å hoste flere applikasjoner hvis nødvendig.
- Oppdater systemet:
-
Opprett en ny VM i Proxmox:
-
Navn:
prod-dbserver
-
Disk: 100GB på
vmbr2
-
Nettverk: Koble til
vmbr2
, statisk IP f.eks. 10.0.20.20. - Installer OS: Ubuntu Server.
-
Navn:
-
Installer Database:
- Installer MySQL:
sudo apt install mysql-server -y
- Sikre MySQL installasjonen:
sudo mysql_secure_installation
- Opprett nødvendige databaser og brukere.
- Installer MySQL:
-
Opprett en ny VM i Proxmox:
-
Navn:
prod-appserver
-
Disk: 100GB på
vmbr2
-
Nettverk: Koble til
vmbr2
, statisk IP f.eks. 10.0.20.30. - Installer OS: Ubuntu Server.
-
Navn:
-
Installer Applikasjonsmiljø:
- Installer Node.js, Python, eller Java avhengig av hvilken backend du bruker.
- Installer Redis eller Memcached hvis nødvendig for caching.
- Konfigurer serveren til å kjøre backend-applikasjonen.
- Konfigurer
iptables
på alle VMs for å tillate kun nødvendig trafikk (HTTP, HTTPS, MySQL). - Sett opp brannmurregler i Proxmox for å isolere VLAN-er fra hverandre og beskytte mot uautorisert tilgang.
- Koble serverne til Zabbix overvåkningsserveren (i VLAN 110) for å overvåke ytelse og helse.
- Aktiver overvåkning av diskbruk, CPU-bruk, nettverksaktivitet og tjenestestatus.
VLAN 120 er et viktig produksjonsmiljø i labben som vil hoste webapplikasjoner, databaser og backend-tjenester. Vi har etablert en sikker og velovervåket infrastruktur som er klar for å håndtere læringsmålene i kurset. Alle VMs er satt opp med dedikert funksjonalitet, og sikkerheten ivaretas gjennom riktig konfigurasjon av nettverk og brannmur.
For å sette opp VLAN 120 i Proxmox for et produksjonsmiljø med web- og databaseservere, kan du bruke både GUI (Proxmox Web UI), CLI (Command Line Interface), og automatiseringsverktøy som Ansible. Nedenfor er en detaljert guide for hver metode.
-
Logg inn i Proxmox Web UI:
- Åpne nettleseren og naviger til Proxmox Web UI (https://
<Proxmox_IP>
:8006). - Logg inn med administratorkontoen.
- Åpne nettleseren og naviger til Proxmox Web UI (https://
-
Opprett en ny Linux Bridge for VLAN 120:
- Gå til Datacenter > Node > Network.
- Klikk Create > Linux Bridge.
- Sett Bridge Name til
vmbr2
. - Under VLAN Aware, velg Yes.
- Legg til fysisk nettverkskort (f.eks.
eno1
) til bridgen. - Klikk Create.
-
Opprett og Konfigurer VM for Web Server:
- Gå til Node > Create VM.
- Under General:
- Sett Name til
prod-webserver
.
- Sett Name til
- Under OS:
- Velg Linux og last opp en Ubuntu ISO eller bruk en tilgjengelig ISO.
- Under Hard Disk:
- Velg ønsket lagringsplass (50GB) og diskformat (QCOW2 anbefales).
- Under CPU:
- Velg 2 cores.
- Under Memory:
- Sett Memory til 4GB.
- Under Network:
- Velg vmbr2 som bridgenettverk.
- Angi VLAN tag som 120.
- Klikk Finish og start installasjonen av Ubuntu.
-
Gjenta Stegene for Database og Applikasjonsservere:
- Opprett en ny VM for
prod-dbserver
ogprod-appserver
med lignende steg.
- Opprett en ny VM for
- Logg inn på Webserver VM via Proxmox Console.
-
Konfigurer Nettverk:
- Rediger
/etc/netplan/00-installer-config.yaml
for statisk IP-konfigurasjon:network: version: 2 ethernets: ens18: dhcp4: no addresses: - 10.0.20.10/24 gateway4: 10.0.20.1 nameservers: addresses: - 8.8.8.8
- Kjør
sudo netplan apply
for å aktivere konfigurasjonen.
- Rediger
-
Installer Apache/Nginx:
- Kjør
sudo apt update && sudo apt install apache2 -y
.
- Kjør
-
SSH til Proxmox-serveren:
ssh root@<Proxmox_IP>
-
Opprett en ny Bridge Interface:
cat <<EOF >> /etc/network/interfaces auto vmbr2 iface vmbr2 inet manual bridge-ports eno1 bridge-stp off bridge-fd 0 bridge-vlan-aware yes EOF
-
Restart Nettverkstjenesten:
systemctl restart networking
-
Opprett en ny VM:
qm create 100 --name prod-webserver --memory 4096 --cores 2 --net0 virtio,bridge=vmbr2,tag=120 --ide2 local:cloudinit --boot c --bootdisk scsi0 --scsihw virtio-scsi-pci --serial0 socket --vga serial0 --ostype l26
-
Installer OS (ved bruk av ISO):
qm set 100 --ide0 local-lvm:iso/ubuntu-20.04-server.iso,media=cdrom qm set 100 --scsi0 local-lvm:50,format=qcow2
-
Start VM og Kjør Installering:
qm start 100
-
Installer Proxmox Ansible Module:
- Sørg for at Ansible er installert og konfigurer Proxmox-modulen.
-
Skriv Playbook for å opprette og konfigurere VM-er:
- name: Deploy Proxmox VMs hosts: localhost tasks: - name: Create Webserver VM proxmox_kvm: api_host: "{{ proxmox_host }}" api_user: "{{ proxmox_user }}" api_password: "{{ proxmox_password }}" node: "{{ proxmox_node }}" vmid: 100 name: prod-webserver memory: 4096 cores: 2 net0: virtio,bridge=vmbr2,tag=120 ide2: local:cloudinit bootdisk: scsi0 scsihw: virtio-scsi-pci ostype: l26 ide0: local-lvm:iso/ubuntu-20.04-server.iso,media=cdrom scsi0: local-lvm:50,format=qcow2 autostart: true
-
Kjør Playbook:
ansible-playbook proxmox_vm.yml
- GUI: Bruk Proxmox Web UI for enkel opprettelse og konfigurasjon av VM-er og VLAN.
- CLI: Bruk CLI for mer detaljert kontroll og skriptbar oppsett av nettverk og VM-er.
- Automatisering: Bruk Ansible for å automatisere oppsett og konfigurasjon av Proxmox VMs og nettverksinfrastruktur.
Denne tilnærmingen sikrer at alle aspekter av VLAN 120 og de tilknyttede tjenestene blir implementert korrekt og kan enkelt tilpasses i fremtiden.