我有一个coreos1800(或1855)安装到磁盘上的机器,下面是
systemd-networkd config
(机器中只有一个网络接口):
$ cat /etc/systemd/network/zz-default.network
[Network]
DHCP=yes
[DHCP]
ClientIdentifier=mac
UseMTU=true
UseDomains=true
当我重新启动机器,将有两个DHCP IP分配给它,我通过检查确认
/var/lib/dhcpd.leases
lease 100.79.223.152 {
starts 5 2018/09/28 02:34:00; ends 6 2018/09/29 02:33:59; tstp 6 2018/09/29 02:33:59; cltt 5 2018/09/28 02:34:00;
binding state active; next binding state free; rewind binding state free;
hardware ethernet 08:9e:01:d9:28:64;
option agent.circuit-id 0:5:8:b9:1:0:29;
}
lease 100.79.223.150 {
starts 5 2018/09/28 02:34:29; ends 6 2018/09/29 02:34:28; tstp 6 2018/09/29 02:34:28; cltt 5 2018/09/28 02:34:29;
binding state active; next binding state free; rewind binding state free;
hardware ethernet 08:9e:01:d9:28:64; uid "001010236001331(d";
option agent.circuit-id 0:5:8:b9:1:0:29;
}
-
租用记录100.79.223.152由PXE加载程序请求,但被DHCP服务器拒绝。
-
租赁记录100.79.223.150由的systemd networkd请求
systemctl restart
systemd-networkd
一切看起来都很好,但是PXE租约记录100.79.223.152会导致其他问题(当PXE真正启动机器并向其部署另一个操作系统时,它将获得100.79.223.152而不是150,然后会导致其他私有问题)。
如果我安装了其他不使用systemd networkd的操作系统,那么重新启动只会导致1条租用记录。
您可以看到租约100.79.223.150有一个字段uid“001010236001331(d)”,意思是让DHCP服务器通过uid(客户端标识符)来分配IP,目前它实际上是mac地址的相同内容,只是打印成八进制。
为了防止这个双IP问题,我尝试设置
deny duplicates
在里面
/etc/dhcp/dhcpd.conf
我想知道是否有可能告诉systemd networkd不要发送uid(客户端标识符)。根据
source of systemd
,有意实现为“始终发送客户端标识符”,
在这种情况下,如何防止systemd networkd发送客户端标识符?
编辑2019/02/17:我发现我误解了
,对这个问题没有帮助。
ignore-client-uids on;
ignore client uids语句
忽略客户端UID标志;
如果存在ignore client uids语句并且其值为true
或在上,将不记录客户端的UID。如果这句话是
记录。
https://www.isc.org/wp-content/uploads/2017/08/dhcp43.html
DHCP服务器版本为isc-dhcpd-4.2.4
编辑2019-03-12:我有一些错误,发现了一些东西,所以自己回答这个问题。简单的答案是
ignore-client-uids true;
ClientIdentifier=mac
客户机端的工作不好。