VLAN mit netplan konfigurieren führt zu Unerreichbarkeit vom Internet aus

  • Hallo,


    ich versuche derzeit, mein VLAN einzurichten. Im SCP habe ich pro Server jeweils das VLAN Ethernet hinzugefügt.


    Jetzt habe ich schon einmal 2 Ubuntu-Maschinen mithilfe von netplan wie folgt konfiguriert:


    Code
    eth0:
        [...] # die Standardkonfiguration
    eth1:
        dhcp4: no
        addresses:
        - 10.0.0.10/8
        gateway: 10.0.0.1
        nameservers:
            addresses:
            - [...]

    Nach einem Reboot sind die Server allerdings nicht mehr aus dem Internet heraus erreichbar.

  • 1. Sicher, dass die Netzwerkschnittstellen auch so heißen (ein ifconfig | grep ": " bzw. ip link show bringt hier ggf. Klarheit)?

    2. Die Syntax der Datei sieht normalerweise leicht anders aus (siehe Zeilen 1–3 bzw. diese Beispiele) :

    Code: /etc/netplan/01-netcfg.yaml
    network:
      version: 2
      ethernets:
        ens1:
          dhcp4: yes
          dhcp6: yes

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • 1. Sicher, dass die Netzwerkschnittstellen auch so heißen (ein ifconfig | grep ": " bzw. ip link show bringt hier ggf. Klarheit)?

    2. Die Syntax der Datei sieht normalerweise leicht anders aus (siehe Zeilen 1–3 bzw. diese Beispiele) :

    Code: /etc/netplan/01-netcfg.yaml
    network:
      version: 2
      ethernets:
        ens1:
          dhcp4: yes
          dhcp6: yes

    Ja, die Schnittstellen heißen eth0 und eth1. Mein Quellcode stammte aus der 50-cloud-init.yaml. Ich vermute derzeit, dass ich die Routing Tabelle manuell definieren muss, damit mein Vorhaben funktioniert.

  • Musst du über das VLAN etwas anderes, außer 10.0.0.0/8?

    Wenn nein, kannst du die Gateway Zeile löschen und alles ist wieder aus dem Internet erreichbar.

    Nein, ich möchte meine anderen Server lediglich über ein lokales Netzwerk ansprechen können, damit ich bspw. einen SSH-Tunnel von Server B auf Server A nicht unnötigerweise durch das Internet schicken muss.

  • Mein Quellcode stammte aus der 50-cloud-init.yaml.

    Zwei Anmerkungen dazu zur Sicherheit:

    1. Wenn der Quellcode die ersten drei von mir genannten Zeilen nicht enthält (also oben nicht nur ausschnittsweise zitiert wurde), wäre das sehr seltsam.
    2. Die Datei 50-cloud-init.yaml selbst sollte man niemals editieren. Im Zweifelsfall sollte sie gelöscht und Cloud-Init angewiesen werden, keine netzwerk­spezifischen Einstellungen zu schreiben. Bei Ubuntu findet sich diesbezüglich normalerweise folgender Header in der vorgenannten Datei, sofern sie existiert:
    Code
    # This file is generated from information provided by the datasource.  Changes
    # to it will not persist across an instance reboot.  To disable cloud-init's
    # network configuration capabilities, write a file
    # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
    # network: {config: disabled}
    1. sudo netplan --debug try spuckt einige hilfreiche Informationen aus.

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Zwei Anmerkungen dazu zur Sicherheit:

    1. Wenn der Quellcode die ersten drei von mir genannten Zeilen nicht enthält (also oben nicht nur ausschnittsweise zitiert wurde), wäre das sehr seltsam.
    2. Die Datei 50-cloud-init.yaml selbst sollte man niemals editieren. Im Zweifelsfall sollte sie gelöscht und Cloud-Init angewiesen werden, keine netzwerk­spezifischen Einstellungen zu schreiben. Bei Ubuntu findet sich diesbezüglich normalerweise folgender Header in der vorgenannten Datei, sofern sie existiert:
    Code
    # This file is generated from information provided by the datasource.  Changes
    # to it will not persist across an instance reboot.  To disable cloud-init's
    # network configuration capabilities, write a file
    # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
    # network: {config: disabled}
    1. sudo netplan --debug try spuckt einige hilfreiche Informationen aus.

    Die Config enthält noch weitere Zeilen; habe diese nicht mit zitiert. Verstehe. Wenn ich keine Netzwerk-spezifischen Einstellungen schreibe, was würde dann passieren? Bzw. wozu ist die 50-cloud-init.yaml überhaupt da?


    Viele Grüße.

  • Wenn ich keine Netzwerk-spezifischen Einstellungen schreibe, was würde dann passieren? Bzw. wozu ist die 50-cloud-init.yaml überhaupt da?

    Ohne jegliche netzwerkspezifische Einstellungen dürfte in der Regel nur die lo-Schnittstelle zur Verfügung stehen.

    Die vorgenannte Deaktivierung würde sich nur auf das Cloud-Init-Rahmenwerk auswirken, wenn dieses auch installiert ist; unter Debian/Ubuntu muss in diesem Fall folgendes Paket vorhanden sein:

    Code
    # dpkg --list cloud-init | grep "^ii" | sed -e 's|   *|  |g'
    ii  cloud-init  20.3-2-g371b392c-0ubuntu1~20.04.1 all  initialization and customization tool for cloud instances

    Wenn also 50-cloud-init.yaml die einzige Datei im Verzeichnis /etc/netplan/ ist, und es sich um eine durch Netcup gestellte Installation handelt, dann hat man im Wesentlichen ein Artefakt bzw. das Ergebnis der nicht näher dokumentierten Netcup-eigenen Provisionierung vor sich. Wenn man das vorgenannte Cloud-Init nicht verwendet, kann die genannte Datei eigentlich auch nie überschrieben werden, obwohl man sinnvollerweise die Datei /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg mit obengenanntem Inhalt anlegt, um sich vor "Überraschungen"/Seiteneffekten zu schützen. Eine Umbenennung der YAML-Datei dient dann einem Administrator normalerweise auch als Anhaltspunkt dafür, dass Cloud-Init nicht in die aktive Verwaltung des Inhalts involviert ist.

    Sofern man sich entschließt, (später) Cloud-Init zu verwenden, macht es umgekehrt natürlich Sinn, keine (anderen) Dateien in /etc/netplan/ zu behalten, um ggf. Seiteneffekte zu vermeiden. (Insofern kann man nicht sagen, dass es ungeschickt von Netcup sei, Vorgabe-Einstellungen in 50-cloud-init.yaml abzulegen.) Leider unterstützt Netcup das Rahmenwerk bislang providerseitig noch nicht. ;(

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing