nmcli

NetworkManager是2004年Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求,尤其是无线网络,能自动发现网卡并配置ip地址。

在rhel8上,必须开启NM,否则无法使用网络。

nmcli使用方法

nmcli使用方法非常类似linux ip命令、cisco交换机命令,并且支持tab补全,也可在命令最后通过-h、--help、help查看帮助。在nmcli中有2个命令最为常用:

nmcli connection

译作连接,可理解为配置文件,相当于ifcfg-eth0。可以简写为nmcli c

nmcli device

译作设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)。可以简写为nmcli d

在NM里,有2个维度:连接(connection)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。设备里存在的网卡(即 nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即 nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过 nmcli c up切换连接。

connection有2种状态:

▷ 活跃(带颜色字体):表示当前该connection生效
▷ 非活跃(正常字体):表示当前该connection不生效

device有4种常见状态:

▷ connected:已被NM纳管,并且当前有活跃的connection
▷ disconnected:已被NM纳管,但是当前没有活跃的connection
▷ unmanaged:未被NM纳管
▷ unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip link set ethX down)

配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)

nmcli c add type ethernet con-name eth0 ifname ens33 ipv4.method auto

type ethernet:创建连接时候必须指定类型,类型有很多,可以通过nmcli c add type -h看到,这里指定为ethernet。

con-name eth0 ifname ens33:第一个eth0表示连接(connection)的名字,这个名字可以任意定义,无需和网卡名相同;第二个ens33表示网卡名,这个ens33必须是在nmcli d里能看到的。

配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)

nmcli c add type ethernet con-name eth0 ifname ens33 ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.254 ipv4.dns '8.8.8.8,4.4.4.4' ipv4.method manual

ipv4.method对应ifcfg文件内容的BOOTPROTO,ipv4.method默认为auto,对应为BOOTPROTO=dhcp,这种时候如果指定ip,就可能导致网卡同时有dhcp分配的ip和静态ip。设置为manual表示BOOTPROTO=none,即只有静态ip。

查看ip(类似于ifconfig、ip addr)

nmcli

启用指定网卡配置文件(相当于ifup)

nmcli c up ethX

停止指定网卡配置文件(相当于ifdown)

nmcli c down ethX

删除指定网卡配置文件(类似于ifdown并删除ifcfg)

nmcli c delete ethX

查看connection列表

nmcli c show

查看connection详细信息

nmcli c show ethX

重载所有网卡配置文件(不会立即生效)

nmcli c reload

重载指定ifcfg或route到connection(不会立即生效)

nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX

nmcli c load /etc/sysconfig/network-scripts/route-ethX

立即使网卡配置文件生效,有3种方法

nmcli c up eth0 # 启用指定网卡配置文件

nmcli d reapply eth0 #刷新网卡配置文件,前提是网卡的device处于connected状态,否则会报错。

nmcli d connect eth0 #激活网卡

查看网卡列表

nmcli d

查看所有网卡的详细信息

nmcli d show

查看指定网卡的详细信息

nmcli d show eth0

激活网卡(就算之前nmcli c delete eth0删除网卡配置文件,也可以使用此命令激活重新生成配置文件)

由NM对指定网卡进行管理,同时刷新该网卡对应的活跃connection(如果之前有修改过connection配置);如果有connection但是都处于非活跃状态,则自动选择一个connection并将其活跃;如果没有connection,则自动生成一个并将其活跃。

nmcli d connect eth0

nmcli d disconnect eth0

让NM暂时不管理指定网卡,此操作不会变更实际网卡的link状态,只会使对应的connection变成非活跃。若重启系统则又会自动connect。另外,如果手工将该网卡的connection全部删掉,该网卡状态也会自动变为disconnected。

关闭无线网络(NM默认启用无线网络)

nmcli r all off

查看NM启动状态

nmcli n

开启NM纳管

nmcli n on

关闭NM纳管(谨慎执行)

nmcli n off

监听事件

nmcli m

查看NM本身状态

nmcli

检测NM是否在线可用

nm-online

转:https://blog.51cto.com/u_7072753/2416910

posted @ 2022-03-23 16:15  1769987233  阅读(407)  评论(0编辑  收藏  举报