Proxmox auf vServer, öffentliche IPv6 konfigurieren

  • Hallo zusammen,


    ich teste gerade, wie ich Dienste auf meinem vServer über IPv6 erreichbar machen kann.


    Es scheint bekannt zu sein, dass das etwas tricky ist:


    Host

    Auf dem Host funktionieren IPv4 und IPv6 problemlos (OUT, IN habe ich noch nicht ausprobiert)


    VMs/LXC

    NAT für "IPv4 OUT" funktioniert über vmbr0 und "IPv4 IN" strebe ich gar nicht an. IPv6 innerhalb der VMs bzw. Container bekomme ich leider gar nicht hin.


    Bud hatte seine Konfiguration der vmbr0 hier bereitgestellt, die ich angepasst habe. Mein erstes Problem ist, dass ich eth0 nicht gehen ens3 ersetzt bekomme: Löschen von "net.ifnames=0" in /etc/boot/grub (+anpassen der /etc/network/interfaces) hat nichts gebracht: eth0 wird verwendet und "enp0s3" bzw. "ens3" werden als "altname" ausgegeben. Ist das wichtig, auf ens3 umzustellen (selbstredend mit der zugehörigen iptables-Konfig, etc.)


    Danach habe ich noch diese vielversprechende Anleitung gefunden, die aber von 2017 ist.


    https://serverless.industries/2020/05/01/proxmox-lxc-netcup.html


    Weil das noch mehr Fummelei ist und es vermutlich gibt es noch weitere Anleitungen gibt, deren Aktualität und Qualität ich nicht einschätzen kann, wollte ich fragen, ob jemand eine netcup-best-practice Proxmox-Konfig kennt/hat, die den aktuellen Gegebenheiten hier ungefähr entspricht und ich anpassen könnte.


    Eine helfende Hand wäre nett :)

    Der Taschenphilosoph


    --- Aktuelle Konfig ---



  • Ist das wichtig, auf ens3 umzustellen (selbstredend mit der zugehörigen iptables-Konfig, etc.)

    Nein. Setze einfach das Interface in der Konfiguration, das du benutzt. Es ist nur ein Name.


    Danach habe ich noch diese vielversprechende Anleitung gefunden, die aber von 2017 ist.

    Oh, aus dem ägyptischen Museum. Werden noch Dinosaurier erwähnt?


    Weil das noch mehr Fummelei ist und es vermutlich gibt es noch weitere Anleitungen gibt, deren Aktualität und Qualität ich nicht einschätzen kann, wollte ich fragen, ob jemand eine netcup-best-practice Proxmox-Konfig kennt/hat, die den aktuellen Gegebenheiten hier ungefähr entspricht und ich anpassen könnte.

    Die Fummelei wird noch deutlich größer, als in der Anleitung beschrieben.


    Suche mal nach "ndppd" hier im Forum. Das Problem ist nicht die IPv6 Konfiguration der Proxmox VMs, sondern sie erreichbar zu machen. Wie in deinem Artikel ja auch steht, nutzt Netcup kein geroutetes Subnetz, sondern ein geswitchtes. D.h., du musst der Infrastruktur bei netcup klar machen, dass da IPv6 Adressen bei dir im Einsatz sind, die sie nicht direkt auf dem Interface des Hosts sehen können: Ein NDP Proxy. Problem: Selbst mit einer perfekten NDP Konfiguration wirst du auch fernerhin Paketverluste und Lags beim Zugriff auf deinen Server feststellen. Wie gesagt, die Threads mit dem Begriff "ndppd" geben dir einen Überblick über die Probleme.

    IPv6 in LXC Container auf KVM Root Server mit Proxmox als Host Betriebssystem - netcup Kundenforum
    Hallo ich habe einen RS 4000 G9.5 und darauf Proxmox 7.3 installiert. Ich betreibe mehrere LXC Container und möchte einigen eine GUA IPv6 Adresse verpassen.…
    forum.netcup.de

    VPS Docker IPv6 - netcup Kundenforum
    Hallo Netcup Gemeinde. Hab da "eigentlich" ein simples Problem, bei dem ich aber irgendwie auf dem Schlauch stehe. Auf einem VPS läuft Docker, dessen…
    forum.netcup.de

    IPv6 Traffic forwarding geht nicht - netcup Kundenforum
    Hallo, ich habe eine Verbindung zwischen zwei Servern (einer hier der VPS) via wireguard. Ich möchte Traffic der bei dem VPS hier ankommt zu dem anderen…
    forum.netcup.de

    IPv6 hakt ständig - netcup Kundenforum
    Wie in diesem Forum empfohlen habe ich mir nun ein "routed network" für IPv6 dazu gebucht, damit ich IPv6 ohne NAT nutzen kann. In meinem Szenario habe ich…
    forum.netcup.de

    Docker and ipv6 - netcup Kundenforum
    Hi, nachdem ich heute viele Forenbeiträge durchforstet habe und es leider immer noch nicht klappt, würde ich hier gerne um Hilfe bitten. Ich versuche aktuell…
    forum.netcup.de


    So richtig gut wird es nur, wenn du ein zusätzliches /64 für deinen Server buchst. Das ist ein geroutetes Netz, und es gibt die beschriebenen Probleme nicht.

  • Ich betreibe bei Netcup auch einen Proxmox.


    IPv4 per NAT raus und mit Port Forwarding rein (also klassisch 0815). Intern nutze ich daher auch ein privates IPv4-Netz.


    Edit: Im Prinzip terminiert bei mir alles auf einem Reverse Proxy (nginx auf einem LXC) und von da aus geht's weiter.


    Für IPv6 würde ich tatsächlich die 12€/Jahr investieren. Keine Kopfschmerzen, läuft einfach und in wenigen Minuten am Proxmox eingerichtet.

  • Man möge mir verzeihen, aber ich möchte dich jetzt nicht durcheinander bringen, da du alles auf vmbr0 konfiguriert hast.

    Wir machend das jetzt kurz und schmerzlos, hier komplett IPv4-NAT und IPv6 mit zusätzlichen Subnet als tutto-completti (ist jetzt leider ein halber "Doppel-Post").

    Dann ist das mit den Interfaces wohl dann hoffentlich klar(er):


    Disclaimer: Das ist meine Lösung und ggf. nicht DIE Lösung für IPv4(NAT)/IPv6-Funktionalität in Verbindung mit Proxmox.

    Das Ganze basiert auf dem aktuellen Proxmox in der Version 8.2, daher sollten die Interfaces vmbr0 und ggf. vmbr1 bei dir entsprechend vorhanden sein.


    Voraussetzung:

    Der Proxmox hat über vmbr0 regulär bereits IPv4 (Public) und IPv6 konfiguriert (mit dem Inklusiv-IPv6-Subnetz)



    IPv4 per NAT IN and OUT:


    Step 1:

    Wir legen auf dem Node ein neues Interface als Linux-Bridge an und vergeben dort eine IPv4/CDIR. Beispielhaft nutzen wir das Netz 192.168.1.0/24 und vergeben hier die 192.168.1.1.


    Step 2:

    In der /etc/network/interfaces fügen wir nun unter der IPv4-Sektion der vmbr1 folgendes ein, damit kommen wir anschl. per NAT schonmal raus.


    Code
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o vmbr0 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s 192.168.1.0/24 -o vmbr0 -j MASQUERADE
    post-up iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
    post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1


    Möchte ich eingehenden Datenverkehr per Port-Forwarding weiterschubsen, dann muss folgendes ebenso hinzugefügt werden:

    Code
    post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport <PORT> -j DNAT --to <IP:PORT>
    post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport <PORT> -j DNAT --to <IP:PORT>

    Ja, das vmbr0 ist korrekt und muss hier für jeden Service explizit immer hinzugefügt werden.


    System anschließend neustarten.


    Step 3:

    Bei den LXC/VM erstellt man nur noch ein Netzwerk-Interface, was an die vmbr1 angeschlossen ist.

    Hier nun eine beliebige IPv4 aus dem beispielhaft genutzten 192.168.1.0/24 vergeben. Als IPv4-Gateway geben wir die auf der vmbr1 angelegte IPv4 (hier: 192.168.1.1) an.


    FERTIG


    IPv6 mit zusätzlichem Subnet:


    Step 1:

    Zusätzliches IPv6-Subnet bei Netcup bestellen und dem Server zuweisen


    Step 2:

    • Aus dem gebuchten, zusätzlichem IPv6-Subnet müssen wir uns nun eine IPv6-Adresse als "Gateway-IPv6" reservieren (im folgenden GW-IPv6 genannt)
    • Gleichzeitig haben wir nun im SCP beim zusätzlichem IPv6-Subnetz auch eine von Netcup vorgegebene "Routing/Gateway-IPv6" erhalten. Diese sehen wir im SCP beim Server im Bereich Netzwerk (da wo man die IP-Adressen setzt). Diese nenne ich im folgenden Routing-IPv6


    Step 3:

    In der /etc/network/interfaces fügen wir nun unter der IPv6-Sektion der vmbr0 folgendes ein:

    Code

    Code
    post-up ip -6 address add <ROUTING-IPv6>/128 dev vmbr0
    down ip -6 address del <ROUTING-IPv6>/128 dev vmbr0


    Step 4:

    Im der Proxmox-GUI auf dem Node konfigurieren wir nun die vmbr1 und vergeben dort unter "IPv6/CDIR" die unter Step 2 genannte GW-IPv6.


    Step 5:

    In der /etc/sysctl.conf entkommentieren wir noch folgende Zeile (also # weg machen)

    Code

    Code
    #net.ipv6.conf.all.forwarding=1


    That`s it und Reboot. Fertig ist die Laube.


    Bei den LXC/VM erstellt bzw. nutzt man nur noch ein Netzwerk-Interface, was an die vmbr1 angeschlossen ist (Siehe IPv4-Abschnitt)

    Hier nun eine beliebige IPv6 aus dem zusätzlichen IPv6-Subnetz vergeben. Als IPv6-Gateway geben wir die auf der vmbr1 angelegte GW-IPv6 an

  • Ich hatte mich damals gar nicht richtig bedankt: Deine Lösung funktioniert wunderbar!

    Weil ich damals noch etwas unfirm war, hatte ich es wegen eines Unverständnis nicht direkt hinbekommen und dann etwas liegen lassen. Ich hatte Deinen Post nochmal gesehen und mich für Deine Mühe und natürlich die Lösung bedanken!