Unter Ubuntu 20.04 können keine zusätzlichen IP-Adressen hinzugefügt werden. Netplan verwenden

Unter Ubuntu 20.04 können keine zusätzlichen IP-Adressen hinzugefügt werden. Netplan verwenden

Meine Server haben die IP-Adresse 10.20.10.100 auf der eno1-Schnittstelle.

Ich kann die IP-Adresse 10.20.50.60 (oder eine andere) vorübergehend erfolgreich hinzufügen.

Wenn ich versuche, mit Netplan eine dauerhafte Verbindung zum Server herzustellen, kann ich die ursprüngliche IP-Adresse dafür nicht mehr verwenden.

Inhalt meiner ursprünglichen /etc/netplan/00-installer-config.yaml:

network:
  ethernets:
    eno1:
      dhcp4: true
    eno2:
      dhcp4: true
    enx7e8ae1d2cba7:
      dhcp4: true
  version: 2

Meine geänderte Version ist:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: false
      addresses:
        - 10.20.10.100/24
        - 10.20.50.60/24
        - 10.20.50.61/24
      gateway4: 10.20.0.1
      nameservers:
          addresses: [10.20.0.1,1.1.1.1,8.8.8.8]
    eno2:
      dhcp4: true
    enx7e8ae1d2cba7:
      dhcp4: true

IP-Adresse anzeigen dev eno1

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 7c:8a:e1:d2:cb:a2 brd ff:ff:ff:ff:ff:ff
    inet 10.20.10.100/16 brd 10.20.255.255 scope global dynamic eno1
       valid_lft 438sec preferred_lft 438sec

Route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.20.0.1       0.0.0.0         UG    100    0        0 eno1
10.20.0.0       0.0.0.0         255.255.0.0     U     0      0        0 eno1
10.20.0.1       0.0.0.0         255.255.255.255 UH    100    0        0 eno1
169.254.95.0    0.0.0.0         255.255.255.0   U     0      0        0 enx7e8ae1d2cba7
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker_gwbridge

Meine geänderte Version ist (Version 2):

network:
version: 2
ethernets:
    eno1: {}
    eno2:
        dhcp4: true
    enx7e8ae1d2cba7:
        dhcp4: true
vlans:
    vlan.101:
        id: 101
        link: eno1
        addresses: [10.20.10.100/16]
        gateway4: 10.20.0.1
        nameservers:
            addresses: [10.20.0.1, 1.1.1.1]
    vlan.102:
        id: 102
        link: eno1
        addresses: [10.20.50.60/16]
        gateway4: 10.20.0.1
        nameservers:
            addresses: [10.20.0.1, 1.1.1.1]
    vlan.103:
        id: 103
        link: eno1
        addresses: [10.20.50.61/16]
        gateway4: 10.20.0.1
        nameservers:
            addresses: [10.20.0.1, 1.1.1.1]

Antwort1

An der von Ihnen angegebenen Konfiguration scheint nichts auszusetzen zu sein, daher möchte ich darüber nachdenken, wie Sie die Änderung vorgenommen haben.

Zweitens ip address show dev eno1zeigte die Ausgabe von eine Adresse von 10.20.10.100/16anstelle der /24in Ihrer Netplan-Konfiguration. Es fühlt sich an, als ob die vorherigen Schnittstellendetails zwischengespeichert oder neue nicht angewendet wurden.

Zur Ermittlung Ihrer Adressdaten beiVerwenden von DHCP, führen Sie die folgenden Befehle aus und notieren Sie sich die Ausgabe:

# All IP addresses
ip a

# Routes and default gateway
ip r

Ändern Sie nun die Netplan-Konfiguration und deaktivieren Sie DHCP, indem Sie es auf „false“ setzen. Nachdem Sie die Netplan-Konfiguration geändert haben, wenden Sie sie mit dem Debug-Flag an, um etwaige Probleme zu ermitteln:

sudo netplan --debug apply

Wiederholen Sie dann die obigen Befehle und beachten Sie die Unterschiede. Manchmal ist ein Neustart erforderlich, um vorhandene Schnittstellen zu entfernen, oder Sie können den ip delBefehl verwenden, um vorhandene IP-Adressen zu entfernen, bevor Sie eine neue Netplan-Konfiguration anwenden.

Sie können sich davon überzeugen, dass die neue Konfiguration angewendet wurde, indem Sie /16 in etwas anderes ändern, z. B. /22. Wenn die Ausgabe ip adieselbe ist wie zuvor, wurde sie nicht richtig angewendet.

Antwort2

Ich würde Ihre Adressen als virtuelle LANs konfigurieren (nebenbei bemerkt, ich denke, Sie müssen möglicherweise Gateways für die VLANs in verschiedenen Netzwerksegmenten einrichten):

network:
    version: 2
    ethernets:
        eno1: {}
        eno2:
            dhcp4: true
        enx7e8ae1d2cba7:
            dhcp4: true

    vlans:
        vlan.101:
            id: 101
            link: eno1
            addresses: [10.20.10.100/16]
            routes:
            - to: default
              via: 10.20.0.1
        vlan.102:
            id: 102
            link: eno1
            routes:
            addresses: [10.20.50.60/16]
            routes:
            - to: default
              via: 10.20.0.1
        vlan.103:
            id: 103
            link: eno1
            addresses: [10.20.50.61/16]
            routes:
            - to: default
              via: 10.20.0.1

verwandte Informationen