Ubuntu 20.04 で追加の IP アドレスを追加できません。netplan を使用

Ubuntu 20.04 で追加の IP アドレスを追加できません。netplan を使用

私のサーバーの eno1 インターフェイスには IP アドレス 10.20.10.100 があります。

一時的に IP アドレス 10.20.50.60 (またはその他) を正常に追加できます。

netplan を使用して永続的に追加しようとすると、元の IP アドレスを使用してサーバーに接続できなくなります。

オリジナルの /etc/netplan/00-installer-config.yaml の内容:

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

変更したバージョンは次のとおりです:

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アドレス表示deveno1

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

ルート -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

変更したバージョンは (version2) です:

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]

答え1

指定した構成に問題はないようです。そのため、変更をどのように適用したかを考えさせられます。

次に、 の出力には、 netplan 構成のではなくip address show dev eno1のアドレスが表示されました。以前のインターフェースの詳細がキャッシュされたか、新しいものが適用されなかったようです。10.20.10.100/16/24

住所の詳細を確認するためにDHCPを使用する次のコマンドを実行し、出力をメモします。

# All IP addresses
ip a

# Routes and default gateway
ip r

次に、netplan 設定を変更し、DHCP を false に設定して無効にします。netplan 設定を変更したら、デバッグ フラグを付けて適用し、問題を特定します。

sudo netplan --debug apply

次に、上記のコマンドを繰り返して、違いを書き留めます。既存のインターフェイスを削除するには再起動が必要な場合があります。また、ip del新しいネットプラン構成を適用する前に、コマンドを使用して既存の IP アドレスを削除することもできます。

新しい設定が適用されたことを確認する 1 つの方法は、/16 を別のもの (例: /22) に変更することです。出力がip a以前と同じであれば、正しく適用されていません。

答え2

アドレスを仮想 LAN として構成します (余談ですが、異なるネットワーク セグメント上の VLAN にゲートウェイを設定する必要があると思います)。

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

関連情報