首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ISC-DHCP-Server从DNS-Server删除错误的动态DNS名称。

ISC-DHCP-Server从DNS-Server删除错误的动态DNS名称。
EN

Unix & Linux用户
提问于 2020-10-05 19:13:03
回答 1查看 238关注 0票数 0

我使用Debian来运行KVM (基于内核的虚拟机),它有两个客人:vdeb02-10-basevdeb03-10-base。两位客人都安装了Debian。出于测试目的,vdeb03-10-base只是vdeb02-10-base的一个克隆,它使用virt-clone实用程序来确保在所有设备(主机、来宾)上都有唯一的系统参数,如mac地址等等。我使用的所有设备(主机、来宾)都使用systemd

如果启动vdeb02-10-base时启用了DHCP,以便从ISC-DHCP获取ip地址,那么所有操作都很好,如DHCP的日志所示:

代码语言:javascript
复制
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服务器,因此我可以用

代码语言:javascript
复制
~$ 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日志向我展示如下:

代码语言:javascript
复制
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意味着DHCPDISCOVER来自vdeb02-10-base而不是来自vdeb03-10-base?Mac地址和主机名是不同的。当然,DHCP意味着使用ping测试在网络上存在ip地址冲突。然后,它移除vdeb02-10-base的DNS映射,并将其替换为vdeb03-10-base的映射,其结果是我无法再解析vdeb02-10-base的名称。

这里发生了什么事?为什么DHCP取代DNS-服务器上的主机名而不是仅仅添加第二个客户的名称?问题在哪里?在客人,或在主机上为客人提供标准的网桥,或在DHCP,还是通过使用?也许在/etc/dhcp/dhcpd.conf中有一个选项可以使用?

EN

回答 1

Unix & Linux用户

发布于 2020-10-06 17:50:48

从DHCP的日志来看,它似乎无法区分这两种不同的设备,尽管它们有不同的名称和mac地址。显然,这不是用来识别网络上的设备的。因为vdeb03-10-basevdeb02-10-base的克隆,所以在克隆后必须有不同的标识没有改变(名称和mac地址被更改)。

看看man systemd.network,我找到了可以设置为"mac“或"duid”的选项ClientIdentifier=。如果将此设置为mac,则两个设备名称都会被动态地正确映射到DNS-Server,但这并不能解决问题的来源。必须有一个在两个设备上仍然相等的DUID,并且可能导致其他问题。

我发现DHCP的DUID可以在/etc/systemd/networkd.conf中设置,但下一个问题是如何计算它?在man networkd.conf中,我发现:

如果是"DUIDType=vendor",则使用"43793“作为供应商标识符(systemd)和机器id(5)的散列内容来生成DUID值。如果没有指定DUIDType=,这是默认的。

因此,问题的根源在于,机器id在两个客户机上都是相同的。

但是要改变它是有一些麻烦的。如何做到这一点,我发现在:更改/etc/机器id可以吗?。简而言之,你必须做:

代码语言:javascript
复制
~$ sudo rm -f /etc/machine-id
~$ sudo dbus-uuidgen --ensure=/etc/machine-id
~$ sudo rm /var/lib/dbus/machine-id
~$ sudo dbus-uuidgen --ensure
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/613046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档