Probleme Failover IPv6

  • Hallo zusammen,


    ich habe Probleme bei meinem root-server die failover ipv6 Adresse einzurichten. (Debian Buster)


    Ich habe die /etc/network/interfaces angepasst (sind nicht die echten IP's)

    Für die IPv4 hatte das nach dem reboot sofort funktioniert.

    Ich hatte auch versucht unter /etc/network/interfaces.d

    eine 60-failover-init.cfg anzulegen

    Code
    iface eth0 inet6 static
        address 2a03:4000:2:11c5::1/64
        gateway fe80::1
    
    iface eth0 inet static
        address 192.168.1.10
        gateway 192.168.1.1
        netmask 255.255.255.0

    Das bringt aber nur die Server-IP durcheinander.



    Die ipv6 weigert sich, erst ein ifconfig eth0 inet6 add 2a03:4000:2:11c5::1/64 bringt, zumindest bis zu einem reboot, den gewünschten Erfolg


    Was habe ich übersehen?


    Gruß Thomas

  • Es ist enorm schwierig zu beurteilen, was nur aufgrund deiner Anonymisierung so ist, und was echte Adressen sind. Insgesamt sieht mir das mehr als chaotisch aus.


    - Warum sind da private und öffentliche IPs auf dem Interface, auch bei IPv4? Das kann nicht gut sein.

    - Die 1.1.1.1 und 2.2.2.2 sind keine realen Adressen, hoffe ich?

    - Wo ist denn die ursprünglich zugewiesene IPv6? Die brauchst du ja zwingend als Routing Ziel

    - Ich würde für die Fail-over IP nicht nochmal das Gateway angeben. Die Route gibt es schon.

  • mach das mal so


    Code
    iface eth0 inet6 static
        address 2a03:4000:4e:11:22:33:fe0b:6fd9
        netmask 64
        gateway fe80::1
    
    post-up ip -6 addr add 2a03:4000:20:29a:45:67:89:198/64 dev eth0
    down ip -6 addr del 2a03:4000:20:29a:45:67:89:198/64 dev eth0


    2a03:4000:4e:11:22:33:fe0b:6fd9 = Failover IPv6 Gateway
    2a03:4000:20:29a:45:67:89:198 = IPv6 aus dem Failover Subnet

  • Die IP's sind ALLE nicht die realen Adressen und sollen nur zeigen das die IPv6 beim reboot nicht gesetzt wird.


    Erst ein ifconfig eth0 inet6 add 2a03:4000:2:11c5::1/64 fügt die Failover korrekt hinzu.


    Es macht dabei keinen Unterschied ob der Gateway nochmals gesetzt wird oder nicht.


    Habe mich dabei an den Artikel netcup Handbuch gehalten


    Gruß

    Thomas

  • Ich vermute da ein Timing Problem.


    die Einträge habe ich auch schon versucht:

    post-up /sbin/ifconfig eth0 inet6 2a03:4000:2:11c5::1/64

    down /sbin/ifconfig eth0 inet6 del 2a03:4000:2:11c5::1/64


    oder:

    post-up ip -6 addr add 2a03:4000:2:11c5::1/64 dev eth0

    down ip -6 addr del 2a03:4000:2:11c5::1/64 dev eth0


    oder

    up ip -6 addr add 2a03:4000:2:11c5::1/64 dev $IFACE

    down ip -6 addr del 2a03:4000:2:11c5::1/64 dev $IFACE


    Werde mir als workaround wohl erst mal ein Startscript bauen das die IP setzt.


    Gruß

    Thomas

  • Die IP's sind ALLE nicht die realen Adressen und sollen nur zeigen das die IPv6 beim reboot nicht gesetzt wird.

    Dann mach wenigstens deutlich, welche davon öffentliche, und welche private sind. Das Unkenntlichmachen der letzten beiden Zifferngruppen reicht ja völlig.


    Da unter interfaces.d ist nur die default 50-cloud-init.cfg da werden die netcup ips wohl automatisch gesetzt.

    Und das macht dich nicht stutzig? Dir ist klar, dass die Änderungen in der interfaces nicht mehr greifen, wenn sie sich in Teilen mit der cloud-init überschneiden?


    Also:

    - zeig deine Konfig mal nachvollziehbar anoymisiert

    - Beachte die Konfiguration von ifupdown komplett und nicht nur einen Teil.

  • Wenn die 50-cloud-ini die Einstellungen überschreibt wäre die Anleitung nicht richtig. Allerdings funktioniert das mit der IPv4 ja Problemlos.


    Habe mir erst mal ein systemd Script geschrieben bis ich herausgefunden habe wo das Problem liegt


    Code
    [Unit]
    Description=FailOverIPv6
    
    [Service]
    Type=oneshot
    #Type=simple
    ExecStart=/sbin/ifconfig eth0 inet6 add 2a03:4000:20:###::1/64
    
    [Install]
    WantedBy=multi-user.target

    50-cloud-ini

  • Wenn die 50-cloud-ini die Einstellungen überschreibt wäre die Anleitung nicht richtig.

    Nein. Zum einen kann die Anleitung ja nicht wissen, ob überhaupt cloud-init installiert ist, zum anderen gilt IMMER das, was in der interfaces steht, man muss es nur lesen.

    source /etc/network/interfaces.d/*

    Und es steht VOR deinen Einträgen.


    ... bis ich herausgefunden habe wo das Problem liegt

    Dürfte jetzt klar sein, oder? Übrigens finde ich immer noch nur eine IPv6. Wie schon erwähnt, das reicht nicht.

  • Dürfte jetzt klar sein, oder? Übrigens finde ich immer noch nur eine IPv6. Wie schon erwähnt, das reicht nicht.

    Jetzt stehe ich auf dem Schlauch.

    /etc/network/interfaces.d/50-cloud-init.cfg

    address 2a03:4000:2a:3dc:1431:28ff:fe04:####/64


    und in der /etc/network/interfaces

    address 2a03:4000:20:###::1


    sind doch zwei Adressen oder macht die verkürzte Schreibweise Probleme und es muss address 2a03:4000:20:###:0:0:0:1 heißen.

    Wo ist der Unterschied? IP v4 ist doch genau so konfiguriert und funktioniert.


    Wenn die /etc/network/interfaces die Einträge aus der /etc/network/interfaces.d/50-cloud-init.cfg überschreiben würden, dürften die IP's

    2a03:4000:2a:###:1431:28ff:fe04:367f und 193.30.123.### nicht vorhanden sein.


    Die 50-cloud-init.cfg ist nicht von mir. Die wird vermutlich bei der System Installation im Netcup Script erzeugt damit die IP's zugewiesen werden.

    Könnte die natürlich löschen und alles in die interfaces schreiben. Bin mir aber nicht sicher ob die nicht beim Start automatisch wieder angelegt wird.


    Nochmal der Zustand nach dem Booten

    und nach ifconfig eth0 inet6 add 2a03:4000:20:###::1/64

  • Wenn die /etc/network/interfaces die Einträge aus der /etc/network/interfaces.d/50-cloud-init.cfg überschreiben würden, dürften die IP's

    2a03:4000:2a:###:1431:28ff:fe04:367f und 193.30.123.### nicht vorhanden sein.

    Deshalb schrieb ich ja auch:


    Dir ist klar, dass die Änderungen in der interfaces nicht mehr greifen, wenn sie sich in Teilen mit der cloud-init überschneiden?

    Genau das passiert hier.


    Bin mir aber nicht sicher ob die nicht beim Start automatisch wieder angelegt wird.

    Deshalb macht es Sinn, sich mit der cloud-init Doku zu befassen. Dann weißt du, wo du die Sachen ändern kannst.


    Die 50-cloud-init hast du nachträglich in deinen Beitrag reineditiert. Als ich die Antwort geschrieben habe, war die IP noch nicht zu sehen.

  • Die 50-cloud-init hast du nachträglich in deinen Beitrag reineditiert. Als ich die Antwort geschrieben habe, war die IP noch nicht zu sehen.

    Hat sich wohl überschnitten, ich wollte möglichst alle Infos reinpacken und habe den Beitrag einige Male editiert.


    Bin wohl zu doof habe die interfaces.d auskommentiert und alles in die interfaces gepackt. zum testen habe ich noch ein paar IP's hinzugefügt


    Die IPv6 werden nicht gesetzt.

  • Bin wohl zu doof habe die interfaces.d auskommentiert und alles in die interfaces gepackt. zum testen habe ich noch ein paar IP's hinzugefügt

    Da sind auch immer noch Gateway Angaben drin, die da meines Erachtens nicht hingehören, denn die erzeugen Konflikte. Dazu empfiehlt die Doku, nicht mehrere iface Einträge zu erzeugen, sondern up oder post-up statements.


    Dabei fällt mir auf: Deine zusätzliche IPv4 hat auch ein eigenes Gateway. Ist das richtig? Bei mir hat die das nicht. Außerdem hat meine zusätzliche IPv4 die Netzmaske /32.