Centos8下nmcli的使用

2023-07-07 11:28:48 1930

Centos8下nmcli的使用

nmcli使用方法

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

nmcli connection

译作连接,可理解为配置文件,相当于ifcfg-ethX。可以简写为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不生效

image.png

device有4种常见状态

connected:已被NM纳管,并且当前有活跃的connection

disconnected:已被NM纳管,但是当前没有活跃的connection

unmanaged:未被NM纳管

unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip link set ethX down)

image.png

nmcli常用命令

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

nmcli

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

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

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

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

# 修改ip(非交互式)

nmcli c modify ethX ipv4.addr '192.168.1.200/24'

nmcli c up ethX

# 修改ip(交互式)

nmcli c edit ethX

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

# 启用connection(相当于ifup)

nmcli c up ethX

# 停止connection(相当于ifdown)

nmcli c down

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

nmcli c delete ethX

# 查看connection列表

nmcli c show

# 查看connection详细信息

nmcli c show ethX

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

nmcli c reload

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

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

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

# 立即生效connection,有3种方法

nmcli c up ethX

nmcli d reapply ethX

nmcli d connect ethX

# 查看device列表

nmcli d

# 查看所有device详细信息

nmcli d show

# 查看指定device的详细信息

nmcli d show ethX

# 激活网卡

nmcli d connect ethX

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

nmcli r all off

# 查看NM纳管状态

nmcli n

# 开启NM纳管

nmcli n on

# 关闭NM纳管(谨慎执行)

nmcli n off

# 监听事件

nmcli m

# 查看NM本身状态

nmcli

# 检测NM是否在线可用

nm-online


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: