Linux DHCP 中继(DHCP Relay,也叫 DHCP 中继代理) 是指:在 Linux 系统上运行一个程序,把不同网段的 DHCP 请求转发给 DHCP 服务器,从而让一台 DHCP 服务器可以为多个子网分配 IP 地址。
DHCP 客户端在获取 IP 时,发送的是 广播包(255.255.255.255),而路由器默认不转发广播。
所以:
举例:
客户端网段:192.168.10.0/24
DHCP服务器:192.168.20.10
客户端发出的 DHCP Discover 是广播,到不了 20.10,这时就需要在 10.0 网段的 Linux 上做中继。
来自 isc-dhcp-server / dhcp 包
dhcrelay -i eth0 192.168.20.10
含义:
eth0 接口监听 DHCP 请求192.168.20.10多接口示例:
dhcrelay -i eth0 -i eth1 192.168.20.10
有些系统用 dhcp-relay 的 systemd 单元:
systemctl start dhcp-relay
配置文件示例(CentOS/RHEL):
# /etc/sysconfig/dhcrelay
INTERFACES="eth0 eth1"
DHCPSERVERS="192.168.20.10"
中继会:
giaddr(网关接口地址)giaddr 分配对应网段 IP✅ 企业网络
✅ 多 VLAN 环境
✅ 一台 DHCP 服务器服务多个子网
✅ 路由器性能有限,用 Linux 做中继
sudo apt install isc-dhcp-relay
配置:
# /etc/default/isc-dhcp-relay
SERVERS="192.168.20.10"
INTERFACES="eth0"
启动:
sudo systemctl restart isc-dhcp-relay
如果你愿意,我可以:
你是用在哪种场景?(家庭 / 企业 / 考试 / 实验)