不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。

导航

nmcli命令

Posted on 2021-07-16 22:58  三年三班王小朋  阅读(1037)  评论(0编辑  收藏  举报

nmcli命令是可以完成网卡上的所有配置,并可以写入配置文件中。

在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 ensXX down)

语法格式:nmcli [参数]

常用参数:

c,connection 查看连接

d,device 查看设备

1、显示设备接口详细信息

nmcli d show

2、启动关闭接口

nmcli c up/down 接口名称(对应配置文件)

nmcli c up ens32
nmcli c down ens32

 3、创建连接

创建动态获取ip地址的连接  con-name是创建连接的名字,ifname是物理设备,网络接口

nmcli connection add type ethernet con-name dhcp-eth0 ifname eth0

创建静态ip地址连接  

nmcli c add type ethernet con-name “连接名” ifname “网卡名” ip4 “ipv4地址/掩码” gw4 “网关”

nmcli connection add type ethernet con-name ens32 ifname ens32 ip4 192.168.1.39/24 gw4 192.168.1.1 method auto
nmcli c add type ethernet con-name ens37 ifname ens37 ipv4.addr 192.168.1.200/24 ipv4.gateway 192.168.1.254 ipv4.method manual

 PS:上下两种格式效果一样。method 有auto和none分别代表自动和手动获取ip地址
创建连接的意思,相当于在/etc/sysconfig/network-scripts/目录下创建了一个ifcfg-${con-name}文件,创建多个连接,则会同时创建多个文件。

4、修改连接配置

修改连接ip

nmcli connection mod ens32 ip4 192.168.1.41/24 gw4 192.168.1.1

关闭自动连接

nmcli connection modify "static" connection.autoconnect  no

修改连接名

nmcli connection modify eth0 connection.id ens18

 

5、删除连接

#删除网卡name
nmcli connection delete ens0
#删除网卡uuid
nmcli c del 3dfe165c-a73c-4e1a-9f32-7a0eefc548ef

6、重载connection
重载所有ifcfg到connection(不会立即生效,在通过配置文件更改后需要做这个操作让NM知道你做了更改,重新激活连接或重启NM服务后生效)

nmcli connection reload

重载指定ifcfg到connection(不会立即生效,重新激活连接或重启NM服务后生效)

nmcli connection load /etc/sysconfig/network-scripts/ifcfg-connection-name
nmcli connection load /etc/sysconfig/network-scripts/route-connection-name

7、nmcli常用的配置参数