温馨提示×

ubuntu dhcp如何中继代理

小樊
41
2026-09-10 02:02:07
栏目: 智能运维

在 Ubuntu 上配置 DHCP 中继代理(DHCP Relay / DHCP Helper),通常使用 ISC DHCP Relay(isc-dhcp-relay)systemd 的 dhcrelay。下面按常见场景说明。


一、安装 DHCP 中继软件

sudo apt update
sudo apt install isc-dhcp-relay

安装过程中会提示输入:

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

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


二、配置 DHCP 中继

方法 1:修改配置文件(推荐)

编辑配置文件:

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

示例内容:

# DHCP 服务器地址
SERVERS="192.168.10.10"

# 本地监听接口
INTERFACES="eth0 eth1"

# 其他选项(可选)
OPTIONS=""

说明:

  • SERVERS:DHCP Server 的 IP
  • INTERFACES:客户端所在网段的接口

保存后重启服务:

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

方法 2:直接使用 dhcrelay 命令

sudo dhcrelay -i eth0 -i eth1 192.168.10.10

参数说明:

  • -i:指定接口
  • 最后一个是 DHCP Server IP

⚠️ 此方式重启后失效,仅适合测试。


三、网络与防火墙注意事项

1. 允许 DHCP 中继通信

DHCP 中继使用:

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

确保防火墙允许:

sudo ufw allow 67/udp
sudo ufw allow 68/udp

2. 开启 IP 转发(如跨网段)

sudo sysctl -w net.ipv4.ip_forward=1

永久生效:

sudo nano /etc/sysctl.conf

添加或修改:

net.ipv4.ip_forward=1

四、DHCP Server 端配置示例

在 DHCP Server 上需有对应子网:

subnet 192.168.20.0 netmask 255.255.255.0 {
  range 192.168.20.100 192.168.20.200;
  option routers 192.168.20.1;
  option subnet-mask 255.255.255.0;
}

其中:

  • 192.168.20.0客户端网段
  • 中继接口 IP 通常作为 giaddr

五、常见问题排查

# 查看中继状态
systemctl status isc-dhcp-relay

# 抓包检查
sudo tcpdump -i eth0 udp port 67 or udp port 68

如果你能提供:

  • Ubuntu 版本
  • 网络拓扑(几个网段)
  • 使用 Netplan 还是 ifupdown

我可以给你更精确的配置示例。

0