Bitte um Hilfe bei IPv6 in Proxmox-Containern

  • Hallo.


    Ich habe jetzt verschiedene Anleitungen u.a. hier aus dem Forum versucht, auf meine Situation anzuwenden, und kriege es trotzdem nicht hin, dass meine Container nach außen kommunizieren können. Vielleicht weiß jemand, wo der Fehler liegt?


    Ich habe hier einen KVM RootServer auf dem ich Proxmox-VE 6.3.1 installiert habe. Dort sieht meine /etc/network/interfaces so aus:

    was zu folgenden Interfaces führt (ip a:(

    Und folgender Routing-Tabelle (ip -6 r:(

    Code
    ::1 dev lo proto kernel metric 256 pref medium
    2a03:4000:X:X::1 dev ens3 proto kernel metric 256 pref medium
    2a03:4000:X:X:1::/80 dev vmbr0 proto kernel metric 256 pref medium
    fe80::/64 dev ens3 proto kernel metric 256 pref medium
    fe80::/64 dev vmbr0 proto kernel metric 256 pref medium
    default via fe80::1 dev ens3 proto kernel metric 1024 onlink pref medium

    Außerdem habe ich zwei Container mit debian-10-standard_10.7-1 erstellt, die die Adressen 2a03:4000:X:X:1::2/80 und 2a03:4000:X:X:1::3/80 haben.


    Auf dem Host funktioniert nun

    Code
    ping6 2a03:4000:X:X::1
    ping6 2a03:4000:X:X:1::1
    ping6 2a03:4000:X:X:1::2
    ping6 2a03:4000:X:X:2::3
    ping6 google.com

    Also Ping zu sich selbst, zu den Containern und nach außen. Soweit so gut.

    Von einem Container aus jedoch kann ich z.B. google.com nicht erreichen. Hier habe ich folgende Konfiguration:

    ip a:

    ip -6 r:

    Code
    ::1 dev lo proto kernel metric 256 pref medium
    2a03:4000:X:X:1::/80 dev eth0 proto kernel metric 256 pref medium
    fe80::/64 dev eth0 proto kernel metric 256 pref medium
    default via 2a03:4000:X:X:1::1 dev eth0 metric 1024 onlink pref medium

    Hier funktioniert jetzt auch:

    Code
    ping6 2a03:4000:X:X::1
    ping6 2a03:4000:X:X:1::1
    ping6 2a03:4000:X:X:1::2
    ping6 2a03:4000:X:X:1::3

    Also Pings innerhalb des /80-er Netzes zu den Containern und dem entsprechenden Interface auf dem Host, zum externen Interface vom Host, aber eben nicht nach außen zu google.com


    Ich habe auf dem Host auch schon net.ipv6.conf.all.forwarding aktiviert und alles neugestartet. Leider auch kein Erfolg. Kann mir jemand einen Tipp geben, was ich vergessen habe oder falsch mache? iptables-Regeln gibt es bis auf das MASQUERADE für IPv4 keine. Ach ja: und IPv4 funktioniert tadellos.

  • Inzwischen bin ich mal auf die Idee gekommen, mt tcpdump zu schauen, was bei so einem Ping passiert.

    Auf dem Host tcpdump -nni ens3 icmp6 während im Container ein Ping6 an google.com läuft:


    Code
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on ens3, link-type EN10MB (Ethernet), capture size 262144 bytes
    12:54:35.473139 IP6 2a03:4000:X:X:1::2 > 2a00:1450:4001:817::200e: ICMP6, echo request, seq 16, length 64

    Also sieht es wohl so aus, als würden die Pakete rausgeschickt werden, aber es kommen schon beim Host keine Antworten mehr an. Ich dachte, durch den Gateway auf meinem Host werden die Pakete von der registrierten MAC-Adresse aus gesendet und entsprechend nicht gefiltert. War das ein Denkfehler und das kann gar nicht ohne NAT funktionieren? Oder dadurch, dass die virtuallen MAC-Adressen registriert und freigeschaltet werden, was aber ja hier keine Option ist.

  • OMG. Vielen Dank. Ich hatte vorher schon in einem Beitrag hier von NDP-Proxy gelesen und hatte das auch über sysctl. aktiviert. Aber ich hatte offenbar den Eintrag für das Device vergessen, denn mit ip -6 neigh add proxy 2a03:4000:X:X:1::2 dev ens3 hat es sofort funktioniert. Danke schön.