DHCP中继代理(DHCP Relay Agent)是一种网络服务,允许DHCP服务器为不在同一物理子网上的客户端提供服务。它通过在子网间转发DHCP请求和响应来实现这一功能。
在大多数Linux发行版上,可以使用以下命令安装:
# Debian/Ubuntu
sudo apt-get install isc-dhcp-relay
# RHEL/CentOS
sudo yum install dhcp
编辑配置文件 /etc/default/isc-dhcp-relay
(Debian/Ubuntu) 或 /etc/sysconfig/dhcrelay
(RHEL/CentOS):
# Debian/Ubuntu示例配置
SERVERS="192.168.1.10" # DHCP服务器IP地址
INTERFACES="eth1 eth2" # 监听DHCP请求的网络接口
OPTIONS="" # 其他选项
# RHEL/CentOS示例配置
DHCRELAYARGS=""
DHCRELAY_SERVERS="192.168.1.10" # DHCP服务器IP
DHCRELAY_INTERFACES="eth1 eth2" # 监听接口
# Debian/Ubuntu
sudo systemctl restart isc-dhcp-relay
# RHEL/CentOS
sudo systemctl restart dhcrelay
检查服务状态:
systemctl status isc-dhcp-relay # 或 dhcrelay
查看日志:
journalctl -u isc-dhcp-relay -f # 或 dhcrelay
SERVERS="192.168.1.10 192.168.1.11"
防止DHCP数据包在网络中无限循环:
OPTIONS="-h 4" # 限制最多4跳
OPTIONS="-i eth0 -a 192.168.1.100" # 使用eth0接口和指定IP作为源
确保防火墙允许DHCP流量(67/UDP和68/UDP):
sudo iptables -A INPUT -p udp --dport 67 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 68 -j ACCEPT
客户端无法获取IP地址
DHCP请求未到达服务器
性能问题
通过以上配置,您的Linux系统现在可以作为DHCP中继代理工作,帮助不同子网的客户端从远程DHCP服务器获取IP地址配置。