温馨提示×

Debian如何启用DHCP中继

小樊
48
2026-07-02 07:16:13
栏目: 智能运维

在 Debian 系统中启用 DHCP 中继(DHCP Relay / DHCP Relay Agent),通常使用 isc-dhcp-relay 这个软件包。下面按步骤说明。


一、安装 DHCP 中继软件

sudo apt update
sudo apt install isc-dhcp-relay

安装过程中会弹出配置界面,也可以跳过,后面手动配置。


二、配置 DHCP 中继

配置文件位于:

/etc/default/isc-dhcp-relay

编辑该文件:

sudo nano /etc/default/isc-dhcp-relay

关键配置项说明

# DHCP 服务器地址(可以是多个,空格分隔)
SERVERS="192.168.10.5"

# 监听 DHCP 请求的接口
INTERFACES="eth0"

# 额外选项(可选)
OPTIONS=""

示例配置

假设:

  • DHCP 服务器 IP:192.168.10.5
  • DHCP 中继监听接口:eth0
SERVERS="192.168.10.5"
INTERFACES="eth0"
OPTIONS=""

如果有多个接口:

INTERFACES="eth0 eth1"

三、启用 IP 转发(非常重要)

DHCP 中继依赖 IP 转发:

临时启用

sudo sysctl -w net.ipv4.ip_forward=1

永久启用

编辑:

sudo nano /etc/sysctl.conf

确保包含:

net.ipv4.ip_forward=1

生效:

sudo sysctl -p

四、启动并启用 DHCP 中继服务

sudo systemctl restart isc-dhcp-relay
sudo systemctl enable isc-dhcp-relay

查看状态:

sudo systemctl status isc-dhcp-relay

五、防火墙注意事项

如果启用了 iptables / nftables / ufw,需放行 DHCP 相关流量:

DHCP 使用端口

  • UDP 67(服务器)
  • UDP 68(客户端)

示例(iptables):

sudo iptables -A INPUT -p udp --dport 67 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 68 -j ACCEPT

六、验证 DHCP 中继是否工作

  1. 在客户端执行:
dhclient eth0
  1. 在 DHCP 服务器上查看日志:
journalctl -u isc-dhcp-server
  1. 在 DHCP 中继机器上抓包:
sudo tcpdump -i eth0 port 67 or port 68

七、常见问题

1. DHCP 服务器收不到请求

  • 检查 SERVERS 是否可达
  • 检查是否启用了 ip_forward
  • 检查是否有多网卡路由问题

2. 多子网环境

DHCP 中继必须位于 客户端所在子网,并能路由到 DHCP 服务器。


八、总结

步骤 内容
安装 apt install isc-dhcp-relay
配置 /etc/default/isc-dhcp-relay
转发 net.ipv4.ip_forward=1
启动 systemctl enable --now isc-dhcp-relay

如果你需要 多 VLAN、多 DHCP 服务器、或者结合交换机/路由器 的配置示例,可以告诉我你的网络拓扑。

0