Proxmox 8 installieren auf Debian 12 - Noez.de [DE/KVM Server]

Willkommen! :slight_smile:

Heute werden wir für das Proxmox 8 Tutorial auf Debian 12 folgendes lernen:

  1. Du lernst die Netzwerkkonfigurationen auch speziell für Noez.de KVM Servern anzupassen um Proxmox darauf nutzen zu können

  2. Du wirst zudem auch lernen und verstehen wie Du auch ipv6 auf kvm für Proxmox routest

  3. Du wirst Cloud-init und die rc.local weiter verstehen können

  4. Auch Proxmox wird in Hand um drehen auf deinem KVM Server funktionieren

Schritt 1. - Die Netzwerke und deren Aufbau verstehen

Logge dich zunächst auf deinem Noez KVM Server ein.
Im Anschluss schauen wir erst einmal was unser KVM Server für routen und Netzwerk Konfigurationen hat.

# Mit diesem Befehl kannst du alle Interface einsehen und auch deren aktuell geaddeten IPv4 oder IPv6 Adressen
ip a
# Du kannst mittels grep die Interface einzeln filtern um eine bessere Übersicht zu haben

# Für IPv4 Adressen auf eth0
ip a | grep eth0
ip a | grep eth0 | grep inet

# Und für IPv6 Adressen auf eth0
/sbin/ip -6 addr show dev eth0 | grep inet

FAQ:

  • Wo finde ich meine Routen vom Gateway für IPv4 oder IPv6?
    Antwort:
    Du kannst mittels ip route die Gateways einsehen oder auch aktuelle bestehende routen
# Für IPv4 routen auf main Table
ip route show

# Für IPv6 auf main Table
ip -6 route show
  • IPv6 Funktioniert nicht error: connect: Network is unreachable
    Antwort:
    Das ist mir auch aufgefallen und kein Grund zur Panik, der IPv6 Gateway wurde hierfür nicht richtig bei der installation gesetzt.
    Das werden wir kurz ändern:
# Hier verbergen sich weitere Noez routen die vom Installer gesetzt wurden (Auch für Boot)
nano /etc/rc.local

Hier ein Beispiel von meiner rc.local auf meiner KVM von Noez.de.
rc.local weißt einen kleinen Fehler auf den man in Hand um drehen selbst lösen kann:

# Gebe folgenden Befehl ein es fehlt: onlink am Ende des Befehls
ip -6 route add default via Dein-GWv6 dev eth0 onlink
ip addr add deine-v6/128 dev eth0
ip -6 route add deine-v6/128 dev eth0
ping -6 Dein-GWv6
# Sobald der gateway pingt ist die v6 Adresse nun aktiv
ping -6 google.de

64 bytes from fra24s08-in-x03.1e100.net (2a00:1450:4001:82b::xxxx): icmp_seq=1 ttl=121 time=0.667 ms
64 bytes from fra24s08-in-x03.1e100.net (2a00:1450:4001:82b::xxxx): icmp_seq=2 ttl=121 time=6.28 ms
64 bytes from fra24s08-in-x03.1e100.net (2a00:1450:4001:82b::xxxx): icmp_seq=3 ttl=121 time=1.23 ms

Das ist aktuell mein Fix den ich euch momentan anbieten kann :slight_smile:

Schritt 2. - Vorbereitung für Proxmox 8

# Unser neuer Network Manager (Eigentlich Standard bei Debian 12 - Unterschied war zuvor Cloud-init)
apt-get install ifupdown -y

Jetzt müssen wir einige Cloud-init Anpassungen vornhemen bei den Noez.de KVM Server:

# Setze hier deinen Hostnamen dauerhaft in den Cloud-init Templates
nano /etc/cloud/templates/hosts.debian.tmpl
# Vorher
127.0.1.1 {{fqdn}} {{hostname}}
# Nacher
1.0.2.3 domain.example.com

# Im Anschluss folgendes
hostnamectl set-hostname domain.example.com

Als nächstes deaktivieren wir Cloud-init für die Netzwerkebene:

# Gehe zur: /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
# Und trage dies dort ein.
{config: disabled}

Mit diesem Schritt greift Cloud-init nicht mehr in unseren eigenen Netzwerkkonfigurationen ein.

