在 Debian 使用 ISC DHCP 服务器(isc-dhcp-server) 时,可以通过 DHCP 选项向客户端下发 默认路由(网关)。下面按常见场景说明。
Debian 的 DHCP 服务器配置文件通常是:
/etc/dhcp/dhcpd.conf
使用 root 编辑:
sudo nano /etc/dhcp/dhcpd.conf
option routers 192.168.1.1;
表示所有客户端默认网关为 192.168.1.1。
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
✅ 这是最常见、最清晰的方式。
如果客户端需要 非默认路由(如访问特定网段走特定网关),可以使用:
rfc3442-classless-static-routesoption rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
option ms-classless-static-routes code 249 = array of unsigned integer 8;
option rfc3442-classless-static-routes 24, 192,168,2, 192,168,1,1;
option ms-classless-static-routes 24, 192,168,2, 192,168,1,1;
含义:
192.168.2.0/24192.168.1.1⚠️ 注意:
ms-classless-static-routesrfc3442-classless-static-routes修改完成后重启服务:
sudo systemctl restart isc-dhcp-server
检查状态:
sudo systemctl status isc-dhcp-server
ip route
应看到类似:
default via 192.168.1.1 dev eth0
route print
option routers 在 subnet 内journalctl -u isc-dhcp-server
在 /etc/default/isc-dhcp-server 中指定接口:
INTERFACESv4="eth0"
| 需求 | 配置方式 |
|---|---|
| 默认网关 | option routers |
| 子网级路由 | subnet 中配置 |
| 静态路由 | rfc3442-classless-static-routes |
| 多网卡 | /etc/default/isc-dhcp-server |
如果你愿意,可以告诉我:
我可以给你一份 可直接使用的完整 dhcpd.conf 示例。