温馨提示×

Ubuntu DHCP服务器如何恢复默认设置

小樊
44
2026-01-08 17:30:06
栏目: 云计算

Ubuntu DHCP服务器恢复默认设置

一、先确认使用的 DHCP 服务类型

  • 常见有两类:ISC DHCP Server(isc-dhcp-server)dnsmasq。先判断系统正在使用哪一种:
    • 查看是否存在服务单元:systemctl is-active isc-dhcp-serversystemctl is-active dnsmasq
    • 查看端口监听:ss -ulnp | grep ‘:67|:68’(ISC 通常监听 67/udp,dnsmasq 常同时监听 67/udp53/udp/tcp
    • 查看配置文件是否存在:ls /etc/dhcp/dhcpd.conf(ISC),或 /etc/dnsmasq.conf(dnsmasq)
  • 也可通过包管理器确认是否安装:dpkg -l | egrep ‘isc-dhcp-server|dnsmasq’。这一步决定后续要重置的配置文件与步骤。

二、通用安全操作步骤

  • 备份当前配置与租约(强烈建议):
    • ISC:
      • 配置:sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak-$(date +%F)
      • 租约:sudo cp /var/lib/dhcp/dhcpd.leases /var/lib/dhcp/dhcpd.leases.bak-$(date +%F)
    • dnsmasq:
      • 配置:sudo cp /etc/dhcp/dnsmasq.conf /etc/dhcp/dnsmasq.conf.bak-$(date +%F)
      • 租约:sudo cp /var/lib/misc/dnsmasq.leases /var/lib/misc/dnsmasq.leases.bak-$(date +%F)
  • 停止服务(避免修改时冲突):
    • ISC:sudo systemctl stop isc-dhcp-server
    • dnsmasq:sudo systemctl stop dnsmasq
  • 校验配置语法(仅对 ISC):sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf
  • 启动服务并设为开机自启:
    • ISC:sudo systemctl start isc-dhcp-server && sudo systemctl enable isc-dhcp-server
    • dnsmasq:sudo systemctl start dnsmasq && sudo systemctl enable dnsmasq
  • 验证运行状态与端口:systemctl status isc-dhcp-serversystemctl status dnsmasqss -ulnp | grep ‘:67|:68’

三、按服务类型恢复到默认

  • ISC DHCP Server(isc-dhcp-server)
    • 恢复或重装配置与包:
      • 重装包(会覆盖配置为包默认):sudo apt-get remove --purge isc-dhcp-server && sudo apt-get install isc-dhcp-server
      • 或仅覆盖主配置为包默认(示例路径,实际以已安装包为准):sudo cp /usr/share/doc/isc-dhcp-server/examples/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    • 恢复接口配置:sudo nano /etc/default/isc-dhcp-server,将 INTERFACESv4 设为需要监听的网卡(如 “ens33”),INTERFACESv6 置空或按需设置。
    • 初始化租约文件(全新环境):sudo touch /var/lib/dhcp/dhcpd.leases && sudo chown dhcpd:dhcpd /var/lib/dhcp/dhcpd.leases
    • 检查并启动:sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf && sudo systemctl start isc-dhcp-server
  • dnsmasq
    • 重装包(会覆盖配置为包默认):sudo apt-get remove --purge dnsmasq && sudo apt-get install dnsmasq
    • 按需编辑 /etc/dnsmasq.conf,仅保留必要默认项(如 dhcp-range、interface 等),删除自定义规则。
    • 启动:sudo systemctl start dnsmasq

四、验证与常见问题处理

  • 服务状态与端口:
    • 状态:systemctl status isc-dhcp-serversystemctl status dnsmasq
    • 端口:ss -ulnp | grep ‘:67|:68’
  • 配置语法:
    • ISC:sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf(启动前务必检查)
  • 日志排查:
    • 查看服务日志:journalctl -u isc-dhcp-server -bjournalctl -u dnsmasq -b
  • 防火墙与网络:
    • 确保 UDP 67(服务器)与 UDP 68(客户端)放行;云环境需放行安全组相应端口。

0