首先確認物理連接正常(網線插緊、無線網卡已連接),避免因硬件問題導致DHCP請求無法發送。使用ping
命令測試與網關或外部網絡的連通性(如ping 192.168.1.1
或ping 8.8.8.8
),若無法ping通,需優先排查網絡線路或無線設置問題。
Ubuntu中DHCP客戶端服務通常為dhclient
(傳統)或集成于NetworkManager
/systemd-networkd
(現代)。使用以下命令檢查服務狀態:
sudo systemctl status dhclient
(傳統客戶端);sudo systemctl status NetworkManager
(若使用NetworkManager管理網絡);sudo systemctl status systemd-networkd
(若使用systemd-networkd)。sudo systemctl start <服務名>
+ sudo systemctl enable <服務名>
。根據Ubuntu版本差異,配置文件位置不同:
/etc/network/interfaces
:確保接口配置包含iface <接口名> inet dhcp
(如iface eth0 inet dhcp
);/etc/netplan/*.yaml
文件(如01-netcfg.yaml
),確保接口配置為dhcp4: true
(示例:ethernets: {enp0s3: {dhcp4: true}}
)。sudo netplan apply
(Netplan)或sudo systemctl restart networking
(傳統)。通過日志定位具體錯誤,常用命令:
sudo journalctl -u dhclient
(查看dhclient日志);sudo tail -f /var/log/syslog | grep dhcp
(實時過濾syslog中的DHCP相關日志)。若客戶端配置正確但仍無法獲取IP,可能是DHCP服務器問題??稍诳蛻舳耸謩佑|發DHCP請求:sudo dhclient -v <接口名>
(如sudo dhclient -v eth0
),-v
參數顯示詳細過程,幫助判斷是客戶端還是服務器問題。
防火墻可能阻止DHCP流量(UDP 67/68端口)。使用以下命令檢查并放行:
sudo ufw status
(查看防火墻狀態);sudo ufw allow 67/udp
(允許DHCP服務器端口);sudo ufw allow 68/udp
(允許DHCP客戶端端口)。sudo ufw disable
(注意:僅用于排查,完成后需重新啟用)。DHCP服務依賴UDP 67(服務器)和68(客戶端)端口,若被其他程序占用,會導致服務異常。使用以下命令檢查端口占用:
sudo netstat -tuln | grep -E '67|68'
;sudo ss -tuln | grep -E '67|68'
。若客戶端存在舊租約記錄,可能導致無法獲取新IP。刪除租約文件后重新獲?。?/p>
/var/lib/dhclient/dhclient.leases
;sudo rm /var/lib/dhclient/dhclient.leases
,然后重啟網絡服務或運行sudo dhclient <接口名>
。lspci -k
或lsusb
查看網卡型號,前往官網下載對應驅動;