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。
posted on 2020-05-03 18:11 hopeless-dream 阅读(501) 评论(0) 编辑 收藏 举报