nmcli (network manager command-line interface) 是一个命令行实用程序,用于控制用于配置网络接口的 NetworkManager 守护进程。
使用 nmcli 实用程序,您可以显示、创建、编辑、启用和禁用网络接口或连接。它对于没有 GUI 的服务器和无头系统尤其方便。
在本教程中,我们将重点介绍如何在 Linux 中使用 nmcli 命令配置 IP 网络。
基本语法
$ sudo nmcli [OPTIONS] OBJECT {COMMAND | help }
OBJECT 可以是以下任意一种:
- Device or network interface managed by NetworkManager
- NetworkManager’s connection.
- NetworkManager’s stats
现在让我们看看如何在 Linux 中使用 nmcli 命令配置 IP 网络
显示网络接口
如果不带任何命令参数,nmcli 命令将显示所有激活和非激活网络接口的详细信息。
$ nmcli
显示的信息包括网络连接状态、接口关联的网卡硬件类型、MAC 地址、IPv4 地址、IPv6 地址、默认路由等。
要获得网络接口的简单摘要,执行以下命令
$ nmcli device status
OR
$ nmcli dev status
要列出系统上的所有活动接口,执行以下命令
$ nmcli connection show
OR
$ nmcli con show
输出显示连接的名称、UUID、连接的类型 (有线或 WiFi) 和设备 (网络接口)
另外,也可以运行以下命令
$ nmcli connection show --active
指定输出字段
可以指定在终端上显示哪些字段。有效字段包括设备、类型、连接、CONN-UUID、状态、ipv4连通性和 ipv6连通性。
在下面的例子中,我们选择只显示 DEVICE 和 DEVICE TYPE。
$ nmcli -f DEVICE, TYPE device
使用 -p (pretty) 选项,将以一种更易于阅读的格式显示输出
$ nmcli -p device
使用 nmcli 配置静态 IP
在本节中,我们将演示如何使用以下值配置静态 IP 地址
- IP address: 192.168.2.150/24
- Default gateway: 192.168.2.1
- Preferred DNS: 8.8.8.8, 8.8.4.4
- IP addressing static
在我们分配静态 IP 之前,我们先检查当前 IP 地址,如所示为 192.168.2.104
To set the static IP address with the connection name or profile called static-ip, IPv4 address 192.168.2.150, and default gateway 192.168.2.150 we will run the command:
使用 static-ip 连接名称或配置文件设置静态 IP 地址,IPv4 地址:192.168.2.150,默认网关:192.168.2.150,执行如下命令
$ sudo nmcli con add type ethernet con-name "static-ip" ifname enp0s3 ipv4.addresses 192.168.2.150/24 gw4 192.168.2.1
注意:如果您要禁用 DHCP IP 并配置静态 IP,则在下面运行
$ sudo nmcli con add type ethernet con-name "static-ip" ifname enp0s3 ipv4.method manual ipv4.addresses 192.168.2.150/24 gw4 192.168.2.1
接下来,配置 DNS 服务器
$ sudo nmcli con mod static-ip ipv4.dns "8.8.8.8 8.8.4.4"
接下来,激活连接
$ sudo nmcli con up static-ip ifname enp0s3
We have simply added another IP address to our network interface enp0s3. To confirm that the IP address was successfully added, we will run the ip command
我们已经将另一个 IP 添加到接口 enp0s3。检查 IP 是否添加成功,运行 IP 命令
$ ip addr
启用 / 禁用网络连接
如果需要禁用或取消连接,使用此命令
$ sudo nmcli con down id "static-ip" ifname enp0s3
您还可以省略 ifname enp0s3 参数
$ sudo nmcli con down id "static-ip"
要启动或启用连接,使用此命令
$ sudo nmcli con up id "static-ip" ifname enp0s3
同理,您也可以省略 ifname enp0s3 参数
$ sudo nmcli con up id "static-ip"
要了解有关 nmcli 命令选项的更多信息,只需运行该命令
$ nmcli --help