nmcli是NetworkManager的命令行界面,用于控制和监视NetworkManager。它提供了一种方便的方法来配置网络设备、连接和其他相关设置,而无需直接编辑配置文件。以下是nmcli的一些常用命令和参数的详细解释:
基本命令结构
nmcli的基本命令结构如下:
nmcli [OPTIONS] OBJECT {COMMAND | help}
- OPTIONS:全局选项,如-t(–terse)用于简洁输出,-p(–pretty)用于美化输出。
- OBJECT:操作的对象类型,如device、connection等。
- COMMAND:要对对象执行的具体操作,如show、up、down等。
常用对象和命令
- device (d):与网络设备相关的操作。
- nmcli device status:显示所有设备的当前状态。
- nmcli device show [device-name]:显示指定设备的详细信息。如果不指定设备名称,则显示所有设备的详细信息。
- nmcli device connect [device-name]:连接指定的设备。
- nmcli device disconnect [device-name]:断开指定的设备。
- connection (con):与网络连接相关的操作。
- nmcli connection show:列出所有已知的连接。
- nmcli connection show --active:列出当前活动的连接。
- nmcli connection add:创建新的连接。这个命令有很多参数,用于指定连接的类型、设备、IP地址等。
- nmcli connection delete [connection-name]:删除指定的连接。
- nmcli connection modify [connection-name]:修改指定的连接。这个命令后面通常跟一系列设置参数,用于改变连接的配置。
- nmcli connection up [connection-name]:激活指定的连接。
- nmcli connection down [connection-name]:停用指定的连接。
设置IP地址的例子
假设你想为名为ens33的设备设置静态IP地址192.168.1.100/24,网关192.168.1.1,DNS服务器8.8.8.8和8.8.4.4,你可以使用以下nmcli命令:
nmcli con mod ens33 ipv4.addresses 192.168.1.100/24
nmcli con mod ens33 ipv4.gateway 192.168.1.1
nmcli con mod ens33 ipv4.dns "8.8.8.8,8.8.4.4"
nmcli con mod ens33 ipv4.method manual
nmcli con up ens33
这里的参数解释如下:
con mod:修改一个现有的连接。
ens33:连接的名称。
ipv4.addresses:设置IPv4地址。
ipv4.gateway:设置默认网关。
ipv4.dns:设置DNS服务器地址。
ipv4.method:设置IPv4配置方法为手动(manual)。
con up:激活(启用)指定的连接。
nmcli是一个功能强大的工具,可以用来管理几乎所有的网络配置需求。上面只是一些基本用法,更多高级功能和选项可以通过man nmcli或nmcli help命令查看详细文档。