ISC-DHCPd 如何分配不同的 DHCP 设置,即使请求来自不同的子网?

ISC-DHCPd 如何分配不同的 DHCP 设置,即使请求来自不同的子网?

网络设置

  • 10.0.1.0/28(VLAN 1)
  • 10.0.1.32/28(VLAN 1)

ISC-DHCPd 设置

subnet 10.0.1.0 netmask 255.255.255.240 {
  option routers 10.0.1.1;
}

subnet 10.0.1.32 netmask 255.255.255.240 {
  option routers 10.0.1.33;
}

host {
  fixed-address 10.0.1.34;
  hardware ethernet 00:11:22:33:44:55:66;
}

网络正在使用 DHCP 中继,只能根据每个 VLAN 进行配置。

在两种情况下,中继/代理 DHCPDISCOVER 的来源都是第一个子网的路由器。因此,ISC-DHCPd 不会发送 DHCPOFFER,并且对于任何具有第二个子网 (10.0.1.32/28) 的静态配置 IP 的主机,记录“无免费租约”。

dhcpd.conf 手册指出

当 dhcpd 尝试为客户端查找主机声明时,它首先查找具有列出 IP 地址的固定地址声明的主机声明对于客户端正在启动的子网或共享网络有效

问题

如何配置 ISC-DHCPd 以使其接受所有子网的中继请求,并分配与请求来源子网不同的子网的租约?

答案1

更改 ISC-DHCPd 设置如下

shared-network twonetworks {
  subnet 10.0.1.0 netmask 255.255.255.240 {
    option routers 10.0.1.1;
  }

  subnet 10.0.1.32 netmask 255.255.255.240 {
    option routers 10.0.1.33;
  }
}

host {
  fixed-address 10.0.1.34;
  hardware ethernet 00:11:22:33:44:55:66;
}

使 ISC-DHCPd 按预期回答 DHCPDISCOVER:

dhcpd[20491]: DHCPDISCOVER from 00:11:22:33:44:55:66 via 10.0.1.1
dhcpd[20491]: DHCPOFFER on 10.0.1.34 to 00:11:22:33:44:55:66 via 10.0.1.1

相关内容