在Ubuntu上诊断DHCP问题可按以下步骤进行:
检查服务状态
sudo systemctl status dhcpcd(客户端)或 sudo systemctl status isc-dhcp-server(服务器)。sudo systemctl start dhcpcd 或 sudo systemctl start isc-dhcp-server。检查配置文件
/etc/netplan/*.yaml)中 dhcp4: true 已设置。/etc/dhcp/dhcpd.conf 语法是否正确,可使用 sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf 测试。查看日志
journalctl -u dhcpcd 或 grep dhcp /var/log/syslog。journalctl -u isc-dhcp-server 或 /var/log/dhcpd.log。验证网络连接
ip addr show,确认是否获取到DHCP地址。ping 192.168.1.1(替换为实际网关IP)。ip route,确保默认网关正确。排查防火墙与端口
sudo ufw allow 67/udp,sudo ufw allow 68/udp。sudo netstat -tuln | grep -E '67|68'。手动测试与修复
sudo dhclient -r,sudo dhclient。其他高级操作
sudo tcpdump -i eth0 port 67 or port 68(替换为实际接口),查看DHCP请求/响应是否正常。cat /var/lib/dhcp/dhcpd.leases(服务器端),确认租约状态。若以上步骤无法解决,建议查看系统日志获取详细错误信息,或联系网络管理员。