目录
1. 安装NetworkManager
2.nmcli 命令
3.NetworkManager接管
4. NetworkManager服务重启
5. FAQ
sudo apt install network-manager-gnome
nmcli 是NetworkManager的工具,用于管理网卡配置文件,配置文件目录为/etc/NetworkManager/system-connections/
好处:
管理 device 常用命令
$ nmcli device status # 查看网卡信息
$ nmcli device delete 网卡配置文件名 # nmcli 只能删除虚拟网卡,不能删除eth0物理网卡
$ nmcli device disconnect 网卡配置文件名 # 切断网卡与当前配置文件的联系
$ nmcli device connect 网卡配置文件名 # 连接一个网卡配置文件
$ nmcli device show 网卡配置文件名 # 展示网卡当前连接的配置文件
$ nmcli device status # 查看网卡信息
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0_connection
lo loopback unmanaged --总共4列:
第一列表示网卡名称
第二列是网卡的类型
第三列是当前网卡的状态(指的是NetworkManager服务是否接管了这块网卡), unmanaged 就表示该块网卡并没有被NetworkManager服务接管 disconnected 意味着该块网卡,并没有使用任何配置文件 connected 意味着该块网卡,正在使用某个配置文件 connecting 意味着该网卡正在获取ip地址
第四列表示当前网卡使用的配置文件,“--“ 表示该网卡当前没有配置文件
添加网卡配置文件
nmcli 创建网卡配置文件会在/etc/NetworkManager/system-connections/目录下生成一个网卡配置文件
1)必须要添加的参数: con-name(配置文件名) type(类型,默认为ethernet) ifname(网卡名称)
$ sudo nmcli connection add con-name "网卡配置文件名" type "网络类型" ifname "网卡名称"
$ sudo nmcli connection add con-name eth0_connection type ethernet ifname eth0
2)添加网卡配置文件并指定地址、网卡、dns
$ sudo nmcli connection add con-name eth0_connection type ethernet ifname eth0 ipv6.method ignore ipv4.method manual ipv4.addresses 10.8.170.234/24 ipv4.gateway 10.8.170.254 ipv4.dns 114.114.114.114 +ipv4.dns 8.8.8.8 +ipv4.dns 8.8.4.4
删除一个网卡配置文件
$ nmcli connection delete con-name
激活 / 重新加载/关闭一个网卡配置文件
# 如果手工修改了配置文件,需要重新将修改的配置文件加载到内存中,再激活,才可以生效
$ sudo nmcli connection reload # 重新加载配置文件
$ sudo nmcli connection up "网卡配置文件" # 激活网卡配置文件(应用)
注意:确保网卡配置文件为600权限$ sudo nmcli connection down "网卡配置文件"
修改网卡配置文件
sudo nmcli connection modify "网卡配置文件" 后面跟的参数与add后面跟的参数相似度达90%
sudo nmcli connection modify "网卡配置文件" ipv4.addresses 192.168.1.10/24ipv4.x前面可以加(加号或减号±), ipv4.x表示设置, +ipv4.x表示新增, -ipv4.x表示移除.
一句中只能出现一次ipv4.x,后面的ipv4.x会覆盖前面的ipv4.x; 一句中可以出现多次 +ipv4.x 和 -ipv4.x.
sudo nmcli connection modify eth0_connection +ipv4.addresses 192.168.1.10/24 +ipv4.gateway 192.168.1.254修改网卡配置文件名 eth0-1 -> eth0-2
$ nmcli connection modify "网卡配置文件" connection.id "网卡配置文件"迁移一个配置文件到另外一个网卡
$ nmcli connection modify "网卡配置文件" connection.interface-name "网卡名"
查看一个网卡配置文件
nmcli connection show
NAME UUID TYPE DEVICE
eth0_0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
eth0_1 18295743-ed7d-4e8d-abab-5b65b1a13270 ethernet --
$ nmcli connection show eth0_0
开机加载
网卡配置文件在下次开机时是否自动加载,也就是网卡配置文件中的 ONBOOT 选项
$ sudo nmcli connection modify ens256-3 connection.autoconnect yes
方法一:
nmcli n on
方法二:
1.配置使用NetworkManager
cat NetworkManager.conf
[main]
plugins=ifupdown,keyfile[ifupdown]
managed=true[device]
wifi.scan-rand-mac-address=no2.重启服务
sudo service network-manager restart
执行如下任意命令
sudo systemctl restart NetworkManager
sudo service network-manager restart
sudo service network-manager start
网络管理工具未切换导致
$ /etc/NetworkManager/system-connections$ sudo nmcli connection up eth0_1 Error: Connection activation failed: No suitable device found for this connection.