IPv6 für einzelne Netzwerkbrücken in Proxmox unterbinden.
Werden einzelne Netzwerkbrücken (vmbr) unter Proxmox ausschließlich für VMs genutzt, werden sie in der Regel
ohne IP konfiguriert. Ihre IP erhalten sie von der jeweiligen VM, die darauf zugreift.
In der
/etc/network/interfaces unter Proxmox, wird die Netzwerkbrücke dazu auf "manual" konfiguriert.
auto eno4
iface eno4 inet manual
auto vmbr2
iface vmbr2 inet manual
bridge-ports eno4
bridge-stp off
bridge-fd 0
Das funktioniert mit IPv4 ganz problemlos. Sobald im Netzwerk jedoch IPv6 zur Verfügung steht, erhält die
Netzwerkbrücke aber eine IPv6-Adresse und Proxmox selbst, nicht die VM, ist mit dieser IPv6-Adresse
ansprechbar.
Das Erweitern der /etc/network/interfaces um IPv6, wie man es manchmal ließt,
scheint unter Proxmox nicht zu funktionieren.
auto eno4
iface eno4 inet manual
iface eno4 inet6 manual
auto vmbr2
iface vmbr2 inet manual
bridge-ports eno4
bridge-stp off
bridge-fd 0
iface vmbr2 inet6 manual
accept_ra 0
Das einfügen der Option ipv6.disable=1 in die GRUB Konfiguration sorgt dafür, dass IPv6 auf Proxmox komplett deaktiviert ist. Soll die Netzwerkbrücke, die für die Konfiguration von Proxmox zuständig ist (in der Regel vmbr0) eine IPv6 Adresse bekommt, die anderen unter Proxmox aber nicht, kann die Boot-Option nicht verwendet werden.
Funktioniert hat bei mir, das editieren der Datei /etc/sysctl.conf bzw. das erstellen einer
eigenständigen Datei /etc/sysctl.d/60-disable-ipv6.conf um es ein wenig übersichtlicher zu
gestalten.
Zunächst erstellt man die Datei /etc/sysctl.d/60-disable-ipv6.conf und öffnet sie
anschließend mit dem Editor seine Wahl.
# touch /etc/sysctl.d/60-disable-ipv6.conf # mcedit /etc/sysctl.d/60-disable-ipv6.conf |
In die Datei kann für jede einzelne Netzwerkbrücke eingetragen werden, dass sie unter Proxmox, keine IPv6-Adresse bekommen soll. Das eintragen von Netzwerkbrücken, die eine IPv6 erhalten sollen ist nicht nötig, ich bevorzuge es für die Übersicht.
### disabled IPv6 ###
net.ipv6.conf.vmbr0.disable_ipv6 = 0
net.ipv6.conf.vmbr1.disable_ipv6 = 1
net.ipv6.conf.vmbr2.disable_ipv6 = 1
Um die Einstellung zu übernehmen, wird dieser Befehl ausgeführt.
# sysctl -p -f /etc/sysctl.d/60-disable-ipv6.conf net.ipv6.conf.vmbr0.disable_ipv6 = 0 net.ipv6.conf.vmbr1.disable_ipv6 = 1 net.ipv6.conf.vmbr2.disable_ipv6 = 1 |
Damit erhält nur die Netzwerkbrücke eine IPv6, die für die Konfiguration von Proxmox vorgesehen ist, die anderen Netzwerkbrücken sind unter Proxmox ohne IPv6 konfiguriert. Diese Netzwerkbrücken erhalten in der jeweiligen VM eine IPv4, IPv6 oder auch beides, je nach dem wie es dort konfiguriert wurde.