インスタンス起動時のネットワークインタフェース名の変更 ubuntu cloud-init

インスタンス起動時のネットワークインタフェース名の変更 ubuntu cloud-init

私が作成しているUbuntuイメージには、eth0とeth1という2つのネットワークインターフェイスがあります。この画像からクラウドインスタンスを作成したいと思います。作成されるすべてのクラウドインスタンスに対して、各インスタンスにはこれら2つのネットワークインターフェイスがあります。ただし、要件は、インターフェイス名をそれぞれインターフェイス0とインターフェイス1に変更する必要があることです。 cloud-initを使用してインスタンスの起動時期を設定するには?

答え1

cloud-initのドキュメントは、このセクションの次の例を示しています。ネットワーク構成バージョン2:

# all cards on second PCI bus
match:
  name: enp2*

# fixed MAC address
match:
  macaddress: 11:22:33:AA:BB:FF

# first card of driver ``ixgbe``
match:
  driver: ixgbe
  name: en*s0

一致が単一のデバイスに限定されている限り、それを使用して目的のset-name:インターフェイス名を定義できます。

set-name: <(scalar)>

パスやMACなどの一意の属性を一致させる場合、または「常に1つのWi-Fiデバイスしかありません」などの追加の仮定を使用している場合は、1つのデバイスのみに一致するように一致ルールを作成できます。その後、このプロパティを使用して、udevのifnamesのデフォルト名よりも具体的で理想的で、より良い名前をデバイスに提供できます。一致ルールを満たすすべての接続デバイスは名前が変更されず、元のカーネル名が保持されます(そしてdmesgにエラーが表示されます)。

たとえば、

$ cat /etc/cloud/cloud.cfg.d/custom-networking.cfg
network:
    version: 2
    ethernets:
      interface0:
         match:
             mac_address: "52:54:00:12:34:00"
         set-name: interface0
         addresses:
         - 192.168.1.10/255.255.255.0
         gateway4: 192.168.1.254

関連情報