简短结论:可以,但“能不能跨网段”取决于你用的是 DHCP 服务器本身中继,还是靠 DHCP Relay / 中继代理。
下面分情况说明(以 Debian 为例):
DHCP 基于广播(Discover / Offer),广播默认不能跨越路由器(不同子网)。
所以:
原理:在客户端所在网段的路由器/三层交换机上做 DHCP 中继,把广播转成单播发给 DHCP 服务器。
isc-dhcp-relaydnsmasq(部分场景)apt install isc-dhcp-relay
配置 /etc/default/isc-dhcp-relay:
SERVERS="192.168.10.10" # DHCP 服务器 IP
INTERFACES="eth0"
OPTIONS=""
客户端网段 → 中继 → Debian DHCP 服务器(跨网段 ✅)
如果你的 Debian 同时:
那你可以在 dhcpd.conf 里写多个 subnet:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.200;
}
⚠️ 注意:
❌ “Debian DHCP 配个路由就能跨网段” ✅ 必须靠 Relay 或直连多网卡
❌ “DHCP 服务器写多个 subnet 就能远程分配” ✅ 不接在那个网段是不行的
Debian 的 DHCP 服务可以跨网段工作,但必须依赖 DHCP Relay(中继代理),否则只能在本地广播域分配地址。
如果你愿意,可以告诉我:
isc-dhcp-server 还是 dnsmasq我可以直接帮你写配置。