Riggen_HomeLab_Implementation_NetworkAdvanced - itnett/FTD02H-N GitHub Wiki

To move forward with setting up your lab, given the network setup and configuration you have in place, we can create a comprehensive plan for completing the Proxmox VE network and server setup.

1. Updated Steps to Proceed with Lab Setup

Step 1: Review Current Network Configuration

  • Current Network Layout:
    • Your home network is 192.168.1.0/24, with 192.168.1.10 assigned to your Proxmox node (vmbr0).
    • You have four NICs available, and you plan to utilize all of them.
    • The partitions have been set up, but further partitions can be added as needed.

Step 2: Set Up Additional Proxmox Network Interfaces

  1. Configure Proxmox to Use the Available NICs:

    • Start by setting up additional network bridges in the Proxmox VE Web GUI.
    • For example, you could create:
      • vmbr1 for the internal management network.
      • vmbr2 for isolated VM networks.
      • vmbr3 for a storage network or for another specific purpose.
    • Configure each bridge with an appropriate IP address from the internal network segments, using subnets such as 10.0.0.0/24, 10.0.1.0/24, etc.
  2. Steps to Configure NICs:

    • Navigate to Datacenter > [Your Node] > Network.
    • Create new Linux bridges:
      • Bridge Name: vmbr1, vmbr2, vmbr3, etc.
      • Bridge Ports: Associate each bridge with a physical NIC (eth1, eth2, etc.).
      • IPv4 Configuration: Choose Static and assign IPs according to the internal network plan.
    • Save and apply the changes.

Step 3: Adjust Network Plan According to Resources and Purpose

  1. Define the Role of Each NIC and Network:

    • Decide the purpose for each network (e.g., management, VM traffic, storage, etc.).
    • Align the role with the assigned NIC and bridge configuration.
  2. Consider VLANs for Efficient Segmentation:

    • Use VLANs to segment the network further without needing additional physical NICs.
    • Follow guidelines for VLAN configuration in Proxmox, found in the Proxmox VE Administration Guide under Section 3.4.8 - VLAN 802.1Q【167†source】.

Step 4: Configure Additional Repositories and Install Necessary Drivers

  • Repository Setup:

    • Modify the repository configuration to use the appropriate Proxmox and Debian repositories, particularly if you need non-free drivers or kernel modules.
    • Update the repository list (/etc/apt/sources.list.d) to include:
      • pve-enterprise or pve-no-subscription repositories for Proxmox.
      • firmware-nonfree repositories from Debian for hardware compatibility (e.g., Realtek, Intel microcode).
  • Driver Installation:

    • Run commands to install additional drivers:
      apt update
      apt install firmware-realtek firmware-misc-nonfree intel-microcode
      apt install dkms nvidia-detect nvidia-driver
      apt install pve-headers 
      
    • These packages ensure compatibility with network adapters and other hardware.

Step 5: Verify and Test the Configuration

  1. Check Network Connectivity:

    • Use ping, traceroute, or similar tools to test network connectivity between the Proxmox host, VMs, and external networks.
  2. Ensure Proper VLAN Functionality:

    • If VLANs are used, check that they are properly segmented and tagged traffic is appropriately handled.
  3. Monitor System Performance:

    • Use tools like iftop, dstat, and htop to monitor network performance and overall system load.

2. Next Steps and Documentation Update

  • Update the Documentation:
    • Document all changes made to repositories, package installations, and network configurations.
    • Ensure IP addresses, bridge names, and VLAN IDs are clearly listed for future reference.

By following these steps, you will align the Proxmox configuration with the intended lab environment setup, ensuring that all network interfaces are optimally used, and that drivers and repositories are correctly configured for your hardware.

Bildet viser en meny fra Proxmox VE GUI for å opprette nettverksgrensesnitt, inkludert "Linux Bridge", "Linux Bond", "Linux VLAN", og Open vSwitch (OVS) alternativer. Her er en fullstendig IP-plan og trinn-for-trinn veiledning for å sette opp nettverket med riktig routing og konfigurere VLAN, bonds, og bridges.

