Ubuntu 18/20 开机没有IP地址

Ubuntu每次重启开机之后,无法自动获取IP地址,使用 ifconfig 命令查看也没有网卡信息显示。

通过一下命令可以获取动态IP

sudo dhclient

此时已经获取到IP地址,本次可以结束。

但是每次重启之后都需要重新执行该命令,才能获取IP。通过 nmcli 查看现有的网络连接,没有网络连接信息显示。

# 查看现有的网络连接
nmcli con show
# 没有任何信息输出。

如果执行 sudo nmcli con up ‘ifname’ 等命令可能出现以下报错之一。

Error: Connection activation failed: No suitable device found for this connection (device lo not available because device is strictly unmanaged)

Error: Connection activation failed: Connection ‘con-name’ is not available on device ‘ifname’ because device is strictly unmanaged

可以检查托管状态是否开启

# 查看托管状态
nmcli n
# 显示 disabled 则通过以下命令开启
# 开启托管
nmcli n on

如果显示 enabled,但是每次重启还是无法自动获取IP,可以尝试以下操作。

  • 查看dhclient 是否运行
 ps -ef |grep dhclient 
  • 查看NetworkManager 是否运行
systemctl status NetworkManager
  • 如果NetworkManager的状态为Active: inactive (dead),则NetworkManager未启动
# 查看是否自启
systemctl is-enabled NetworkManager
# 如果为 disabled 则没有启动
# 允许自启,并启动
systemctl enable NetworkManager && systemctl start NetworkManager
  • 如果NetworkManager的状态为Active: active (running),查看网卡设备是否被NetworkManager 管理
# 使用以下命令查看网卡托管状态
nmcli device status

输出以下信息,发现网卡没有被 NetworkManager 托管。

DEVICETYPESTATECONNECTION
ifnameethernetunmanaged
ifnameethernetunmanaged
Ioloopbackunmanaged
  • 显示网卡的STATE为unmanaged,则该网卡设备未被NetworkManager管理,恢复管理。
# 网卡名称 ifname
nmcli device set ifname managed yes

# 重启 NetworkManager
systemctl restart NetworkManager

执行完该命令,查看网卡仍然没有被管理。继续以下尝试。

  • 查看NetworkManager 网卡设备配置文件
vim /etc/netplan/01-network-manager-all.yaml 

原始配置如下:

#Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager

  • 不用修改配置文件,执行以下命令,使配置文件生效。
# 配置生效
sudo netplan apply
# 如果没有安装 netplan,该命令会找不到报错

# 通过以下命令安装
sudo apt install netplan.io

# 再次运行
sudo netplan apply
  • 重启NetworkManager
sudo systemctl restart NetworkManager
nmcli con show

出现网络连接信息:

NAMEUUIDTYPEDEVICE
con-nameethernetifname
con-nameethernetifname
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