nmcli
命令详解
nmcli
是一个命令行工具,用于管理 NetworkManager 并报告网络状态。它能够配置网络接口、连接和设备。以下是 nmcli
的一些常用用法及其参数介绍:
基本用法
显示帮助信息
nmcli --help
显示
nmcli
命令的帮助信息,介绍其基本用法和可用参数。显示所有连接
nmcli connection show
或者
nmcli c show
列出所有已配置的网络连接。
显示设备状态
nmcli device status
或者
nmcli dev status
列出所有网络设备及其状态。
配置网络连接
添加新的网络连接
nmcli connection add type ethernet con-name ens160 ifname ens160 ipv4.method manual ipv4.address "192.168.1.2/24" gw4 192.168.31.1
type ethernet
: 网络类型为以太网。con-name ens160
: 连接名称为ens160
。ifname ens160
: 接口名称为ens160
。ipv4.method manual
: 使用手动配置 IPv4 地址。ipv4.address "192.168.1.2/24"
: 设置 IPv4 地址为192.168.1.2
,子网掩码为24
。gw4 192.168.31.1
: 设置网关为192.168.31.1
。
修改现有连接
nmcli connection modify ens160 ipv4.addresses "192.168.1.3/24" ipv4.gateway "192.168.31.1"
修改现有连接
ens160
的 IPv4 地址和网关。激活连接
nmcli connection up ens160
激活连接
ens160
。停用连接
nmcli connection down ens160
停用连接
ens160
。删除连接
nmcli connection delete ens160
删除连接
ens160
。
显示详细信息
显示连接的详细信息
nmcli connection show ens160
显示连接
ens160
的详细信息。显示设备的详细信息
nmcli device show ens160
显示设备
ens160
的详细信息。
配置WiFi连接
添加WiFi连接
nmcli device wifi connect "SSID_NAME" password "PASSWORD" ifname wlan0
SSID_NAME
: WiFi 网络的 SSID 名称。PASSWORD
: WiFi 网络的密码。ifname wlan0
: WiFi 接口名称为wlan0
。
其他常用命令
显示WiFi扫描结果
nmcli device wifi list
列出可用的WiFi网络。
断开设备连接
nmcli device disconnect ens160
断开设备
ens160
的网络连接。连接到一个设备
nmcli device connect ens160
连接设备
ens160
到网络。
示例
示例1:配置静态IP地址
假设我们有一个以太网设备 ens33
,需要配置静态IP地址:
nmcli connection add type ethernet con-name ens33 ifname ens33 ipv4.method manual ipv4.address "192.168.50.10/24" gw4 192.168.50.1
nmcli connection up ens33
示例2:配置动态IP地址(DHCP)
假设我们有一个以太网设备 ens33
,需要配置动态IP地址:
nmcli connection add type ethernet con-name ens33 ifname ens33 ipv4.method auto
nmcli connection up ens33
示例3:连接到一个WiFi网络
假设我们有一个WiFi设备 wlan0
,需要连接到SSID为 HomeNetwork
的WiFi网络,密码为 password123
:
nmcli device wifi connect "HomeNetwork" password "password123" ifname wlan0
常用参数说明及示例
--ask
nmcli connection up ens160 --ask
激活连接时询问需要的所有参数。
--pretty
nmcli connection show --pretty
以更易读的格式显示信息。
--fields
nmcli connection show ens160 --fields name,uuid
仅显示指定字段的信息。
--timeout
nmcli connection up ens160 --timeout 30
设置命令的超时时间为30秒。
--terse
nmcli connection show --terse
以紧凑模式显示信息。
--escaped
nmcli connection show --escaped
转义特殊字符。
--color
nmcli connection show --color yes
启用彩色输出。
-g, --get-values
nmcli -g uuid connection show ens160
仅显示指定字段的值。
基本示例
添加新的静态IP连接
nmcli connection add type ethernet con-name eth0 ifname eth0 ipv4.method manual ipv4.addresses "192.168.50.10/24" ipv4.gateway "192.168.50.1" ipv4.dns "8.8.8.8"
修改现有连接的DNS
nmcli connection modify eth0 ipv4.dns "8.8.4.4"
连接到WiFi网络
nmcli device wifi connect "MyWifiNetwork" password "mypassword" ifname wlan0
删除连接
nmcli connection delete eth0
显示设备状态
nmcli device status
详细示例
确认连接名称
使用nmcli c show
命令查看当前网络连接的名称和UUID。# nmcli c show
输出示例:
NAME UUID TYPE DEVICE ens160 4038ec61-c64b-479b-ba6a-f5e627279fe4 ethernet ens160 ens224 53365c8c-2aa3-4d2b-9d70-4ae47c8959e2 ethernet ens224 virbr0 3b222075-1210-46c7-9bbb-ee3a04aba555 bridge virbr0
配置网卡
使用nmcli c mod
命令配置指定网卡的IP地址和网关。# nmcli c mod ens160 ipv4.method manual ipv4.addr "192.168.1.2/24" gw4 192.168.31.1
如果连接不存在或需要新增网卡,可以使用以下命令:
nmcli c add type ethernet con-name ens160 ifname ens160 ipv4.method manual ipv4.address "192.168.1.2/24" gw4 192.168.31.1
重启网卡
使用以下命令重启网卡以使配置生效:# nmcli c down ens160 # nmcli c up ens160
提示
如果是已存在的连接,想改连接名字,可以先删除对应连接(nmcli c delete 连接名字
),再用nmcli c add
把网卡重新加回来。
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。