web-dev-qa-db-ja.com

クローンされたLinux VMが同じIPを争っているのはなぜですか

Ubuntu 17.10テンプレートから2つのvSphere VMを複製しました。起動後、両者は同じIPを要求し、それに対して戦います(ssh接続は、IPがそれらの間で切り替わるときに切断されます)。

ホスト名とMACアドレスは、2つのマシン間で異なります。 dhclientは2つの別々のIPを正しく主張していますが、使用中のリゾルバーはsystemd-networkd

8
wickedchicken

ネットプラン構成についてはどうですか?オプションがありますdhcp-configuration次のように使用できます( netplanの例 からの抜粋):

network:
  version: 2
  ethernets:
    enp3s0:
      dhcp4: yes
      dhcp-identifier: mac

デフォルトではmachine-idを使用していますが、この機能を変更することで、強制せずに実行できます。

manpages / netplan からの抜粋、より多くの洞察を与える:

       dhcp-identifier (scalar)
              When  set  to `mac'; pass that setting over to systemd-networkd to use the device's
              MAC address as a unique identifier rather than a RFC4361-compliant Client ID.  This
              has no effect when NetworkManager is used as a renderer.
6
brian

systemd-networkdは、dhclientとは異なる方法でDUIDを生成します。 dhclientデフォルトではリンク層アドレスを使用systemd-networkd/etc/machine-idの内容 を使用します。 VMは複製されたため、それらは同じmachine-idを持ち、DHCPサーバーは両方に同じIPを返します。

修正するには、/etc/machine-idの一方または両方の内容を置き換えます。これは何でもかまいませんが、ファイルを削除してsystemd-machine-id-setupを実行すると、マシンのセットアップと同じようにランダムにmachine-idが作成されます。

18
wickedchicken