Fullstendig IP-Plan:

Fysiske Nettverkskort:

Navn Type Formål Interface IP-adresse Subnet Gateway
enp10s0 Innebygd NIC (1 Gbps) Primært NIC for administrasjon (WAN/Internet) vmbr0 192.168.1.10/24 192.168.1.0 192.168.1.1
enp7s0 PCIe NIC (Intel I210) Intern trafikk til VMs, VLAN, og LXC-containere vmbr1 10.0.0.1/24 10.0.0.0 -
enxc4411eb4c2da USB NIC #1 Sekundær WAN/Internett for pfSense VM1 vmbr2 192.168.2.1/24 192.168.2.0 Dynamisk
enx00e04c680451 USB NIC #2 Sekundær WAN/Internett for pfSense VM2 vmbr3 192.168.3.1/24 192.168.3.0 Dynamisk

Virtuelle Brygger og VLAN:

Bridge Name Type VLAN ID IP Address Subnet Funksjon
vmbr0 Linux Bridge N/A 192.168.1.10/24 192.168.1.0/24 Administrasjon og Proxmox-tilgang (WAN)
vmbr1 Linux Bridge 100 10.0.0.1/24 10.0.0.0/24 Intern nettverk for VMs og containere
vmbr2 Linux Bridge N/A 192.168.2.1/24 192.168.2.0/24 WAN for pfSense VM1
vmbr3 Linux Bridge N/A 192.168.3.1/24 192.168.3.0/24 WAN for pfSense VM2
vmbr4 Linux VLAN 110 Ingen (VLAN Only) N/A VLAN for produksjonstrafikk (VM1 og VM2)
vmbr5 Linux VLAN 120 Ingen (VLAN Only) N/A VLAN for test- og utviklingsmiljø

Steg-for-steg Konfigurasjon i Proxmox:

1. Opprett Linux Bridges:

  • For administrasjon (vmbr0):

    • Gå til Datacenter > [Node Name] > Network.
    • Klikk på "Create" > "Linux Bridge".
    • Name: vmbr0.
    • Bridge ports: enp10s0.
    • IPv4 Address: 192.168.1.10/24.
    • Gateway: 192.168.1.1.
    • Klikk "Create".
  • For intern trafikk (vmbr1):

    • Opprett en ny Linux Bridge.
    • Name: vmbr1.
    • Bridge ports: enp7s0.
    • IPv4 Address: 10.0.0.1/24.
    • Gateway: Ingen (Ruter internt).
    • Klikk "Create".
  • For WAN grensesnitt pfSense VM1 (vmbr2):

    • Opprett en ny Linux Bridge.
    • Name: vmbr2.
    • Bridge ports: enxc4411eb4c2da.
    • IPv4 Address: 192.168.2.1/24.
    • Klikk "Create".
  • For WAN grensesnitt pfSense VM2 (vmbr3):

    • Opprett en ny Linux Bridge.
    • Name: vmbr3.
    • Bridge ports: enx00e04c680451.
    • IPv4 Address: 192.168.3.1/24.
    • Klikk "Create".

2. Opprett Linux VLAN:

  • For produksjonsnettverket (vmbr4):

    • Gå til Datacenter > [Node Name] > Network.
    • Klikk på "Create" > "Linux VLAN".
    • Name: vmbr4.
    • VLAN Tag: 110.
    • Bridge ports: Sett til det fysiske grensesnittet eller Linux Bridge (vmbr1).
    • Klikk "Create".
  • For utviklingsnettverket (vmbr5):

    • Opprett en ny Linux VLAN.
    • Name: vmbr5.
    • VLAN Tag: 120.
    • Bridge ports: Sett til vmbr1.
    • Klikk "Create".

3. Sett opp routing og regler i pfSense:

  • Installere pfSense i Proxmox:

    • Opprett to VMs, en for hver pfSense-instans.
    • Tilknytt WAN-grensesnitt til vmbr2 for VM1 og vmbr3 for VM2.
    • Tilknytt LAN-grensesnitt til vmbr1.
  • Konfigurer nettverksinnstillingene i pfSense:

    • For hver pfSense, konfigurer WAN-porten for DHCP eller statisk IP avhengig av krav.
    • Opprett interne ruteregler og VLAN-konfigurasjoner i pfSense for å administrere trafikken mellom forskjellige VLANs og nettverk.

