资料连接:
nmcli工具详解 - 刘合栋 - 博客园nmcli(Network Management CommandLine Interface)
描述:用来控制网络管理和报告网络状态的命令行工具
CentOS:yum install -y NetworkManager

常用命令:
显示网络管理器的整体状态。
- [root@lxf-Prometheus ~]# nmcli general status
- STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
- 已连接 完全 已启用 已启用 已启用 已启用
获取主机名或该更主机名,在没有给定参数的情况下,打印配置的主机名,当指定了参数,它将被移交给NetworkManager,以设置为新的系统主机名。
- [root@lxf-Prometheus ~]# nmcli general hostname
- lxf-Prometheus
显示当前用户对网络管理器可允许的操作权限。 如启用和禁用网络、更改WI-FI和WWAN状态、修改连接等。

networking 网络控制
命令格式:nmcli networking {on|off|connectivity}
命令描述:查询网络管理器网络状态,开启和关闭网络
选项:
- on: 禁用所有接口
- off: 开启所有接口
- connectivity: 获取网络状态,可选参数
checl
告诉网络管理器重新检查连接性,否则显示最近已知的状态。而无需重新检查。(可能的状态如下所示)- none: 主机为连接到任何网络
- portal: 无法到达完整的互联网
- limited: 主机已连接到网络,但无法访问互联网
- full: 主机连接到网络,并具有完全访问
- unknown: 无法找到连接状态

connection 连接管理
命令格式:nmcli connection {show|up|down|modify|add|edit|clone|delete|monitor|reload|load|import|export}
这是主要使用的一个功能。
- # 查看所有连接状态
- [root@www ~]# nmcli connection show

- # 等同于nmcli connection show --order +active
- [root@www ~]# nmcli connection show --active

- # 以活动的连接进行排序
- [root@www ~]# nmcli connection show --order +active

- # 将所有连接以名称排序
- [root@www ~]# nmcli connection show --order +name

- # 将所有连接以类型排序(倒序)
- [root@www ~]# nmcli connection show --order -type

nmcli connection show eth0#查看指定连接的详细信息

激活|停用连接,提供连接名称或uuid进行激活,若未提供,则可以使用ifname指定设备名进行激活。
- # 以连接名进行激活
- [root@www ~]# nmcli connection up|down ens160
- # 以uuid进行激活
- [root@www ~]# nmcli connection up|down 4e716493-5c17-4c99-9434-74af27a15150
- # 以设备接口名进行激活
- [root@www ~]# nmcli connection up|down ifname ens160
modify
这些属性可以用nmcli connection show eth0
进行获取,然后可以修改、添加或删除属性,若要设置属性,只需指定属性名称后跟值,空值将删除属性值,同一属性添加多个值使用+
。同一属性删除指定值用-
加索引。

add
这是创建一个新的连接,需要指定新创建连接的属性,语法与modify相同。
[root@www ~]# nmcli con add con-name eth1 type ethernet autoconnect yes ifname eth0
# con-name 连接名称
# type 连接类型
# autoconnect 是否自动连接
# ifname 连接到的设备名称
delete
删除连接,这将删除一个连接。
[root@www ~]# nmcli connection delete eth0_1
load
从磁盘加载/重新加载一个或多个连接文件,手动创建了/etc/sysconfig/network-scripts/ifcfg-ethx
连接文件,你可以将其加载到网络管理器,以便管理。

device 设备管理
命令格式:nmcli device {status|show|set|connect|reapply|modify|disconnect|delete|monitor|wifi|lldp}
显示和管理设备接口。该选项有很多功能,例如连接wifi,创建热点,扫描无线,邻近发现等,下面仅列出常用选项。详细功能可使用nmcli device help
查看。
status
打印设备状态,如果没有将命令指定给nmcli device
,则这是默认操作。
[root@www ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
lo loopback unmanaged --
[root@www ~]# nmcli device
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
lo loopback unmanaged --
show
显示所有设备接口的详细信息。

set
设置设备属性
[root@www ~]# nmcli device set ifname eth0 autoconnect yes
connect
连接设备。提供一个设备接口,网络管理器将尝试找到一个合适的连接, 将被激活。它还将考虑未设置为自动连接的连接。(默认超时为90s)

reapply
使用上次应用后对当前活动连接所做的更改来更新设备。

disconnect
断开当前连接的设备,防止自动连接。但注意,断开意味着设备停止!但可用 connect 进行连接

delete
删除设备,该命令从系统中删除接口。请注意, 这仅适用于诸如bonds, bridges, teams等软件设备。命令无法删除硬件设备 (如以太网)。超时时间为10秒
nmcli device delete bonds
monitor
监视设备活动。每当指定的设备更改状态时, 此命令都会打印一行。
监视所有设备以防未指定接口。当所有指定的设备消失时, 监视器将终止。如果要监视设备添加, 请考虑使用带有 nmcli 监视器命令的全局监视器。
nmcli device monitor ens160
nmcli 返回状态码
mcli 如果成功退出状态值为0,如果发生错误则返回大于0的值。
- 0: 成功-指示操作已成功
- 1: 位置或指定的错误
- 2: 无效的用户输入,错误的nmcli调用
- 3: 超时了(请参阅 --wait 选项)
- 4: 连接激活失败
- 5: 连接停用失败
- 6: 断开设备失败
- 7: 连接删除失败
- 8: 网络管理器没有运行
- 10: 连接、设备或接入点不存在
- 65: 当使用 --complete-args 选项,文件名应遵循。