# 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
```