4. Test nettverkskonfigurasjonen:

  • Ping tester:
    • Test fra Proxmox til forskjellige nettverksendepunkter for å sikre at IP-tilkoblingene er korrekte.
    • Sørg for at VLAN-konfigurasjoner tillater eller blokkerer trafikk i henhold til forventede sikkerhetsregler.

Oppsummering:

Dette oppsettet gir deg en robust nettverksstruktur for din Proxmox lab, med riktig bruk av VLAN, bridges og routinger. Dette vil også støtte mer avanserte scenarier som WAN-simuleringer, segmentering av testmiljøer og utviklingsnettverk. Juster konfigurasjonene etter behov når miljøet ditt utvikler seg.

Open vSwitch (OVS) vs. Linux Bridge: Hva er de, og hva er forskjellene?

1. Open vSwitch (OVS):

Open vSwitch er en virtuell switch-programvare som gir avanserte nettverksfunksjoner og -kontroll, spesielt designet for å imøtekomme behovene til moderne datasentre og virtualiserte miljøer. Her er noen viktige punkter om OVS:

  • Design og Bruksområder:

    • Designet for høy ytelse, skalerbarhet og fleksibilitet i virtuelle miljøer, som skyinfrastrukturer og store datasentre.
    • Støtter avanserte nettverksfunksjoner som VXLAN, GRE tunneling, QoS, og OpenFlow-protokollen, som muliggjør mer detaljerte nettverkspolicyer og trafikkflytkontroll.
  • Funksjoner:

    • Tunneling: Støtter flere tunneling-teknologier (f.eks., GRE, VXLAN), som muliggjør nettverkssegmentering og distribuerte nettverk over flere fysiske lokasjoner.
    • OpenFlow-støtte: Lar deg definere hvordan datapakkene blir behandlet, og gir detaljert kontroll over nettverksflyten.
    • QoS (Quality of Service): Muliggjør nettverksressursprioritering for ulike applikasjoner og tjenester.
    • Integrasjon med SDN (Software-Defined Networking): Kan integreres med SDN-løsninger for automatisering og orkestrering av nettverksinfrastrukturen.
  • Fordeler:

    • Avansert funksjonalitet: Passer for komplekse nettverksbehov, som krever detaljert trafikkstyring, sikkerhet og segmentering.
    • Skalerbarhet: Designet for store skala distribusjoner som datasentre og skybaserte plattformer.
    • Integrasjon med eksterne nettverksløsninger: God støtte for integrasjon med SDN-kontrollere som OpenDaylight eller ONOS.
  • Ulemper:

    • Kompleksitet: Krever mer avansert kunnskap og erfaring med nettverksadministrasjon og kan være overkill for enkle nettverksmiljøer.
    • Ressursforbruk: Høyere ressursforbruk sammenlignet med Linux Bridge, på grunn av dens avanserte funksjonaliteter og funksjoner.

2. Linux Bridge:

Linux Bridge er en standard, innebygd nettverksløsning i Linux-kjernen som fungerer som en virtuell nettverksbro mellom virtuelle maskiner og fysiske nettverkskort. Den brukes ofte i virtualiserte miljøer som KVM, Xen, og Proxmox.

  • Design og Bruksområder:

    • Designet for å være en enkel og lett nettverksløsning som fungerer godt for enkle nettverksbehov og mindre virtualiseringsmiljøer.
    • Brukes ofte til å koble virtuelle maskiner til det fysiske nettverket eller til andre virtuelle maskiner på samme host.
  • Funksjoner:

    • Enkel nettverksbro: Fungerer som en Layer 2 switch, som enkelt kobler forskjellige nettverksgrensesnitt sammen.
    • Støtter VLAN: Kan konfigureres for VLAN tagging, noe som gir grunnleggende nettverkssegmentering.
    • Integrasjon med iptables: Kan bruke Linux iptables for å definere brannmurer, NAT, og routing-regler.
  • Fordeler:

    • Enkelhet: Lett å konfigurere og administrere, med mindre overhead og kompleksitet enn OVS.
    • Lite ressurskrevende: Krever mindre systemressurser og er mer effektiv for små og mellomstore miljøer.
    • Innebygd i Linux: Leveres som en standard del av Linux-kjernen, krever ingen ekstra installasjon.
  • Ulemper:

    • Begrenset funksjonalitet: Mangler avanserte funksjoner som OVS tilbyr (som SDN-støtte, avansert tunneling, og OpenFlow).
    • Skalerbarhet: Ikke designet for de samme store skala distribusjonene som OVS.

