Ubuntu 24.04 DHCP获取不到IP排查

Ubuntu 24.04 Server 上 DHCP 获取不到 IP,而且之前日志里看到 eth0: lost carrier,这说明问题不是 DHCP 配置本身,而是 网卡物理链路或驱动问题

1.确认网卡是否识别

1
2
ip link
lspci -nnk | grep -A3 -i ethernet
  • 你能看到 eth0ens3

  • 检查 Kernel driver in use 是否正确

    • Realtek RTL8125,必须用官方 r8125 驱动
    • 默认 r8169 可能会导致 lost carrier → DHCP 请求根本发不出去

2.安装 RTL8125 驱动

基于dkms管理驱动

1
2
3
4
5
6
7
8
9
10
1.requirement
sudo apt install build-essential dkms linux-headers-$(uname -r) git

2.clone
git clone https://github.com/awesometic/realtek-r8125-dkms.git

3.build && install
cd realtek-r8125-dkms
sudo ./dkms-install.sh
sudo modprobe r8125
  • 驱动装好后,ip link 查看接口状态
  • ethtool eth0Link detected: yes

3.检查 netplan 配置

假设网卡是 eth0

1
2
3
4
5
network:
version: 2
ethernets:
eth0:
dhcp4: true
  • 文件权限 root:root,644
  • 执行:
1
2
#sudo netplan generate
sudo netplan apply

4.手动尝试 DHCP

1
2
sudo ip link set eth0 up
sudo dhclient -v eth0
  • 如果能拿到 IP → 问题是 netplan 或 wait-online 服务卡住
  • 如果依然不行 → 驱动或物理链路问题

5.检查链路和物理连接

1
ethtool eth0
  • Link detected: yes → 驱动正常,网线通
  • Link detected: no → 网线坏、接口没开、交换机端口问题

结论

  • DHCP 获取不到 IP 本质上是 网卡链路不通或驱动不支持
  • 对 RTL8125 网卡,最关键的是安装 r8125 DKMS 驱动
  • 网线、交换机、虚拟机网卡设置也要检查。