温馨提示×

什么是linux dhcp中继

小樊
56
2026-10-09 15:58:27
栏目: 智能运维

Linux DHCP 中继(DHCP Relay,也叫 DHCP 中继代理) 是指:在 Linux 系统上运行一个程序,把不同网段的 DHCP 请求转发给 DHCP 服务器,从而让一台 DHCP 服务器可以为多个子网分配 IP 地址。


一、为什么需要 DHCP 中继?

DHCP 客户端在获取 IP 时,发送的是 广播包(255.255.255.255),而路由器默认不转发广播。

所以:

  • 如果 DHCP 服务器和客户端在同一网段 → 不需要中继
  • 如果 DHCP 服务器和客户端在不同网段 → 必须靠 DHCP 中继

举例:

客户端网段:192.168.10.0/24
DHCP服务器:192.168.20.10

客户端发出的 DHCP Discover 是广播,到不了 20.10,这时就需要在 10.0 网段的 Linux 上做中继。


二、Linux 中常用的 DHCP 中继工具

1️⃣ dhcrelay(最常见)

来自 isc-dhcp-server / dhcp 包

dhcrelay -i eth0 192.168.20.10

含义:

  • 在 eth0 接口监听 DHCP 请求
  • 转发给 DHCP 服务器 192.168.20.10

多接口示例:

dhcrelay -i eth0 -i eth1 192.168.20.10

2️⃣ systemd 方式(部分发行版)

有些系统用 dhcp-relay 的 systemd 单元:

systemctl start dhcp-relay

配置文件示例(CentOS/RHEL):

# /etc/sysconfig/dhcrelay
INTERFACES="eth0 eth1"
DHCPSERVERS="192.168.20.10"

三、工作原理简述

  1. 客户端发送 DHCP Discover(广播)
  2. Linux 中继收到后,转为单播发给 DHCP 服务器
  3. DHCP 服务器回复(单播)
  4. 中继再转发给客户端网段

中继会:

  • 添加 giaddr(网关接口地址)
  • DHCP 服务器根据 giaddr 分配对应网段 IP

四、典型使用场景

✅ 企业网络
✅ 多 VLAN 环境
✅ 一台 DHCP 服务器服务多个子网
✅ 路由器性能有限,用 Linux 做中继


五、简单配置示例(Ubuntu)

sudo apt install isc-dhcp-relay

配置:

# /etc/default/isc-dhcp-relay
SERVERS="192.168.20.10"
INTERFACES="eth0"

启动:

sudo systemctl restart isc-dhcp-relay

如果你愿意,我可以:

  • 给你画一张 DHCP 中继流程图
  • 对比 Linux 中继 vs 路由器中继
  • 帮你写 生产环境配置示例

你是用在哪种场景?(家庭 / 企业 / 考试 / 实验)

0 踩