首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当来自同一个MAC的两个请求时,我如何防止ISC-DHCPD提供不同的is?

当来自同一个MAC的两个请求时,我如何防止ISC-DHCPD提供不同的is?
EN

Server Fault用户
提问于 2015-05-25 22:17:26
回答 2查看 7.5K关注 0票数 0

我有一组从ISC-DHCPD获取地址的节点。由于它们使用PXE启动,将有两轮DHCP (一次来自PXE,一次来自操作系统),并且由于某种原因,ISC-DHCPD将提供两个不同的IP。这是不好的,因为节点的数目应该对应于ip的最后一个字节。

下面是Syslog的摘录,展示了正在发生的事情:

代码语言:javascript
复制
May 25 23:16:26 cluster dhcpd: DHCPDISCOVER from 08:00:27:d3:d5:3b via eth1
May 25 23:16:27 cluster dhcpd: DHCPOFFER on 192.168.0.1 to 08:00:27:d3:d5:3b via eth1
May 25 23:16:29 cluster dhcpd: DHCPREQUEST for 192.168.0.1 (192.168.0.254) from 08:00:27:d3:d5:3b via eth1
May 25 23:16:29 cluster dhcpd: DHCPACK on 192.168.0.1 to 08:00:27:d3:d5:3b via eth1
May 25 23:17:07 cluster dhcpd: DHCPDISCOVER from 08:00:27:d3:d5:3b via eth1
May 25 23:17:08 cluster dhcpd: DHCPOFFER on 192.168.0.2 to 08:00:27:d3:d5:3b via eth1
May 25 23:17:08 cluster dhcpd: DHCPREQUEST for 192.168.0.2 (192.168.0.254) from 08:00:27:d3:d5:3b via eth1
May 25 23:17:08 cluster dhcpd: DHCPACK on 192.168.0.2 to 08:00:27:d3:d5:3b via eth1
May 25 23:17:08 cluster dhcpd: DHCPREQUEST for 192.168.0.2 (192.168.0.254) from 08:00:27:d3:d5:3b via eth1
May 25 23:17:08 cluster dhcpd: DHCPACK on 192.168.0.2 to 08:00:27:d3:d5:3b via eth1

以下是租约文件的相应摘录:

代码语言:javascript
复制
lease 192.168.0.1 {
  starts 1 2015/05/25 21:16:28;
  ends 5 2151/07/02 03:44:43;
  cltt 1 2015/05/25 21:16:28;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 08:00:27:d3:d5:3b;
  uid "\001\010\000'\323\325;";
}
lease 192.168.0.2 {
  starts 1 2015/05/25 21:17:08;
  ends 5 2151/07/02 03:45:23;
  cltt 1 2015/05/25 21:17:08;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 08:00:27:d3:d5:3b;
}
lease 192.168.0.2 {
  starts 1 2015/05/25 21:17:08;
  ends 5 2151/07/02 03:45:23;
  cltt 1 2015/05/25 21:17:08;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 08:00:27:d3:d5:3b;
}

这是dhcp服务器的配置:

代码语言:javascript
复制
ddns-update-style none;

default-lease-time -1;
max-lease-time -1;

authoritative;

allow booting;
allow bootp;
next-server 192.168.0.254;
filename "/pxelinux.0";

log-facility local7;

subnet 192.168.0.0 netmask 255.255.255.0 {

    range 192.168.0.1 192.168.0.253;
    interface eth1;
    option routers 192.168.0.254;
    option domain-name "cluster.hpc.org";
    option domain-name-servers 192.168.0.254;

}
EN

回答 2

Server Fault用户

发布于 2019-08-02 18:50:58

您可以使用“忽略客户端-uids”标志来获得它。它包括在4.2.0版本的isc-dchpd中:

增加这一行:

忽略-客户端-uids为真;

代码语言:javascript
复制
     ignore-client-uids flag;

     If the ignore-client-uids statement is present and has a value of
     true or on, the UID for clients will not be recorded.  If this
     statement is not present or has a value of false or off, then client
     UIDs will be recorded.
票数 3
EN

Server Fault用户

发布于 2015-05-26 08:22:25

试着做些像

代码语言:javascript
复制
ddns-update-style none;

# Client control
deny duplicates;
one-lease-per-client on;

# Lease authority
default-lease-time 3600;
min-lease-time 3600;
max-lease-time 21600;

authoritative;

allow booting;
allow bootp;
next-server 192.168.0.254;
filename "/pxelinux.0";

log-facility local7;

subnet 192.168.0.0 netmask 255.255.255.0 {

    range 192.168.0.1 192.168.0.253;
    interface eth1;
    option routers 192.168.0.254;
    option domain-name "cluster.hpc.org";
    option domain-name-servers 192.168.0.254;

}

拒绝重复;主机声明可以基于DHCP客户端标识符选项或基于客户端的网络硬件类型和MAC地址匹配客户端消息。如果使用MAC地址,主机声明将匹配任何客户端与该MAC地址-甚至客户端具有不同的客户标识符。这种情况通常不会发生,但当一台计算机上安装了多个操作系统时(例如,Microsoft和NetBSD或Linux ),这是可能的。重复标志告诉DHCP服务器,如果从与主机声明的MAC地址匹配的客户端接收到请求,则即使UID不相同,与该MAC地址匹配的任何其他租约也应由服务器丢弃。这违反了DHCP协议,但可以防止客户端标识符定期更改的客户端同时持有多个租约。默认情况下,允许重复。

资料来源

http://www.bctes.com/dhcpd.conf.5.html

http://www.xdracco.net/howto-configure-and-deploy-isc-dhcp-server/

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/694351

复制
相关文章

相似问题

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