Sammendrag av Forskjeller:

Funksjon Open vSwitch (OVS) Linux Bridge
Kompleksitet Mer kompleks, designet for store datasentre og skyen Enkel å bruke, egnet for mindre virtualiserte miljøer
Avanserte Funksjoner Støtter tunneling, OpenFlow, QoS, SDN-integrasjon Begrenset til enkel switching og VLAN-støtte
Skalerbarhet Høy, passer for store distribusjoner Begrenset, best for små til mellomstore miljøer
Ytelse Kan være høyere ressursforbruk grunnet avanserte funksjoner Mindre ressurskrevende og mer effektiv for enkle oppsett
Støtte for SDN Full støtte (OpenFlow, integrasjon med eksterne kontrollere) Ingen spesifikk SDN-støtte
Innebygd i Linux Nei, krever installasjon og konfigurering Ja, standard del av Linux-kjernen

Når skal du bruke hva?

  • Bruk OVS hvis du trenger avansert nettverksadministrasjon, skalerbarhet, integrasjon med SDN, og ønsker å sette opp komplekse nettverksmiljøer som datasentre eller distribuerte skyplattformer.

  • Bruk Linux Bridge for enkle og mellomstore virtualiseringsmiljøer hvor du trenger grunnleggende nettverksfunksjonalitet uten kompleksiteten og overhead av OVS.

For ditt Proxmox-oppsett, velg Linux Bridge for et enkelt oppsett eller når du har begrensede nettverksbehov, og vurder OVS hvis du planlegger å bygge mer avanserte nettverksløsninger eller integrere med SDN-løsninger i fremtiden.

Ja, vi kan absolutt lage et mini Proof-of-Concept (PoC) for å leke med Open vSwitch (OVS) side-by-side med ditt eksisterende oppsett i Proxmox. Dette vil gi deg muligheten til å utforske OVS uten å forstyrre ditt eksisterende nettverksoppsett basert på Linux Bridge.

Plan for OVS Mini Proof-of-Concept i Lab Riggen

1. Mål for Proof-of-Concept:

  • Lære og utforske: Hvordan sette opp Open vSwitch i Proxmox VE.
  • Implementere grunnleggende nettverksfunksjoner: OVS-switch, OVS-bond, OVS-VLAN.
  • Teste nettverkstrafikkflyt og funksjoner: Test trafikkstyring, VLAN-segmentering og muliggjør fremtidige scenarier som SDN-integrasjon.

2. Design av PoC Nettverksoppsett:

Vi skal opprette et separat nettverk ved hjelp av OVS som kjører parallelt med ditt eksisterende oppsett. Dette gjør det mulig å sammenligne ytelse og funksjonalitet mellom Linux Bridge og OVS. Vi vil fokusere på følgende komponenter for PoC:

  1. OVS Bridge: Opprett en grunnleggende OVS-brygge som en Layer 2 switch.
  2. OVS Bond: Konfigurer en OVS-bond for å binde flere NIC-er sammen for lastbalansering eller failover.
  3. OVS VLAN: Konfigurer VLAN for nettverkssegmentering på OVS-bryggen.
  4. Virtuelle maskiner (VMs): Opprett et par test-VMer som kommuniserer over OVS-oppsettet.

3. Nettverksoversikt for PoC:

