# Work in progress Dit bouwblok is een work in progress, ik ben nu bezig met het netwerk gedeelte. # Wat is een kvm hypervisor ## Conventie | | | | ------------ | --- | | *hypervisor* | | | *guest* | | # Systeem # Netwerk **Omschrijving** Er zijn een aantal netwerk mogelijkheden die een "*guest*" aangeboden kan krijgen van de hypervisor, hieronder een aantal voorbeelden en uitwerkingen. *Een verbinding via NAT* *Een bridge verbinding* *een Geïsoleerd netwerk* ## Network Address Translation (NAT) Dit is de standaardinstelling waarbij de "*guest*" het IP-adres van de hypervisor delen voor de internet toegang. *Vertoon de netwerk poorten van de kvm server.* ```bash echo && sudo lspci | grep Ethernet && echo ``` ![[kvm netwerk poorten overzicht.png]] ## Bridged Networking De "*guest*" verschijnt als een fysieke hosts op het netwerk, met een eigen IP-adres, hieronder zullen wij een voorbeeld geven hoe een brigded netwerk kan worden opgezet. Als eerste kijken we welke netwerk bridges er al zijn. Er zijn een aantal manier hoe je een bridge kan aanmaken, we tonen hier een aantal mogelijkheden (we gaan dit nog beter laten aansluiten op elkaar) **Stap 1** *Bridges overzicht* ```bash sudo virsh net-list ``` ![[kvm netwerk bridge - stap 1.png]] Bij de volgende stap gaan we een permanente netwerk bridge creëren die niet na een reboot verloren zal gaan. **Step 2** *Creëer een permanente netwerk bridge* ```bash sudo touch /etc/network/interfaces.d/bridge ``` **Step 3** *Voeg de onderstaande configuratie toe* ```bash sudo vi /etc/network/interfaces.d/bridge ``` *configuratie* ```bash # Setup a permanente bridge auto bridge iface bridge inet static bridge_ports enp2s0f0 address 10.0.0.211 netmask 255.255.255.0 gateway 10.0.0.1 network 10.0.0.0 broadcast 10.0.0.255 bridge_maxwait 30 ``` by hand ```bash clear && echo && sudo route -n && echo ``` ![[Pasted image 20260524133048.png]] ``` sudo ip addr add 10.0.0.211/24 dev enp2s0f0 ``` to delete ```bash sudo ip addr del 10.0.0.211/24 dev enp2s0f0 ``` to check ```bash ip addr show enp2s0f0 ``` ``` sudo ip route add default via 10.0.0.1 dev enp2s0f0 ``` ```bash sudo ip route add default via 10.0.0.1 dev enp2s0f0 ``` delete ![[Pasted image 20260517123833.png]] ``` sudo route del -net 0.0.0.0 gw 10.0.0.1 netmask 0.0.0.0 dev enp2s0f0 ``` ```bash sudo ifdown br0 && sudo ifup br0 ``` ## Geïsoleerd netwerk **Omschrijving** De "*guests*" kunnen met elkaar communiceren in deze bubbel, maar hebben geen toegang tot de *"hypervisor"* of het externe netwerk. ```bash sudo touch /root/isolated.xml ``` **Stap 1** *We maken de isolated.xml file aan.* ```bash cat << '_EOF_' > /root/isolated.xml <network> <name>isolated</name> # <forward mode='nat'/> <bridge name="virbr1" stp="on" delay="0"/> <domain name="isolated.local"/> <ip address="192.168.200.1" netmask="255.255.255.0"> <dhcp> <range start="192.168.200.128" end="192.168.200.254"/> </dhcp> </ip> </network> _EOF_ ``` **Stap 2** *Met onderstaande commando maken we een geïsoleerd netwerk aan.* ```bash sudo virsh net-define /root/isolated.xml ``` ![[Pasted image 20260525164409.png]] **Stap 3** *Start het isolated netwerk.* ```bash sudo virsh net-start isolated ``` **Stap 4** *Auto start de isolated netwerk.* ```bash sudo virsh net-autostart isolated ``` **Stap 5** *En we controleren het met onderstaande commando.* ```bash clear && echo && sudo virsh net-list && echo ``` ![[Pasted image 20260525165316.png]] ```bash sudo virsh attach-interface --domain base-domain --type network --source isolated --model virtio --config ``` # Opslag TEMP ``` /etc/network/interfaces.d ``` *br0* ``` auto br0 # Bridge setup iface br0 inet dhcp bridge_ports eth0 # bridge_ports enp2s0f0 ``` *kvm* ``` # # KVM Brigde (eth4) auto kvm # iface kvm inet static bridge_ports eth4 address 10.0.1.1 # broadcast 10.0.1.255 netmask 255.255.255.0 # gateway 10.0.0.1 ``` ``` cd /etc/systemd/network/ ``` *00-eth0.link* ``` [Match] MACAddress=18:c0:4d:9e:12:a2 [Link] Description=Onboard NIC 2.5G Name=eth0 ```