Anleitung: Proxmox mit IPv6 einrichten

Heute geht’s mit Proxmox weiter in meiner Reihe „IPv6„. Damit hätten wir dann auch bereits 2 sehr wichtige Systeme auf IPv6 erreichbar gemacht und diese können dementsprechend auch nach außen über IPv6 erreichbar gemacht werden. 

Ich gehe hier natürlich davon aus, dass Ihr bereits ein laufendes Proxmox System auf IPv4 Basis habt und euch am Server ein 64er IPv6 Subnet zur Verfügung steht.

Den Proxmox Host für IPv6 vorbereiten

Hier ist gar nicht so viel zu tun.

 

In /etc/sysctl.conf zuerst folgende Zeile einfügen

[su_note note_color=“#c1c1b6″]

net.ipv6.conf.all.forwarding=1

[/su_note]

Dann genau das gleiche erneut um es sofort aktiv zu setzen

[su_note note_color=“#c1c1b6″]

sysctl -w net.ipv6.conf.all.forwarding=1

[/su_note]

Als nächstes braucht Ihr eine fixe IPv6 für den Proxmox Host. Diese wird dann einfach als IPv6 in die /etc/network/interfaces eingetragen.

Sollte in etwas so aussehen:

[su_note note_color=“#c1c1b6″]

iface eth0 inet6 static
 address 2a01:4f8:201:806b::2
 netmask 128
 up sysctl -p
 gateway fe80::1

[/su_note]

das restliche Subnetz kann man nun ganz entspannt auf die Bridge leiten.

[su_note note_color=“#c1c1b6″]

ip -6 route add 2a01:4f8:201:806b::/64 dev vmbr0  

[/su_note]

Wenn die Bridge bei euch anders heißt dann solltet Ihr den Befehl natürlich anpassen aber ich gehe ohnehin nicht davon aus, dass man einfach Blind irgendwas kopiert 😉 

 

Nun noch eine IPv6 für die Bridge vergeben

[su_note note_color=“#c1c1b6″]

iface vmbr0 inet6 static
 pre-up /sbin/modprobe -q ipv6 ; /bin/true
 address 2a01:4f8:201:806b::3
 netmask 64
 up ip route add IP.v4.local.route dev vmbr0
 up ip -6 route add 2a01:4f8:201:806b::/64 dev vmbr0  

[/su_note]

Das wars auch auf der Konsole. Der Rest funktioniert über die Proxmox GUI.

Proxmox Container eine IPv6 zuweisen über das Webinterface

Hier wird einfach über die Proxmox Weboberfläche eine Netzwerkkarte bearbeitet und eine IPv6 eingetragen. Die sollte, logischerweise aus dem Subnet sein welches wir vorhin auf die vmbr0 geroutet haben und als CIDR das /64.

Als Gateway entsprechend die vergebene IPv6 der Bridge vom Proxmox Host.

 

Anschließend den Container einmal rebooten und dann mittels ifconfig schauen ob die IP da ist.

Meine Ausgabe sieht so aus

[su_note note_color=“#c1c1b6″]

eth0 Link encap:Ethernet HWaddr be:8d:c7:4d:3d:0a
 inet addr:192.168.0.150 Bcast:192.168.0.125 Mask:255.255.255.255
 inet6 addr: 2a01:4f8:201:806b::4/64 Scope:Global
 inet6 addr: fe80::bc8d:c7ff:fe4d:3d0a/64 Scope:Link
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
 RX packets:22273666 errors:0 dropped:0 overruns:0 frame:0
 TX packets:21461162 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000
 RX bytes:6469204784 (6.0 GiB) TX bytes:31135892542 (28.9 GiB)

lo Link encap:Local Loopback
 inet addr:127.0.0.1 Mask:255.0.0.0
 inet6 addr: ::1/128 Scope:Host
 UP LOOPBACK RUNNING MTU:65536 Metric:1
 RX packets:32595002 errors:0 dropped:0 overruns:0 frame:0
 TX packets:32595002 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1
 RX bytes:25952130355 (24.1 GiB) TX bytes:25952130355 (24.1 GiB)
 

[/su_note]

 

Tada! Das wars schon. Nun hat mein Container neben einer IPv4 auch noch die entsprechende IPv6 im Proxmox Container.

Mit einem KVM System funktioniert das ganze Analog.

Solltet Ihr ein Privates IPv6 Subnetz verwenden vergesst nicht die Masquerade IPv6 Regeln im iPtables.

Und vergesst in einem Produktiven System nur nicht den AAAA Eintrag auf die IPv6 und den Reverse Eintrag der IPv6 bei euren DNS Einstellungen / Registrar sonst geht es euch unter Umständen wie Google 😆 

Share it!

8 Gedanken zu “Anleitung: Proxmox mit IPv6 einrichten”

  1. Also ich habe die Anleitung genau so befolgt, aber die VMs/Container haben erst Netzwerkzugriff via IPv6 wenn ich masquerading an mache (via iptables)
    allerdings funktioniert dann auch nur ipv6 ausgehend, eingehend funktionierts trotzdem nicht 🙁

  2. Ist ein Public Netz, und wenn ich dann masquerade mache sind ausgehende pakete natürlich auch von der IP die ich eth0 des hosts zugewiesen habe. Intern können sich die container wunderbar hin und her pingen (außer die eth0 ip vom host)
    routing tabelle: https://pastebin.com/6GS1HGm9

    • Welche IPs sind denn den Containern zugewiesen?
      Wie sieht da das Routing aus? Wenn die IP Public aus dem Internet erreichbar sind dann ist kein Masquerade notwendig.
      Kannst du mal die Configs posten vom Host und vom Container?

  3. Hallo,

    ich versuche jetzt schon seit vielen Stunden auf einem Hetzner Server IPv6 zum Laufen zu bringen. Habe auch bei Hetzner eine Anleitung gefunden, die Bestätigt, dass es so wie in Deiner Anleitung beschrieben, funktionieren sollte. Tut es aber nicht 🙁

    Meine /etc/network/Interfaces am Host:

    ### Hetzner Online GmbH installimage
    source /etc/network/interfaces.d/*
    auto lo
    iface lo inet loopback
    iface lo inet6 loopback
    auto enp2s0
    iface enp2s0 inet static
    address XXX.XXX.XXX.163
    netmask 255.255.255.255
    pointopoint XXX.XXX.XXX.129
    gateway XXX.XXX.XXX.129
    iface enp2s0 inet6 static
    address 2a01:4f8:212:XXXX::2
    netmask 128
    gateway fe80::1
    up sysctl -p
    # fuer Einzel-IPs
    auto vmbr0
    iface vmbr0 inet static
    address XXX.XXX.XXX.163
    netmask 255.255.255.255
    bridge_ports none
    bridge_stp off
    bridge_fd 0
    up ip route add XXX.XXX.XXX.188/32 dev vmbr0
    up ip route add XXX.XXX.XXX.189/32 dev vmbr0
    iface vmbr0 inet6 static
    address 2a01:4f8:212:XXXX::3
    netmask 64
    up ip -6 route add 2a01:4f8:212:XXXX::/64 dev vmbr0

    net.ipv6.conf.all.forwarding=1
    Ist aktiv.

    Am Gast hab ich als IP die 2a01:4f8:212:XXXX::100 und als Gateway 2a01:4f8:212:XXXX::2 eingetragen.

    Von außen kann ich die 2a01:4f8:212:XXXX::2 anpingen, die 2a01:4f8:212:XXXX::3 oder gar die 2a01:4f8:212:XXXX::100 nicht.

    Von der VM kann ich die 2a01:4f8:212:XXXX::3, die 2a01:4f8:212:XXXX::2 oder eine externe IPv6 Adresse nicht.

    Vom Host System aus kann ich die ::2, ::3 und die ::100 anpingen.

Kommentar verfassen

Nach oben scrollen