在Debian上设置DHCP中继的详细步骤
在Debian系统上,DHCP中继功能由isc-dhcp-relay软件包提供。首先通过以下命令更新软件包列表并安装:
sudo apt update
sudo apt install isc-dhcp-relay
安装完成后,系统会生成默认配置文件,无需手动创建。
配置文件路径为/etc/default/isc-dhcp-relay,需修改以下关键参数以匹配网络环境:
eth0,需替换为实际接口名,可通过ip a命令查看);192.168.1.100,需替换为真实服务器IP);67,一般无需修改);192.168.0.2,若接口有多个IP时需填写)。示例配置(监听eth0接口,转发至192.168.1.100的DHCP服务器):
INTERFACESv4="eth0"
INTERFACESv6="" # 若无需监听IPv6,留空即可
RELAY_ADDRESS="192.168.1.100"
RELAY_PORT="67"
LOCAL_ADDRESS="192.168.0.2" # 可选
注意:若需传递额外DHCP选项(如默认网关、DNS服务器),可通过OPTIONS参数添加(如OPTIONS="-p -i eth0 -s 192.168.1.100"),但基础配置中通常无需修改。
配置完成后,通过以下命令启动服务并设置为开机自启:
sudo systemctl start isc-dhcp-relay # 启动服务
sudo systemctl enable isc-dhcp-relay # 设置开机自启
启动后,可通过以下命令检查服务状态,确认是否运行正常:
sudo systemctl status isc-dhcp-relay
若状态显示为active (running),则表示服务已成功启动。
通过日志确认中继代理是否正常转发请求:
sudo tail -f /var/log/syslog | grep isc-dhcp-relay
若看到类似“Received packet from client, forwarding to server”的日志,说明中继功能已生效。
在客户端设备(连接至中继代理所在子网)上执行以下操作,验证是否能获取到DHCP服务器分配的IP:
sudo dhclient -r # 释放当前IP
sudo dhclient # 重新获取IP
ip addr show # 查看获取的IP地址
ipconfig /release # 释放当前IP
ipconfig /renew # 重新获取IP
ipconfig /all # 查看IP配置详情
若客户端获取到IP地址,且网关、DNS等参数符合预期,则说明DHCP中继配置成功。
若系统启用了防火墙(如ufw),需允许DHCP流量通过,避免拦截请求:
sudo ufw allow in on eth0 to any port 67 proto udp # 允许客户端子网接口接收DHCP请求
sudo ufw allow out on eth0 to 192.168.1.100 port 67 proto udp # 允许转发至DHCP服务器
若使用iptables,可添加以下规则:
sudo iptables -A INPUT -i eth0 -p udp --dport 67 -j ACCEPT # 允许入站DHCP请求
sudo iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 67 -j ACCEPT # 允许转发至DHCP服务器(eth1为连接服务器的接口)
注意:根据实际网络结构调整接口名称(如eth1)。
通过以上步骤,即可在Debian系统上完成DHCP中继的配置,实现跨子网的DHCP服务转发。