温馨提示×

Debian DHCP如何跨网段

小樊
41
2026-07-15 21:05:58
栏目: 智能运维

在 Debian 上实现 DHCP 跨网段(跨 VLAN / 子网)分配 IP,常见有三种方式。下面按 最常用 → 进阶 给你讲清楚,并附示例。


一、最常见方案:DHCP 中继(DHCP Relay / Relay Agent)✅

推荐做法,企业网络标准方案

原理

  • DHCP 服务器 只在某一个网段
  • 其它网段的 DHCP 请求由 DHCP 中继转发
  • 中继把广播变成单播发给 DHCP 服务器

拓扑示例

[客户端 VLAN10]  \
[客户端 VLAN20] --> 三层交换机/路由器 --> [Debian DHCP Server]

1️⃣ Debian 作为 DHCP 服务器(isc-dhcp-server)

安装

sudo apt update
sudo apt install isc-dhcp-server

配置 DHCP 服务

编辑:

sudo nano /etc/dhcp/dhcpd.conf

示例(两个网段):

subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.100 192.168.10.200;
    option routers 192.168.10.1;
    option domain-name-servers 8.8.8.8;
}

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 domain-name-servers 8.8.8.8;
}

⚠️ 注意

  • DHCP 服务器 不需要有所有 VLAN 的 IP
  • 但必须能 路由到达这些网段

指定监听网卡

sudo nano /etc/default/isc-dhcp-server
INTERFACESv4="eth0"

启动服务:

sudo systemctl restart isc-dhcp-server

2️⃣ 在其他设备上配置 DHCP 中继(关键)

✅ 路由器 / 三层交换机(最常见)

以 Cisco 风格为例:

interface vlan10
 ip helper-address 192.168.10.5

interface vlan20
 ip helper-address 192.168.10.5

192.168.10.5 是 Debian DHCP 服务器 IP


✅ Debian 作为 DHCP 中继(不常见但可行)

sudo apt install isc-dhcp-relay

配置:

sudo nano /etc/default/isc-dhcp-relay
SERVERS="192.168.10.5"
INTERFACES="eth0 eth1"

启动:

sudo systemctl restart isc-dhcp-relay

二、DHCP 服务器多网卡(不推荐)

原理

  • DHCP 服务器 每个网段一个网卡
  • 直接提供 DHCP 服务

缺点

  • 网卡多
  • 不适合大规模网络
  • 不符合现代网络架构

三、DHCP + VLAN(进阶)

场景

  • 单网卡
  • 多个 VLAN
  • 使用 802.1Q

步骤

  1. 创建 VLAN 子接口
ip link add link eth0 name eth0.10 type vlan id 10
ip addr add 192.168.10.1/24 dev eth0.10
ip link set eth0.10 up
  1. DHCP 配置对应 subnet
  2. 交换机配置 trunk

✅ 适合 小型环境 / 实验


四、常见问题排查

1️⃣ DHCP 不跨网段?

✅ 检查:

  • 是否配置 ip helper / DHCP Relay
  • 防火墙是否放行 UDP 67/68
sudo ufw allow 67/udp
sudo ufw allow 68/udp

2️⃣ DHCP 日志在哪?

journalctl -u isc-dhcp-server

或:

tail -f /var/log/syslog

五、总结(推荐方案)

场景 推荐方案
企业 / 多 VLAN ✅ DHCP 中继
简单实验 VLAN + 单 DHCP
小网络 多网卡 DHCP

如果你愿意,可以告诉我:

  • 是否有 三层交换机
  • Debian 是 物理机还是虚拟机
  • 网络拓扑(VLAN 数量)

我可以直接帮你写 完整可用配置

0