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 托管。
DEVICE | TYPE | STATE | CONNECTION |
---|---|---|---|
ifname | ethernet | unmanaged | – |
ifname | ethernet | unmanaged | – |
Io | loopback | unmanaged | – |
- 显示网卡的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
出现网络连接信息:
NAME | UUID | TYPE | DEVICE |
---|---|---|---|
con-name | ethernet | ifname | |
con-name | ethernet | ifname |