一、nmcli命令详解
1、概述
nmcli是NetworkManager的一个命令行工具,它提供了使用命令行配置由NetworkManager管理网络连接的方法(nm 代表 NetworkManager,cli 代表 Command-Line)。
注意:
用nmcli配置之前,不要对接口执行"ip addr"操作,不然会冲突,配置失败。 使用 nmcli 命令时,必须确保 NetworkManager 为运行状态。
2、基本格式:
nmcli [OPTIONS] OBJECT { COMMAND | help }
# 例如
nmcli help # 获取详细介绍
* OPTIONS:选项,用于指定命令的行为或输出格式。
* OBJECT:操作对象,如general(一般信息)、device(网络设备)、connection(网络连接)等。
* COMMAND:对指定的操作对象执行的操作命令,如status(显示状态)、show(显示信息)、up(启用连接)、down(禁用连接)等。
3、常用选项
| -t | 以简洁格式显示输出 |
| -f | 指定要显示的字段,以逗号分隔。 |
| -p | 以更美观的格式显示输出,包括表头和分隔线。 |
| -v | 显示详细输出,包括额外的信息和调试信息。 |
| -h | 显示命令的帮助信息。 |
4、相关系统指令
注意:NetworkManager 中开头的 N 和中间的 M 必须大写。
systemctl status NetworkManager # 查看状态
systemctl start NetworkManager # 启动
systemctl restart NetworkManager # 重启
systemctl stop NetworkManager # 关闭
systemctl is-enabled NetworkManager # 查看是否开机启动
systemctl enable NetworkManager # 开机启动
systemctl disable NetworkManager # 禁止开机启动
5、常用命令及简写命令使用举例
status 是 general 的默认项,可以省略不写。
nmcli networking # 显示 NetworkManager 是否接管网络设置
nmcli general status # 显示NetworkManager状态
nmcli g
nmcli connection show # 显示所有连接
nmcli c s
nmcli connection show --active # 只显示当前活动连接,如下所示添加 -a,
nmcli c s -a --active
nmcli device status # 显示由NetworkManager识别到的设备及其状态
nmcli d
sudo nmcli connection up id enp3s0 # 使用nmcli工具启动和停止网络接口,在root权 sudo nmcli device disconnect enp 下执行如下命令(enp3s0为接口名称,需要根 据实际情况进行更改)
6、常用操作对象及命令
nmcli networking
网络连接状态(CONNECTIVITY)共有五种:full、limited(连网,但无法上网)、portal(连网,但需要登陆认证后才能上网)、none(没连网)和 unknown。
networking 可以简写为 n、ne、net、netw
nmcli networking # 显示 NetworkManager 是否接管网络设置 nmcli n connectivity # 查看网络连接状态
nmcli n on # 开启网络连接
nmcli n off # 关闭网络连接


nmcli general
STATE 显示网络是否连接;
CONNECTIVITY 与前面介绍的 nmcli n c 相同;
WIFI-HW 表示 WIFI 硬件开关、WIFI 表示 WIFI 软件开关;
WWAN-HW 表示 WWAN 硬件开关、WWAN 表示 WWAN 软件开关。
general 可以简写为 g、ge、gen、gene
nmcli general status # 显示系统网络状态
nmcli g
nmcli g hostname # 显示主机名
nmcli g h
nmcli g hostname newHostName # 更改主机名,NEW_HOST_NAME 是你设置的
新主机名。主机名存放在 /etc/hostname 文件
nmcli g h NEW_HOST_NAME # 修改主机名后,需要重启 NetworkManager nmcli general permissions # 显示或修改NetworkManager的访问控制权限。
nmcli g p
nmcli connection
connection 可以简写为 c、co、con、conn
nmcli connection show # 可以显示每个网络的uuid
# 显示所有网络连接的信息
nmcli connection show
# 可以显示每个网络的uuid nmcli connection show 有一个 --active 参数,可以只显示当前启动 的连接
nmcli c s --active
nmcli c s -a
# 因为 show 后面有参数项,所以此时的 show 不能省 显示某一特定连接的详细信息(以 接口为ens33 为例)
nmcli c s ens33
# 在ubuntu 18.04上这个命令无效,需要把ens33换成ens33的uuid
# 启动指定连接,如果 ens33 本来就出于连接状态,那此命令会重启 ens33
nmcli c up ens33
# 关闭指定连接,关闭连接后,执行"nmcli c"命令,DEVICE 项将显示为 --
nmcli c down ens33
# 删除指定连接(ens33)
nmcli c delete ens33
nmcli c de ens33
# delete 不可简写为 d,否则与 down 冲突,但可以简写为 de
modify 修改连接
例如:
nmcli c modify ens33 [ + | - ]选项 选项值
nmcli c m ens33 [ + | - ]选项 选项值
修改连接常用示例
注意:必须先修改 ipv4.address,然后才能修改 ipv4.method!
nmcli c m ens33 ipv4.address 192.168.80.10/24 # 修改 IP 地址和子网掩码
nmcli c m ens33 +ipv4.addresses 192.168.80.100/24 # 添加一个 IP 地址和子网掩码
nmcli c m ens33 ipv4.method manual # 修改为静态配置,默认是 auto
nmcli c m ens33 ipv4.gateway 192.168.80.2 # 修改默认网关
nmcli c m ens33 ipv4.dns 192.168.80.2 # 修改 DNS
nmcli c m ens33 +ipv4.dns 223.5.5.5 # 添加一个 DNS
nmcli c m ens33 ipv6.method ignored # 将 IPv6 禁用,针对CentOS8 三个可选项:disabled、auto、manual
nmcli c m ens33 connection.autoconnect yes # 开机启动
用空引号""代替选项的值,可将选项设回默认值(以 ipv4.method 为例)
nmcli c m ens33 ipv4.method ""
修改链接选项有很多,详细信息可以通过以下命令查看。可以主要看里面 connection setting 和 ipv4 setting 部分。
man 5 nm-settings-nmcli
add 新增连接
nmcli c add tyep 连接类型 选项 选项值
nmcli c a tyep 连接类型 选项 选项值
type 为必选项,我们通常用到的是 802-3-ethernet(别名 ethernet)。
选项与前面介绍的“修改连接”中的选项一样,其中重要的几个选项:
connection.id(别名 con-name):连接名;
connection.interface-name(别名 ifname):设备名;
connection.autoconnect(别名 autoconnect):是否开机自启,其值只能是 yes 或 no,默认 yes。
1572

被折叠的 条评论
为什么被折叠?



