温馨提示×

Debian DHCP中如何进行故障排除

小樊
38
2025-11-19 05:16:25
栏目: 智能运维

Debian DHCP故障排除步骤

一 快速定位流程

  • 确认服务状态:sudo systemctl status isc-dhcp-server;未运行则启动:sudo systemctl start isc-dhcp-server;设置开机自启:sudo systemctl enable isc-dhcp-server。
  • 查看服务日志:sudo grep -i dhcp /var/log/syslog 或 sudo grep -i dhcp /var/log/messages,优先从报错时间点定位问题。
  • 校验配置语法:sudo dhcpd -t,修正 /etc/dhcp/dhcpd.conf 的语法错误后再重启服务。
  • 核对监听接口:编辑 /etc/default/isc-dhcp-server,确保 INTERFACESv4 与实际网卡名一致(如 eth0)。
  • 检查端口占用:sudo ss -ulnp | egrep ‘:(67|68)’; 若被占用,释放或调整服务端口绑定。
  • 客户端验证:在客户端执行 sudo dhclient -v <接口名>,观察 Discover/Offer/Request/ACK 流程是否完整。
  • 防火墙放行:sudo ufw allow 67/udp68/udp(或对应防火墙规则)。
  • 变更后重启:sudo systemctl restart isc-dhcp-server。

二 常见故障与修复要点

  • 服务起不来:多为配置语法错误或接口未指定。先执行 sudo dhcpd -t 定位语法行,再确认 /etc/default/isc-dhcp-server 中 INTERFACESv4 设置正确。
  • 客户端拿不到地址:检查子网、地址池范围是否覆盖客户端网段;查看日志是否有 “No free leases”;确认服务器网卡 IP 与子网匹配;跨网段需配置 DHCP 中继且保证路由可达。
  • 地址耗尽或冲突:核对 range 上限是否过小、租期是否过长;必要时扩大地址池或缩短租期,并清理异常租约。
  • 防火墙/端口阻断:确认 UDP 67/68 未被拦截;云主机安全组同样需要放行。
  • 中继场景异常:核对中继设备到 DHCP 服务器的 IP 可达性、服务器组配置与网关接口上的中继启用状态。
  • 二层安全策略影响:交换机启用 DHCP Snooping 时,确保上联/信任端口配置正确,否则客户端 Discover/Offer 可能被丢弃。

三 关键配置文件与日志位置

  • 服务器主配置:/etc/dhcp/dhcpd.conf(示例片段)
    subnet 192.168.1.0 netmask 255.255.255.0 {
      range 192.168.1.10 192.168.1.100;
      option routers 192.168.1.1;
      option subnet-mask 255.255.255.0;
      option domain-name-servers 8.8.8.8, 8.8.4.4;
    }
  • 接口绑定:/etc/default/isc-dhcp-server(示例)INTERFACESv4=“eth0
  • 租约数据库:/var/lib/dhcp/dhcpd.leases(用于核对已分配/过期租约)
  • 运行日志:/var/log/syslog 或 /var/log/messages(使用 grep/ tail 过滤 “dhcp” 关键词)

四 客户端与服务端联合排查命令清单

  • 服务端:
    • 状态与重启:sudo systemctl status|start|restart isc-dhcp-server
    • 语法检查:sudo dhcpd -t
    • 端口监听:sudo ss -ulnp | egrep ‘:(67|68)’
    • 日志跟踪:sudo tail -f /var/log/syslog | grep -i dhcp
    • 租约查看:cat /var/lib/dhcp/dhcpd.leases
  • 客户端:
    • 主动获取地址:sudo dhclient -v <接口名>
    • 释放与续租:sudo dhclient -r <接口名> 后再 sudo dhclient -v <接口名>
    • 接口简要信息:ip -4 addr show dev <接口名>;路由:ip route

五 实用排查清单

症状 优先检查 快速命令/位置
服务启动失败 配置语法、接口绑定 sudo dhcpd -t;cat /etc/default/isc-dhcp-server
客户端无 IP 地址池、日志、接口 IP 与子网匹配 grep -i dhcp /var/log/syslog;cat /etc/dhcp/dhcpd.conf
跨网段拿不到地址 DHCP 中继与路由可达性 查看中继配置与服务器到网关路由
偶发获取失败 租约耗尽或冲突 cat /var/lib/dhcp/dhcpd.leases;扩大 range/缩短租期
防火墙阻断 UDP 67/68 放行 sudo ufw allow 67/udp;sudo ufw allow 68/udp
交换机环境异常 DHCP Snooping 信任端口 核对上联/信任端口策略

0