Komponent Beskrivelse
OVS Bridge (ovsbr0) Grunnleggende OVS-brygge for å koble VM-er sammen.
OVS Bond (ovs-bond0) Lastbalansering eller failover mellom flere fysiske NIC-er.
OVS VLAN (vlan100) VLAN for segmentering av nettverkstrafikk for testformål.
Test VMs To VMer for testing av trafikk over OVS-nettverket.

4. Trinn-for-trinn Oppsett i Proxmox:

Steg 1: Installer Open vSwitch Pakker

Logg inn på Proxmox-serveren din og installer Open vSwitch-pakkene:

apt update
apt install openvswitch-switch -y

Dette vil installere nødvendige OVS-verktøy som lar oss konfigurere brygger, bonds og VLANs.

Steg 2: Opprett en OVS Bridge (ovsbr0)

Nå skal vi opprette en grunnleggende OVS-brygge kalt ovsbr0:

ovs-vsctl add-br ovsbr0

Du kan sjekke at bryggen er opprettet ved å bruke følgende kommando:

ovs-vsctl show
Steg 3: Legg til Fysiske NICs til OVS Bryggen

Legg til et fysisk nettverkskort (f.eks. enp7s0) til OVS-bryggen for å koble det til det fysiske nettverket:

ovs-vsctl add-port ovsbr0 enp7s0

Merk: Hvis du har flere nettverkskort som du vil bruke med OVS, kan du legge til flere porter.

Steg 4: Opprett en OVS Bond (ovs-bond0)

Konfigurer en OVS-bond for lastbalansering eller failover. La oss si at du har to fysiske NIC-er (enp7s0 og enp10s0):

ovs-vsctl add-bond ovsbr0 ovs-bond0 enp7s0 enp10s0 bond_mode=balance-slb

Dette vil lage en bond (ovs-bond0) med begge NIC-er som kjører i balance-slb (source load balancing) modus.

Steg 5: Opprett en OVS VLAN (vlan100)

Lag en VLAN på OVS-bryggen:

ovs-vsctl add-port ovsbr0 vlan100 tag=100 -- set interface vlan100 type=internal

Dette vil opprette en VLAN-grensesnitt (vlan100) som bruker taggen 100.

Steg 6: Opprett Test VMer i Proxmox:

Gå til Proxmox webgrensesnittet:

  1. Opprett to VMer (Test-VM1 og Test-VM2):

    • Koble begge VMer til ovsbr0 som nettverksbrygge.
    • Bruk standardoppsett, men pass på at nettverksgrensesnittet er koblet til ovsbr0.
  2. Konfigurer Nettverksinnstillinger i VM-er:

    • Sett IP-adresser til VM-ene slik at de er på samme subnett (f.eks., 192.168.100.10/24 og 192.168.100.11/24).
Steg 7: Test Trafikkflyt og VLAN-funksjonalitet

Logg inn på begge test-VMene og kjør ping- eller iperf-tester for å verifisere at de kan kommunisere over OVS-bryggen:

ping 192.168.100.11  # Fra Test-VM1
iperf3 -s            # På Test-VM1 som server
iperf3 -c 192.168.100.10  # Fra Test-VM2 som klient

Verifiser også VLAN-funksjonaliteten ved å sjekke at trafikk på vlan100 er korrekt segmentert og isolert.

5. Oppsummering og Neste Steg:

Med dette oppsettet har du nå en mini Proof-of-Concept for OVS i din lab, som kjører side-by-side med det eksisterende Linux Bridge-oppsettet. Dette gir deg en god start for å utforske OVS-funksjonaliteter som:

  • Lastbalansering og Failover gjennom OVS-bond.
  • Nettverkssegmentering ved hjelp av OVS-VLANs.
  • Ytelsestesting for å sammenligne OVS med Linux Bridge.

Du kan senere utvide oppsettet ditt ved å integrere flere avanserte OVS-funksjoner som SDN-kontrollere eller avanserte tunneling-protokoller. Dette gir deg en fleksibel lab hvor du kan eksperimentere med både grunnleggende og avanserte nettverkskonsepter!