以下是Ubuntu DHCP服务的恢复方法,需根据具体场景选择操作:
命令行配置
编辑网络接口文件(如/etc/netplan/01-netcfg.yaml),确保包含dhcp4: true,然后应用配置:
sudo netplan apply # 适用于Netplan管理的网络
或编辑/etc/network/interfaces(部分旧系统):
auto eth0
iface eth0 inet dhcp # 替换为实际网卡名
sudo systemctl restart networking # 重启网络服务
使用NetworkManager
通过nmcli命令启用DHCP:
sudo nmcli connection modify <连接名> ipv4.method auto # 替换为实际连接名
sudo nmcli connection up <连接名> # 激活连接
重启服务
若服务异常,先停止再启动:
sudo systemctl stop isc-dhcp-server
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server # 设置开机自启
检查配置文件
确保/etc/dhcp/dhcpd.conf语法正确,可通过以下命令验证:
sudo dhcpd -t # 测试配置文件语法
若有误,需修正后重启服务。
检查网络接口绑定
确认/etc/default/isc-dhcp-server中INTERFACESv4设置为正确网卡名(如eth0)。
排查防火墙
若使用UFW,需允许DHCP端口(UDP 67/68):
sudo ufw allow 67/udp
sudo ufw allow 68/udp
sudo ufw reload
若需清除自定义设置,可备份后删除配置文件,重新生成默认配置:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak # 备份
sudo rm /etc/dhcp/dhcpd.conf # 删除原配置
sudo netplan generate # 重新生成默认配置(需配合Netplan)
sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-server,确认显示active (running)。sudo tail -n 50 /var/log/syslog | grep dhcpd,查看是否有错误信息。sudo dhclient -r && sudo dhclient,检查是否能获取IP。注意:操作前建议备份配置文件,若问题复杂可参考官方文档或联系管理员。
参考来源:[1,2,3,4,5,6,7,8,9,10,11]