nmcli最常用的名令

connection连接相关

nmcli查看ip

[root@hehe ~]# nmcli 
eth0: connected to eth1
        "Red Hat Virtio"
        ethernet (virtio_net), 00:16:3E:0E:45:31, hw, mtu 1500
        ip4 default
        inet4 172.16.100.7/24
        inet4 172.17.201.88/20
        route4 0.0.0.0/0
        route4 172.16.100.0/24
        route4 172.17.192.0/20
        inet6 fe80::7fb8:d6e7:1c09:caae/64
        route6 fe80::/64

lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

DNS configuration:
        servers: 100.100.2.136 100.100.2.138
        interface: eth0

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.

配置静态ip

相当于ifcfg配置文件,BOOTPROTO=none,并且ifup启动

nmcli c add type ethernet con-name ens32 ifname ens32 ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual  

配置动态ip

相当于ifcfg配置文件,BOOTPROTO=dhcp,并且ifup启动

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

非交互式修改IP

nmcli c modify ens32 ipv4.addr '192.168.1.200/24'
nmcli c up ens32

交互式修改ip

nmcli c edit ens32
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
Edit 'addresses' value: 192.168.1.200/24
Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
nmcli ipv4> save
nmcli ipv4> activate
nmcli ipv4> quit

启动连接,相当于ifup

nmcli c up ens32

停止connection(相当于ifdown)

nmcli c down

 删除connection(类似于ifdown并删除ifcfg)

nmcli c delete ens32

查看connection列表

nmcli c show

查看某个connection详细信息

nmcli c show ens32

重载所有ifcfg或route到connection(不会立即生效)

nmcli c reload

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

nmcli c load /etc/sysconfig/network-scripts/ifcfg-ens32
nmcli c load /etc/sysconfig/network-scripts/route-ens32

立即生效connection

nmcli c up ens32
nmcli d reapply ens32
nmcli d connect ens32

device 设备管理

 查看device列表

nmcli d

查看所有device详细信息

nmcli d show ens32

激活网卡

nmcli d connect ens32

nmcli connection的解释

[root@hehe ~]# nmcli c s
NAME  UUID                                  TYPE      DEVICE 
eth1  69609727-cbbf-479d-ae87-a76256c520b9  ethernet  eth0 


▪ 第一列是connection名字,简称con-name(注意con-name不是网卡名)
▪ 第二列是connection的UUID
▪ 最后一列才是网卡名(标准说法叫device名),可通过nmcil d查看device

对connection做操作时需要指定标识,标识可以是con-name、UUID、如果存在ifcfg文件则也可以用ifcfg的完整路径,即/etc/sysconfig/network-scripts/ifcfg-ens32
nmcli c show ens32
nmcli c show cae3f1ef-e79a-46c3-8e0c-946b91a65e11
nmcli c show /etc/sysconfig/network-scripts/ifcfg-ens32

nmcli device重点

nmcli d connect ens32

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

nmcli d disconnect ens32

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

nmcli d reapply ens32

专门用于刷新connection,前提是网卡的device处于connected状态,否则会报错。

nmcli d set ens32 autoconnect yes|no managed yes|no

可以设置是否自动连接和是否自动管理,但经测试只能用于当前开机状态, 如果这2个参数都设置为no,然后重启系统,又会自动恢复成connected和managed yes的状态。所以该命令用途不大。

注意事项:如果managed设置为no,那么nmcli c reload会读取配置文件,但是不会立即生效,接着如果执行nmcli c up ethX,就会立即生效,同时managed自动变为yes。

原文地址:https://www.cnblogs.com/zh-dream/p/12822773.html