从 DHCP 池中排除 IP 地址

从 DHCP 池中排除 IP 地址

有没有办法从 DHCP 池中排除单个 IP 地址?由于各种原因,我有一台无法重新配置或移出网络的机器(我们称之为打印机)。它已使用地址进行硬编码,x.x.x.50我的 DHCP 池是x.x.x.10 -> x.x.x.246。我不想为这个子网定义两个池,只是为了覆盖这台机器两侧的范围。是否有某种形式的“排除 IP”参数/选项?

我正在使用 Ubuntu 11 和该isc-dhcp-server软件包。

免责声明:我已经在 Google 上搜索过,但只找到了 IOS 和 Juniper 配置信息。

答案1

为什么不明确设置该设备的 IP:

# The standard subnet
subnet 10.0.0.0 netmask 255.255.255.0 {
    option domain-name "ourdomain.internal";
    option routers 10.0.0.1;
    option domain-name-servers 10.0.0.2;
    range 10.0.0.10 10.0.0.49;
    range 10.0.0.51 10.0.0.246;
}


#has hardcoded ip, and dhcp should not use that in pool
host fixedipappliance {
    hardware ethernet 10:4e:ed:co:ff:ee;
    fixed-address 10.0.0.50;
}

我刚刚成功测试了具有两个范围的配置。多个范围语句是合法的,根据手册页,必须有至少一个范围语句:

范围语句

  range [ dynamic-bootp ] low-address [ high-address];

对于任何将动态分配地址的子网,必须至少有一个范围语句。范围语句给出范围内的最低和最高 IP 地址。范围内的所有 IP 地址都应位于声明范围语句的子网中。如果指定范围内的地址可以动态分配给 BOOTP 客户端以及 DHCP 客户端,则可以指定 dynamic-bootp 标志。指定单个地址时,可以省略 high-address。

答案2

我认为您想进行静态 DHCP 分配。看看这是否有帮助。 http://www.miquels.cistron.nl/isc-dhcpd/ http://forums.whirlpool.net.au/archive/309440

答案3

您不必担心 - DHCP 服务器会在分配地址之前检查网络上是否存在该地址。请执行man dhcpd.conf并查看相关IP Address Conflict Prevention部分。只要设备将响应 ICMP 回显请求,您就无需执行任何操作。

注意:如果设备最初通过 DHCP 获取 IP 地址,然后又分配静态地址,则可能会发生冲突。

相关内容