proxmox_Home_Lab_Mentor_4 - itnett/FTD02H-N GitHub Wiki

Oppsett av VLAN 120 - Production (10.0.20.0/24)

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.

1. Infrastrukturplan for VLAN 120 - Production

  • 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.

2. Tjenester og Applikasjoner i VLAN 120

2.1 Web Server (Apache/Nginx)
  • 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
2.2 Database Server (MySQL/PostgreSQL)
  • 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)
2.3 Applikasjon Server
  • 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

3. Steg-for-steg Konfigurasjon

3.1 Opprett VLAN i Proxmox
  1. Opprett Linux Bridge for VLAN 120:

    • Navn: vmbr2
    • VLAN ID: 120
    • Nettverksgrensesnitt: Bruk samme fysiske nettverkskort som andre VLAN-er.
  2. 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.
3.2 Oppsett av Web Server
  1. 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.
  2. Installer Webserver:

    • Oppdater systemet: sudo apt update && sudo apt upgrade -y
    • Installer Apache/Nginx: sudo apt install apache2 -y eller sudo 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.
3.3 Oppsett av Database Server
  1. 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.
  2. Installer Database:

    • Installer MySQL: sudo apt install mysql-server -y
    • Sikre MySQL installasjonen: sudo mysql_secure_installation
    • Opprett nødvendige databaser og brukere.
3.4 Oppsett av Applikasjons Server
  1. 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.
  2. 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.
3.5 Sikkerhet og Brannmurregler
  • 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.
3.6 Overvåkning
  • 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.

Oppsummering

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.

1. Oppsett via Proxmox GUI

1.1 Opprett VLAN i Proxmox

  1. Logg inn i Proxmox Web UI:

    • Åpne nettleseren og naviger til Proxmox Web UI (https://<Proxmox_IP>:8006).
    • Logg inn med administratorkontoen.
  2. 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.
  3. Opprett og Konfigurer VM for Web Server:

    • Gå til Node > Create VM.
    • Under General:
      • Sett Name til prod-webserver.
    • 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.
  4. Gjenta Stegene for Database og Applikasjonsservere:

    • Opprett en ny VM for prod-dbserver og prod-appserver med lignende steg.

1.2 Konfigurer VM etter installasjon

  1. Logg inn på Webserver VM via Proxmox Console.
  2. 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.
  3. Installer Apache/Nginx:
    • Kjør sudo apt update && sudo apt install apache2 -y.

2. Oppsett via CLI

2.1 Opprett VLAN via CLI

  1. SSH til Proxmox-serveren:

    ssh root@<Proxmox_IP>
  2. 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
  3. Restart Nettverkstjenesten:

    systemctl restart networking

2.2 Opprett og Konfigurer VM via CLI

  1. 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
  2. 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
  3. Start VM og Kjør Installering:

    qm start 100

3. Automatisering med Ansible

3.1 Opprett Proxmox Playbook

  1. Installer Proxmox Ansible Module:

    • Sørg for at Ansible er installert og konfigurer Proxmox-modulen.
  2. 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
  3. Kjør Playbook:

    ansible-playbook proxmox_vm.yml

Oppsummering

  • 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.

⚠️ **GitHub.com Fallback** ⚠️