Ubuntu 18.04 und IPv6

  • Hallo,


    mein Ubuntu 18.04 Server (KVM) bekommt beim (Neu)start seine IPv6 Adresse nicht. Habe alles statisch in die /etc/network/interfaces eingetragen. Offenbar nutzt die neue Ubuntu Version wohl cloud-init zum Konfigurieren des Netzwerks. Also habe ich auch dort meine Einträge vorgenommen. Trotzdem erhält der Server seine Adresse nicht. Manuelles Hinzufügen mit ip -6 addr add ... funktioniert immerhin bis zum nächsten Neustart.

    Im Control Panel ist die IPv6 Adresse natürlich auch eingetragen.


    Hier meine Konfigurationen:

    # ip a

    # /etc/network/interfaces

    # /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg

    # /etc/cloud/cloud.cfg.d/49-custom-networking.cfg

    # /var/log/cloud-init-output.log

  • Ach, netplan heißt der Mist ;) Das war der entscheidende Hinweis, Danke!

    Die configs unter /etc/cloud/cloud.cfg.d/ sind anscheinend nicht die richtigen.

    Die Änderungen gehören in die Datei /etc/netplan/50-cloud-init.yaml. Meine sieht jetzt so aus:

    Code: /etc/netplan/50-cloud-init.yaml
     network:
        ethernets:
            ens3:
                addresses: [ 185.183.158.xxx/22, '2a03:4000:1d:xxxx::1/64' ]
                dhcp4: true
                dhcp6: true
        version: 2

    Einträge für gateway etc habe ich nicht vorgenommen. Es reicht anscheinend so.


    Danach folgende Kommandos ausführen:

    netplan generate

    netplan apply


    Dann läuft es :)

  • Bei mir sieht es ein bisschen anders aus:

    Begründung:

    1. Die IPv6 Adresse wird statisch zugewiesen, bzw. DHCP 6 ist nicht vorhanden, deshalb "dhcp6: no".
    2. Die IPv4 Adresse wird vom DHCP zugewiesen, deshalb gebe ich sie in den addresses nicht nochmals an.

    Ich bin neu hier. Ob das nun richtiger oder besser ist, weiss ich auch nicht. Ich hab's aus eigenen Überlegungen so gemacht.


    Was die Darstellung der Adressen unter addresses betrifft, so ist das nur eine andere Form. Man kann so Adressen untereinander auflisten. Ich finde das bei langen Listen übersichtlicher.

    Beispiel:

    Code
          addresses:
            - 2a03:4000:32:xxx::2/64
            - 2a03:4000:32:xxx::3/64

    Und denkt daran, in Netplan sind die Einrückungen von höchster Bedeutung und eine der häufigsten Fehlerquellen. Niemals Tabulatoren verwenden!!! Ich verwende immer zwei Leerzeichen pro Stufe.


    Was mir nicht ganz klar ist, warum meine Netplan-Konfiguration ohne Angabe der IPv6 DNS Serveradressen läuft. Auf einem dedizierten Ubuntu 18.04 Server bei einem anderen Provider musste ich diese in der Netplan-Konfiguration unter nameservers:/addresses: auch noch setzen.


    ping -6 google.com funktioniert hier auf meinem RS 1000 aber ohne weiteres zutun meinerseits einfach so.

  • Nutzt Dein Ubuntu Image netplan? Dann greift diese Konfiguration nicht.


    Ich weiß leider aktuell nicht wie man das alte Verhalten aktiviert.

    https://wiki.ubuntuusers.de/Netplan/Deaktivieren/

    Kurzfassung:


    Code
    sudo apt-get install ifupdown


    Den Teil mit

    Code
    GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=true"

    und

    Code
    update-grub2


    habe ich mir sparen können. Danach greift /etc/network/interfaces wieder.



    Ich war zuerst auch spektisch, aber netplan kann bisher alle Setups ohne post-up etc. gescripte.


    Mir fehlt bisher die Phantasie, die Vorteile von netplan gegenüber ifupdown zu erkennen. Ich finde ifupdown robuster, wenn man damit richtig umgehen kann.

  • Bei netplan sehe ich nur einen Vorteil und zwar wenn man eigene Routen setzen will. Da ist die Syntax klarer und unabhängig von den installieren IP-Tools. Und man kann Interfaces anhand der MAC identifizieren, für den Fall das systemD die Devices umbenennt, oder auch nicht.


    Da ich jetzt langsam mehr Bionic VMs habe, bin ich mal gespannt wie das Verhältnis von netplan zu ifupdown zukünftig ausfallen wird...