温馨提示×

debian dhcp如何做中继

小樊
48
2026-09-20 04:05:03
栏目: 智能运维

在 Debian 上配置 DHCP 中继(DHCP Relay / dhcrelay),通常使用 isc-dhcp-relay 或 systemd 的 dhcprelay(通过 isc-dhcp-relay / dnsmasq)。下面以 isc-dhcp-relay 为例说明。


一、安装 DHCP 中继

sudo apt update
sudo apt install isc-dhcp-relay

安装过程中会提示输入:

  • DHCP 服务器地址
  • 监听的网络接口

也可以安装后手动修改配置文件。


二、配置 DHCP 中继

编辑配置文件:

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

典型配置示例:

# DHCP 服务器地址(多个用空格分隔)
SERVERS="192.168.10.10"

# 监听的接口(客户端所在网段)
INTERFACES="eth1"

# 可选:中继代理自身 IP(通常不用写)
OPTIONS=""

说明:

  • SERVERS:真实 DHCP 服务器 IP
  • INTERFACES:接收 DHCP 请求的接口(客户端网段)

三、启用并启动服务

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

查看状态:

systemctl status isc-dhcp-relay

四、防火墙注意(非常重要)

确保中继主机允许:

  • UDP 67(DHCP Server)
  • UDP 68(DHCP Client)

如果是 iptables:

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

nftables 示例:

nft add rule inet filter input udp dport {67,68} accept

五、DHCP 服务器侧配置示例

在 DHCP 服务器上,需要为不同网段配置 subnet,即使服务器不在该网段:

subnet 192.168.20.0 netmask 255.255.255.0 {
  range 192.168.20.100 192.168.20.200;
  routers 192.168.20.1;
  option domain-name-servers 8.8.8.8;
}

六、验证是否生效

在客户端执行:

dhclient eth0

在中继或 DHCP 服务器抓包:

tcpdump -i eth1 udp port 67 or udp port 68

七、使用 dnsmasq 做中继(可选)

如果你用 dnsmasq:

sudo apt install dnsmasq

配置:

dhcp-relay=192.168.20.1,192.168.10.10

如果你有 具体网络拓扑(接口名、网段、DHCP服务器位置),我可以帮你写一份精确配置。

0 踩