温馨提示×

怎样重置linux dhcp服务

小樊
42
2026-10-06 17:12:44
栏目: 智能运维

在 Linux 中重置(重启 / 重新加载)DHCP 服务,取决于你使用的是哪一种 DHCP 实现(通常是 ISC DHCP Server 或 dnsmasq),以及你的系统初始化方式(systemd 还是 SysVinit)。下面分情况说明。


一、确认你用的是哪种 DHCP 服务

ps aux | grep -E 'dhcpd|dnsmasq'
  • 看到 dhcpd → ISC DHCP Server
  • 看到 dnsmasq → dnsmasq
  • 两个都没有 → 可能没装或不是 DHCP 服务器

二、使用 systemd(最常见:CentOS 7+/Ubuntu 16.04+)

1️⃣ ISC DHCP Server

重启服务:

sudo systemctl restart dhcpd

重新加载配置(不中断服务):

sudo systemctl reload dhcpd

查看状态:

sudo systemctl status dhcpd

有些系统服务名是 isc-dhcp-server(如 Debian/Ubuntu):

sudo systemctl restart isc-dhcp-server

2️⃣ dnsmasq(常用于软路由、内网)

sudo systemctl restart dnsmasq

查看状态:

sudo systemctl status dnsmasq

三、使用 SysVinit(老系统)

sudo service dhcpd restart
# 或
sudo service isc-dhcp-server restart

dnsmasq:

sudo service dnsmasq restart

四、如果是“客户端”想重置 DHCP 获取 IP

释放并重新获取 IP(DHCP 客户端)

CentOS / RHEL:

sudo dhclient -r
sudo dhclient

Ubuntu(Netplan / systemd-networkd):

sudo netplan apply

或:

sudo systemctl restart systemd-networkd

五、常见问题排查

修改配置后不生效?

  • 确认改的是正确文件
    • ISC DHCP:/etc/dhcp/dhcpd.conf
    • dnsmasq:/etc/dnsmasq.conf
  • 重启服务而不是 reload
  • 查看日志:
journalctl -u dhcpd
journalctl -u dnsmasq

如果你能告诉我:

  • Linux 发行版(CentOS / Ubuntu / 银河麒麟等)
  • 是 DHCP 服务器 还是 客户端
  • 用的哪种服务(dhcpd / dnsmasq)

我可以给你更精确的命令。

0 踩