温馨提示×

ubuntu dhcp为何启动失败

小樊
63
2026-09-07 04:31:27
栏目: 智能运维

Ubuntu 上 DHCP 启动失败(通常指 isc-dhcp-server 或系统自带 DHCP 相关服务无法运行)原因很多,下面按最常见原因 → 排查步骤 → 解决办法给你梳理。


一、最常见原因

1️⃣ 配置文件错误(90% 的问题)

DHCP 服务对配置非常敏感,只要有语法错误就直接启动失败。

配置文件位置:

/etc/dhcp/dhcpd.conf

典型错误包括:

  • 少了分号 ;
  • subnet 写错
  • 网关不在 subnet 范围
  • 没有写 option routers
  • 多个 subnet 冲突

✅ 检查语法:

dhcpd -t

或

sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf

2️⃣ 网卡没有配置 IP(非常常见)

DHCP 服务器必须在要服务的网段上有 IP。

例如:

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
}

但网卡没有 192.168.1.x 的 IP → 启动失败。

✅ 检查:

ip addr

✅ 解决:

sudo ip addr add 192.168.1.1/24 dev eth0

3️⃣ DHCP 监听网卡未指定

Ubuntu 默认不监听所有网卡。

配置文件:

/etc/default/isc-dhcp-server

示例:

INTERFACESv4="eth0"

✅ 确认网卡名正确(不是 eth0 也可能是 ens33)


4️⃣ 端口 67 被占用

其他 DHCP(如 dnsmasq)已在运行。

✅ 检查:

sudo ss -lup | grep :67

✅ 停止冲突服务:

sudo systemctl stop dnsmasq

5️⃣ AppArmor 限制(少见但存在)

特别是在容器或定制系统里。

✅ 查看日志:

sudo journalctl -u isc-dhcp-server

二、快速排错流程(推荐)

# 1. 查看错误
sudo journalctl -xeu isc-dhcp-server

# 2. 测试配置
sudo dhcpd -t

# 3. 确认网卡 IP
ip addr

# 4. 确认监听网卡
cat /etc/default/isc-dhcp-server

# 5. 启动
sudo systemctl restart isc-dhcp-server

三、最小可用配置示例

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option domain-name-servers 8.8.8.8;
}

四、如果你愿意

你可以直接贴:

  • Ubuntu 版本
  • dhcpd.conf
  • journalctl -u isc-dhcp-server 报错

我可以精准告诉你哪一行错了。

0 踩