Da bei Noez auf aktuell debian 12 images netplan aktiv ist (Gilt für die Automatische Installation des KVM Servers), muss natürlich das Netzwerk für Proxmox ordentlich angepasst werden.
Aber es gilt zu beachten das Netplan odere ifupdown nur das macht was man ihn auch sagt, so gilt es nichts weiter zu befürchten.

Löscht also folgende Konfigurationen bei Netplan raus:

# Netplan Cloud-init Konfiguration komplett löschen
rm /etc/netplan/50-cloud-init.yaml

Jetzt aber nicht das Netzwerk neustarten, okay? :slight_smile:
Das müssen wir nähmlich jetzt bei ifupdown direkt im Anschluss konfigurieren.

# Öffnet unsere neue Netzwerkkonfiguration
nano /etc/network/interfaces

# Tragt hierfür alle wichtigen Daten wie GWv4 und GWv6 sowie euren zugeteilten primären IP-Adressen
    auto eth0
    iface eth0 inet static
        address Noez-Ipv4-Primäre/24
        gateway Noez-GWv4
        dns-nameservers 1.1.1.1, 1.0.0.1

    iface eth0 inet6 static
    address Noez-IPv6-Primär-Adresse/128
    gateway Noez-GWv6

Jetzt wird es spanned, wenn Ihr alles richtig eingestellt habt so wird dieser Befehl euch danach auch weiterhin in der KVM Lassen - Kleiner Tipp: ändert das passwort kurzzeitg zu einem Nummern Passwort - Warum?: Weil Ihr somit dann falls was schiefgeht euch in die Noez KVM Console besser einloggen könnt :slight_smile:

# Löscht das aktuelle Interface und flusht es und netplan wird bereinigt und zudem wird der neue ifupdown einmal neu gestartet.
ip link del eth0; ip addr flush dev eth0; netplan apply; service networking restart

# Status prüfen
service networking status

Jetzt können wir die rc.local auch löschen:

rm /etc/rc.local
# Bitte einmal den KVM Server neustarten
reboot

Bug Fix für DNS:

nano /etc/systemd/resolved.conf

# DNS nochmals hier setzen
[Resolve]
DNS=8.8.8.8 1.1.1.1

# Jetzt Dienst neustarten
systemctl restart systemd-resolved

Fertig! - Die Vorbereitungen sind somit abgeschlossen :slight_smile:

Schritt 3. - Proxmox installieren

# Repository von Proxmox zu Debian hinzufügen
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
# GPG Release File downloaden
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
apt-get install gnupg -y
# Jetzt nur noch den Key hinzufügen
apt-key add /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
# Jetzt nur noch alles auf den frischen Stand bringen
apt update && apt full-upgrade -y
# Jetzt installieren wir Proxmox 8
apt install proxmox-ve postfix open-iscsi chrony -y
# Jetzt Server nochmals neustarten
reboot

Wunderbar :slight_smile: Proxmox ist nun Einsatzbereit :slight_smile:
Loggt euch jetzt mit root ein und dem gleichen Passwort wie als wenn Ihr auch bei Linux mit root euch einloggt.

Jetzt müssen wir nur noch die Linux Bridge erstellen


Löscht jetzt in der GUI die gesamten Daten von Interface eth0 raus !! Achtung !! Nicht dann direkt die Änderung direkt übernehmen sondern so:

Erstellt im Anschluss direkt eine Linux Bridge in der GUI auf 1. Erstellen 2. Linux Bridge

Jetzt die gleichen daten eintragen wie zuvor bei eth0 mit anschluss auf Bridge Port eth0 verweisen.

Jetzt übernehmen wir die Änbderung und fertig! :slight_smile:

Jetzt nur noch für die VMs und Container das IPv4 und Optional IPv6 Forwarding akzeptieren im Linux Kernel:

# Öffne die Konfiguration
nano /etc/sysctl.conf

# Entferne hier die Hashtags von den zwei Parametern

net.ipv4.ip_forward=1

net.ipv6.conf.all.forwarding=1

# Änderung übernehmen
sysctl -p

Danke fürs Lesen meiner Anleitung! :slight_smile: