问题描述

网卡没有自动 up

1
ifconfig

查看不到网卡设备,加参数 -a 后可以显示,说明网卡的驱动正常加载,但是没有被启用

1
ifconfig -a

nmcli 没有 connection

先使用 ifconfig 启用网卡:

1
ifconfig eth0 up

然后使用 nmcli 查看链接,会发现不存在:

1
nmcli connection show

并且当查看 NetworkManager 管理的网卡设备, 会发现这些网卡设备都是 unmanaged

1
nmcli d

用图形化界面查看也是一样,因为后端 NetworkManager 没有管理这些网卡设备:

network-manager-device-not-managed

解决方案

检查 interface

检查未管理的接口是否出现在 /etc/network/interfaces 中。默认情况下,NetworkManager 不管理出现在 /etc/network/interfaces 中的接口。

1
sudo vim /etc/NetworkManager/NetworkManager.conf

managed=false 行更改为 managed=true ,然后保存、停止和启动网络管理器:

1
sudo service network-manager restart

或者,从 /etc/network/interfaces 中删除该接口:

1
2
3
4
5
6
7
8
9
10
11
12
# 备份当前接口文件:
sudo cp /etc/network/interfaces /etc/network_interfaces_backup

# 然后打开文件:
sudo vim /etc/network/interfaces

# 删除该文件中的所有内容并复制并粘贴以下内容:
auto lo
iface lo inet loopback

# 保存、停止和启动网络管理器:
sudo service network-manager restart

修改配置文件

Ubuntu 会安装一个配置文件,该文件将大多数设备设置为非托管:

1
2
3
cat /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf
# [keyfile]
# unmanaged-devices=*,except:type:wifi,except:type:gsm,except:type:cdma

要禁用此功能,可以在以下位置创建一个具有相同名称的空白文件 /etc

1
2
sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
sudo systemctl restart NetworkManager

此时有线和无线网卡会被 NetworkManager 接管。