网络管理命令行工具(nmcli)是一个功能强大的工具,用于管理Linux系统上的NetworkManager服务。通过nmcli,用户可以查询、配置、控制和监控网络设备及连接状态,而无需访问图形用户界面。
Linux nmcli命令介绍
nmcli
是 NetworkManager 的命令行接口,它允许用户控制和监视网络设备以及系统网络设置。它提供了一种在不使用图形界面的情况下,快速配置网络设备和连接的方法,特别适合用于服务器或者头less系统。
Linux nmcli命令适用的Linux版本
nmcli
命令包含在大多数Linux发行版中,特别是那些使用NetworkManager作为网络管理组件的系统。如果在某个Linux发行版中没有预装nmcli
,用户可以通过包管理器进行安装。
- 对于基于Debian(如Ubuntu)的系统:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install network-manager ```
- 对于Red Hat系统(如CentOS 7):
[linux@bashcommandnotfound.cn ~]$ sudo yum install NetworkManager ```
- 对于CentOS 8或更高版本,使用dnf:
[linux@bashcommandnotfound.cn ~]$ sudo dnf install NetworkManager ```
Linux nmcli命令的基本语法
nmcli的基本语法如下:
nmcli [OPTIONS] OBJECT {COMMAND | help}
其中OBJECT
和COMMAND
取决于你想要管理的网络设备或连接。
Linux nmcli命令的常用选项或参数说明
选项/参数 | 描述 |
---|---|
-t, --terse | 输出更简洁的结果,便于解析 |
-p, --pretty | 输出格式化和对人类更友好的结果 |
-g, --fields | 限制输出到某些字段 |
-h, --help | 显示帮助信息 |
device | 用于管理设备 |
con | 用于管理网络连接 |
-v, --version | 显示nmcli版本信息 |
由于选项较多,以上只列出了一些常用的选项。
Linux nmcli命令的实例
实例1:显示网络设备的详细信息
nmcli device show eth0
实例2:关闭一个网络设备
nmcli device disconnect iface eth0
实例3:更改已保存的Wi-Fi连接密码
nmcli connection modify "YourSSID" wifi-sec.psk "newpassword"
实例4:创建一个新的以太网连接
nmcli con add type ethernet con-name "MyEthernet" ifname eth0
实例5:设置一个连接自动启用DHCP
nmcli con mod "MyEthernet" ipv4.method auto
实例6:删除所有已知的Wi-Fi网络
nmcli connection delete type wifi
实例7:显示所有网络连接的统计信息
nmcli -f GENERAL,WIFI-PROPERTIES device show wlan0
实例8:设置Wi-Fi连接的隐藏属性
nmcli con mod "YourSSID" wifi.hidden yes
实例9:允许用户控制的网络连接自动化
nmcli con mod "YourConnectionName" connection.permissions user:YourUsername
实例10:将一个以太网连接设置为手动静态IP
nmcli con mod "MyEthernet" ipv4.addresses "192.168.1.50/24" ipv4.gateway "192.168.1.1" ipv4.dns "8.8.8.8,8.8.4.4" ipv4.method manual
实例11:重启网络服务
nmcli networking off && nmcli networking on
实例12:查找和显示可用的Wi-Fi网络的信号强度
nmcli -f IN-USE,SSID,SIGNAL,BSSID,CHAN device wifi list
实例13:添加一个VPN连接
nmcli con add type vpn con-name "MyVPN" ifname -- vpn-type openvpn
实例14:为VPN设置连接属性
nmcli con modify "MyVPN" vpn.data "username=YourUsername,password=YourPassword"
实例15:连接和断开VPN
nmcli con up id "MyVPN"
nmcli con down id "MyVPN"
Linux nmcli命令注意事项
使用 nmcli
管理网络连接时,应该注意以下几点:
-
权限:大多数
nmcli
命令需要超级用户权限(root)来执行,尤其是那些修改系统配置的命令。使用sudo
来获取必要的权限。 -
连接名称:连接名称(SSID 对于无线网络)和设备名称(如
eth0
)需要准确无误。连接名称可以通过nmcli con show
命令找到。 -
网络中断:更改网络设置可能会导致短暂的连接中断。在关键任务的设备上应谨慎操作,以免影响服务。
-
备份配置:在做任何重要的网络设置更改之前,备份现有的网络配置是一个好习惯。这样,如果新配置出现问题,可以快速回滚到之前的状态。
-
使用文档:在使用
nmcli
之前,应该阅读它的官方文档或使用man nmcli
命令来获取帮助信息,以免使用错误的命令或参数。 -
测试环境:如果可能,先在测试环境中试验
nmcli
命令,确认它们的效果符合预期后再在生产环境中使用。 -
避免冲突:在修改网络设置时,确保不会与现有的网络配置产生冲突,如 IP 地址冲突。
-
版本差异:不同的 Linux 发行版可能会有不同版本的 NetworkManager,导致
nmcli
的某些功能或者参数有所不同。了解你的系统中nmcli
的具体版本和功能。 -
网络依赖:在远程通过
nmcli
修改网络设置时,要特别小心,因为网络连接的中断可能会导致你失去对远程系统的访问。 -
信号强度:在连接到 Wi-Fi 网络时,应该考虑信号强度。一个强信号通常意味着更可靠的连接。
-
自动连接:在创建新的网络连接时,可以设置是否应该自动连接到该网络。如果你不希望在每次设备启动时自动连接,可以关闭这个功能。
-
安全性:在修改 Wi-Fi 安全设置时,确保使用强密码和正确的加密类型来保护你的网络。
-
如果收到了 bash: nmcli: command not found 请参考上面安装。
评论区