私は両方のゲストvdeb02-10-base
と一緒にカーネルベースの仮想マシン(KVM)を実行するためにDebian Bullseyeを使用していますvdeb03-10-base
。どちらのゲストにもDebian Busterがインストールされています。テスト目的でこのユーティリティをvdeb03-10-base
複製して使用して、Macアドレスなどの独自のシステムパラメータがあることを確認してください。私が使用するすべてのデバイス(ホスト、ゲスト)vdeb02-10-base
virt-clone
システムネットワーク。
ISC-DHCPサーバーからIPアドレスを取得するためにDHCPを有効にすると、vdeb02-10-base
DHCPサーバーのログに示すようにすべてが正常に機能します。
Oct 05 18:43:49 vnetsvr30-10 dhcpd[1534]: DHCPDISCOVER from 52:54:00:ee:f5:0a via ens1
Oct 05 18:43:50 vnetsvr30-10 dhcpd[1534]: DHCPOFFER on 192.168.30.104 to 52:54:00:ee:f5:0a (vdeb02-10-base) via ens1
Oct 05 18:43:50 vnetsvr30-10 dhcpd[1534]: DHCPREQUEST for 192.168.30.104 (192.168.30.10) from 52:54:00:ee:f5:0a (vdeb02-10-base) via ens1
Oct 05 18:43:50 vnetsvr30-10 dhcpd[1534]: Wrote 56 leases to leases file.
Oct 05 18:43:50 vnetsvr30-10 dhcpd[1534]: DHCPACK on 192.168.30.104 to 52:54:00:ee:f5:0a (vdeb02-10-base) via ens1
Oct 05 18:43:50 vnetsvr30-10 dhcpd[1534]: Added new forward map from vdeb02-10-base.home.hoeft-online.de. to 192.168.30.104
Oct 05 18:43:50 vnetsvr30-10 dhcpd[1534]: Added reverse map from 104.30.168.192.in-addr.arpa. to vdeb02-10-base.home.hoeft-online.de.
動的DNS名はDNSサーバーにマップされるため、次のように照会できます。
~$ dig +search +noall +answer vdeb02-10-base
vdeb02-10-base.home.hoeft-online.de. 3600 IN A 192.168.30.104
起動すると、vdeb03-10-base
DHCP サーバーのログに以下が表示されます。
Oct 05 18:44:55 vnetsvr30-10 dhcpd[1534]: DHCPDISCOVER from 52:54:00:ed:c5:df (vdeb02-10-base) via ens1
Oct 05 18:44:55 vnetsvr30-10 dhcpd[1534]: ICMP Echo reply while lease 192.168.30.104 valid.
Oct 05 18:44:55 vnetsvr30-10 dhcpd[1534]: Abandoning IP address 192.168.30.104: pinged before offer
Oct 05 18:44:55 vnetsvr30-10 dhcpd[1534]: Removed forward map from vdeb02-10-base.home.hoeft-online.de. to 192.168.30.104
Oct 05 18:44:55 vnetsvr30-10 dhcpd[1534]: Removed reverse map on 104.30.168.192.in-addr.arpa.
Oct 05 18:44:57 vnetsvr30-10 dhcpd[1534]: DHCPDISCOVER from 52:54:00:ed:c5:df via ens1
Oct 05 18:44:58 vnetsvr30-10 dhcpd[1534]: DHCPOFFER on 192.168.30.95 to 52:54:00:ed:c5:df (vdeb03-10-base) via ens1
Oct 05 18:44:58 vnetsvr30-10 dhcpd[1534]: DHCPREQUEST for 192.168.30.95 (192.168.30.10) from 52:54:00:ed:c5:df (vdeb03-10-base) via ens1
Oct 05 18:44:58 vnetsvr30-10 dhcpd[1534]: DHCPACK on 192.168.30.95 to 52:54:00:ed:c5:df (vdeb03-10-base) via ens1
Oct 05 18:44:58 vnetsvr30-10 dhcpd[1534]: Added new forward map from vdeb03-10-base.home.hoeft-online.de. to 192.168.30.95
Oct 05 18:44:58 vnetsvr30-10 dhcpd[1534]: Added reverse map from 95.30.168.192.in-addr.arpa. to vdeb03-10-base.home.hoeft-online.de.
DHCPサーバーがfromDHCPDISCOVER
ではなくvdeb02-10-base
fromと言うのはなぜですかvdeb03-10-base
? Macアドレスとホスト名が異なります。もちろん、DHCPサーバーにpingを送信することは、ネットワークにIPアドレスの競合があることを意味します。その後、DNSマッピングを削除してvdeb02-10-base
マッピングに置き換えるため、名前を解決できvdeb03-10-base
なくなります。vdeb02-10-base
ここで何が起こっているのでしょうか? DHCPサーバーが2番目のゲストの名前を追加するのではなく、DNSサーバーのホスト名を変更するのはなぜですか?問題はどこにありますか?クライアントでは、標準ブリッジを持つホスト、DHCPサーバー、またはsystemd-networkdを使用しますか?たぶん利用可能なオプションがありますか/etc/dhcp/dhcpd.conf
?
答え1
DHCPサーバーのログを見ると、2つの異なるデバイスの名前とMACアドレスが異なる場合でも、それを区別できないようです。明らかに、これはネットワーク内のデバイスを識別するために使用されません。vdeb03-10-base
クローンであるため、vdeb02-10-base
クローンの後に変更されていない他の識別子が必要です(名前とmacアドレスが変更されます)。
man systemd.network
これが何であるかを知るよりは、ClientIdentifier=
「りんご「または」ドイド両方のデバイス名を設定すると、mac
動的にDNSサーバーに正しくマッピングされますが、問題の原因は解決されません。両方のデバイスに同じままのDUIDが必要で、他の問題を引き起こす可能性があります。
DHCPのDUIDを設定できることがわかりましたが、/etc/systemd/networkd.conf
次の質問はこれをどのように計算するかです。私が見つけたものman networkd.conf
:
「DUIDType = vendor」の場合、DUID値はベンダー識別子(systemd)とmachine-id(5)のハッシュとして「43793」を使用して生成されます。 DUIDType =が指定されていない場合、これはデフォルトです。
だから問題の根本はマシンIDどちらのゲストも同じです。
しかし、変更にはいくつかの問題があります。私が見つけた方法は次のとおりです。/etc/machine-idを変更できますか?。簡単に言えば、次のことを行う必要があります。
~$ sudo rm -f /etc/machine-id
~$ sudo dbus-uuidgen --ensure=/etc/machine-id
~$ sudo rm /var/lib/dbus/machine-id
~$ sudo dbus-uuidgen --ensure