在 Debian 上运行的 DHCP 服务本身是可以跨网段工作的,但不是“自动”跨网段,需要满足一定条件。下面分情况说明。
✅ 可以跨网段
❌ 不能直接跨网段(默认不行)
关键点在于:DHCP 请求是广播包,普通路由器默认不转发广播。
这是最标准、最常用的做法。
客户端(网段A) --> 路由器/交换机(中继) --> Debian DHCP(网段B)
GIADDR 判断属于哪个网段apt install isc-dhcp-relay
配置示例(/etc/default/isc-dhcp-relay):
SERVERS="192.168.10.10"
INTERFACES="eth0"
OPTIONS="-m"
如果 Debian 服务器:
那可以直接服务多个网段。
示例:
eth0: 192.168.1.0/24
eth1: 192.168.2.0/24
dhcpd.conf:
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;
}
⚠️ 前提:网卡必须在对应二层网络里
普通路由器:
apt install isc-dhcp-server
# /etc/default/isc-dhcp-server
INTERFACESv4="eth0"
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
option domain-name-servers 8.8.8.8;
}
ufw allow 67/udp
ufw allow 68/udp
✅ 可以(三层交换机通常支持 ip helper-address)
Debian 的 DHCP 可以跨网段,但必须通过 DHCP 中继或多网卡方式实现,不能靠默认广播跨路由。
如果你愿意,可以告诉我:
我可以帮你画配置图或直接写配置文件。