首页主机资讯Ubuntu DHCP如何诊断故障

Ubuntu DHCP如何诊断故障

时间2025-12-16 08:13:03发布访客分类主机资讯浏览1012
导读:Ubuntu DHCP故障诊断流程 一 快速定位问题归属 判断是DHCP服务器还是客户端侧异常:服务器侧关注服务是否运行、配置与租约;客户端侧关注是否拿到地址、DNS与路由。 查看接口是否拿到地址:运行ip addr show,若只有in...

Ubuntu DHCP故障诊断流程

一 快速定位问题归属

  • 判断是DHCP服务器还是客户端侧异常:服务器侧关注服务是否运行、配置与租约;客户端侧关注是否拿到地址、DNS与路由。
  • 查看接口是否拿到地址:运行ip addr show,若只有inet6链路本地地址而无inet(IPv4)地址,多半是DHCP未成功。
  • 查看默认路由:运行ip route,若缺少default via < 网关IP> ,即使拿到地址也可能无法出网。
  • 检查DNS:运行resolvectl status,确认是否获取到DNS服务器;若IP可达但域名不通,多为DNS问题。
  • 虚拟机场景:确认虚拟网络模式(如NAT/桥接)与DHCP服务是否启用,以及是否与宿主机在同一网段。

二 服务器端排查 isc-dhcp-server

  • 服务状态与日志:运行sudo systemctl status isc-dhcp-server查看是否active;用sudo journalctl -u isc-dhcp-servergrep dhcp /var/log/syslog定位错误。
  • 配置语法与租约:执行sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf检查语法;检查**/var/lib/dhcp/dhcpd.leases**租约文件是否正常写入。
  • 监听接口与地址:编辑**/etc/default/isc-dhcp-server**,确保INTERFACESv4绑定到正确的上行接口(如eth0);确认该接口已配置静态IP且位于配置的子网内。
  • 端口与防火墙:DHCP使用UDP 67/68。用ss -ulnp | grep ':67|:68’查看是否被占用;若启用ufw,放行规则如sudo ufw allow 67,68/udp
  • 地址池与租约:在**/etc/dhcp/dhcpd.conf中确认subnetrange覆盖客户端网段;租约时间不宜过长,必要时调整为1天**以缓解地址耗尽。
  • 时间同步:服务器时间漂移会导致租约异常,建议安装并启用ntpsystemd-timesyncd同步时钟。

三 客户端排查

  • 确认请求DHCP:查看接口配置是否为dhcp4: true(Netplan),或使用nmcli connection show “< 连接名> ” | grep ipv4.method确认为auto;必要时用**sudo dhclient -v < 接口> **主动发起请求并观察Discover/Offer/Request/ACK过程。
  • 获取结果与路由:运行ip addr show < 接口> 检查是否出现inet地址;运行ip route确认default路由;运行resolvectl status核对DNS。
  • 日志与抓包:查看journalctl -u NetworkManagergrep dhcp /var/log/syslog;抓包定位链路问题:sudo tcpdump -i < 接口> -nn port 67 or 68(服务器端可见67端口收Discover,客户端可见68端口收Offer/ACK)。
  • 防火墙与安全组:确保客户端与服务器之间UDP 67/68未被阻断(本地ufw或云安全组策略)。

四 常见症状与修复对照表

症状 快速检查 修复建议
接口只有**fe80::**链路本地地址 ip a;route -n 确认启用dhcp4: true或nmcli为auto;用dhclient重试;检查服务器地址池与接口绑定
拿到地址但无法上网 ip route;ping 默认网关 检查默认路由是否存在;确认网关可达;排查VLAN/ACL/物理链路
能ping IP但不能解析域名 resolvectl status;nslookup example.com 核对DHCP分配的DNS;临时改用8.8.8.8验证;修正服务器或客户端DNS配置
服务器启动失败 systemctl status isc-dhcp-server;dhcpd -t 修正**/etc/dhcp/dhcpd.conf语法;设置正确的INTERFACESv4**;排查端口占用
虚拟机拿不到地址 虚拟网络模式;宿主机DHCP;同网段 将VM网络设为NAT/桥接并确保DHCP启用;核对子网与网关一致性
租约耗尽或地址冲突 /var/lib/dhcp/dhcpd.leases;日志 缩短default/max-lease-time;扩大range;排查重复静态IP与冲突设备

五 应急与验证

  • 临时静态应急:在**/etc/netplan/*.yaml中设置addresses/routes/nameservers后执行sudo netplan apply**,先恢复连通性,再回查DHCP根因。
  • 回归验证:确认ip ainet地址、ip routedefaultresolvectl status有可用DNS,并能稳定访问内外网资源。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu DHCP如何诊断故障
本文地址: https://pptw.com/jishu/772438.html
Ubuntu DHCP如何恢复配置 Ubuntu DHCP如何指定IP范围

游客 回复需填写必要信息