在 Ubuntu/Debian 上安装和使用 NetworkManager (NMCLI)
对于系统管理员来说,他们的日常工作围绕着配置(配置)、维护、故障排除、监控、保护和管理数据中心的服务器。本指南回答了如何使用一些默认工具管理 Ubuntu/Debian 网络接口的问题。网络管理器是一个设计用于管理计算机上的网络的工具。它有许多工具可用于管理几乎所有 Linux 发行版上的网络配置。该工具是 Ubuntu 系统上默认的网络管理工具。它提供以下网络管理工具:
- Nmtui——该工具在 Linux 终端窗口上运行。它是一种基于文本的网络管理器工具,可以通过输入数据和菜单选择来对网络进行更改。它用于执行基本的网络管理任务,它具有许多 NMCLI 中缺少的功能。
- Gnome 设置 - 在 Gnome 桌面上,可以使用 Gnome 网络应用程序来管理网络。它提供基本的网络管理并且易于执行配置。
- nm-connection-editor——这是一种基于图形的网络管理器工具,允许访问 NetworkManager 配置选项
- NMCLI - 通常称为网络命令行界面是一种网络工具,用于管理 NetworkManager 并显示网络连接的状态。当无法访问图形环境或运行服务器版本并进行网络配置更改时,它非常有用
网络管理器由于具有以下功能而成为首选:
- 灵活的网络可视化
- 全面的网络管理
- 内置根本原因分析功能
- 完全可定制的内容
- 内置设备和接口轮询功能
- 单击网络故障排除
- 广泛的报告功能
- 多种集成选项
- 越来越大的网络发现
读完本指南后,您应该能够在 Ubuntu/Debian 系统上安装和使用 NetworkManager NMCLI。
先决条件
对于本指南,请确保您的 Ubuntu|Debian 系统已按如下方式更新和升级。
sudo apt-get update && sudo apt-get upgrade
步骤 1 – 在 Ubuntu|Debian 系统上安装 NetworkManager
默认情况下,NetworkManager 存在于 Ubuntu|Debian 系统上,但如果您需要安装它,我将演示两种在您的 Ubuntu|Debian 系统上安装 NetworkManager 的方法。
- 使用APT
- 使用捕捉
1a) 使用 APT 在 Ubuntu|Debian 系统上安装 NetworkManager
NetworkManager 在默认的 ubuntu|Debian 系统的 APT 存储库中可用,可以按如下方式安装。
sudo apt-get install network-manager
如下启动并启用网络管理器。
sudo systemctl start NetworkManager.service
sudo systemctl enable NetworkManager.service
1b) 使用 Snap 在 Ubuntu|Debian 系统上安装 NetworkManager。
NetworkManager 也可以在 Snap 商店中找到,并且可以安装在已安装并启用 snap 的 Ubuntu|Debian 系统上,如下所示。
sudo apt install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
然后使用以下命令安装 NetworkManager:
snap install network-manager
安装完成后,所有必需的插头和插槽将自动连接,请按如下所示验证这一点。
snap connections network-manager
示例输出:
Interface Plug Slot Notes
dbus network-manager:wpa - -
firewall-control network-manager:firewall-control :firewall-control -
hardware-observe network-manager:hardware-observe :hardware-observe -
login-session-observe network-manager:login-session-observe :login-session-observe -
modem-manager network-manager:modem-manager :modem-manager -
network network-manager:network :network -
network-manager - network-manager:service -
network-manager network-manager:nmcli - -
network-observe network-manager:network-observe :network-observe -
network-setup-control network-manager:network-setup-control :network-setup-control -
network-setup-observe network-manager:network-setup-observe :network-setup-observe -
ppp network-manager:ppp :ppp -
安装完成后,Network Manager 将自动启动并在后台运行,使用以下命令检查其状态:
$ sudo systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-09-28 14:50:00 EAT; 1min ago
Docs: man:NetworkManager(8)
Main PID: 423 (NetworkManager)
Tasks: 3 (limit: 2404)
Memory: 13.6M
CPU: 303ms
CGroup: /system.slice/NetworkManager.service
└─423 /usr/sbin/NetworkManager --no-daemon
Sep 28 14:50:16 debian NetworkManager[423]: <info> [1632829816.7357] manager: NetworkManager state is now CONNECTED_LOCAL
Sep 28 14:50:16 debian NetworkManager[423]: <info> [1632829816.7434] manager: NetworkManager state is now CONNECTED_SITE
Sep 28 14:50:16 debian NetworkManager[423]: <info> [1632829816.7468] policy: set 'Wired connection 1' (enp0s3) as default for IPv4 routing and DNS
步骤 2 – 在 Ubuntu|Debian 系统上使用 NetworkManager NMCLI。
NMCLI 是一个网络实用工具,可让我们管理网络配置。有几个命令可以用来管理网络。
修改网络连接
使用 NMCLI 修改网络连接需要我们从列出网络连接开始,使用命令:
nmcli connection show
示例输出:
AME UUID TYPE DEVICE
Wired connection 1 ac98eab7-1ad3-4cf0-93a0-210bfe3bb7e2 ethernet enp0s3
显示活动连接
上面的命令显示了所有连接,但是如果您想查看活动或已启动的连接,您将在上面的命令中添加 --active
标志;
nmcli connection show --active
示例输出:
NAME UUID TYPE DEVICE
Wired connection 1 ac98eab7-1ad3-4cf0-93a0-210bfe3bb7e2 ethernet enp0s3
通过连接配置文件名称,您可以查看如下附加信息。
nmcli connection show "Wired connection 1"
示例输出:
使用 NMCLI 添加和修改网络连接
使用 NMCLI 添加网络连接
使用 NMCLI,可以使用以下语法向 Ubuntu|Debian 系统添加新连接。
sudo nmcli connection add type <network-type> ifname <connection-name>
使用 NMCLI 修改现有网络连接
借助 NMCLI,人们可以对现有网络连接进行调整和配置,例如使用以下语法在静态配置和 DHCP 配置之间进行切换。
sudo nmcli connection modify <connection-id> <parameter> <value>
现在让我们看看可以使用 NMCLI 添加和修改连接的配置。我们将首先为我们的连接添加 NetworkManager 连接配置文件。对我来说,它是以太网连接,我将添加一个名为 My-New-Connection 的连接配置文件
nmcli connection add con-name My-New-Connection ifname enp0s3 type ethernet
示例输出:
Connection 'My-New-Connection' (a6b26540-4c06-4a80-a0fa-a2868e4006e5) successfully added.
添加连接配置文件后,我们将进行以下调整。请记住使用与我给出的语法类似的语法来设置您自己的 IP 地址、网关、DNS 服务器等。
要设置网络连接的自动启动,请使用:
nmcli connection modify My-New-Connection connection.autoconnect yes
1.设置带有 /24 子网掩码的静态 IPv4 地址
例如,我们将修改现有连接到静态IP_地址,并更改子网/24,如果没有此规范,它将分配一个具有默认掩码的IP,这可能会在以后引起问题。
sudo nmcli connection modify My-New-Connection ipv4.address 192.168.100.157/24
2。 设置带有 /64 子网掩码的静态 IPv6 地址
nmcli connection modify My-New-Connection ipv6.addresses 2001:db8:1::1/64
3.设置 IPv4/IPv6 默认网关
##For IPv4
nmcli connection modify My-New-Connection ipv4.gateway 192.168.100.1
##For IPv6
nmcli connection modify My-New-Connection ipv6.gateway 2001:db8:1::fffe
4。 设置 IPv4/IPv6 DNS 服务器
##For IPv4
nmcli connection modify My-New-Connection ipv4.dns "192.168.100.200"
##For IPv6
nmcli connection modify My-New-Connection ipv6.dns "2001:db8:1::ffbb"
5.将 IPv4 和 IPv6 连接方法设置为自动
##For IPv4
nmcli connection modify My-New-Connection ipv4.method auto
##For IPv6
nmcli connection modify My-New-Connection ipv6.method auto
为了使所做的更改生效,您需要激活配置文件。
$ nmcli connection up My-New-Connection
connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
现在检查活动连接。
nmcli connection show --active
验证设置的 IP_Address。
hostname -I
192.168.100.120 192.168.100.157
从输出来看,我有两个 IP 地址,一个主 IP 和一个由新连接配置文件 My-New-Connection 添加的 辅助 IP。您可以使用ip a
命令检查附加信息,如下所示。
使用 NMCLI 管理设备
NMCLI 实用工具还可用于管理设备,例如:
显示设备状态
sudo nmcli -p dev status
示例输出:
修改设备配置
在修改设备配置之前,您首先需要获取设备信息。
sudo nmcli device show
示例输出:
通过设备信息,您可以使用以下语法修改设备设置。
$ sudo nmcli device modify <interface-name> <parameter> <value>
###OR
$ sudo nmcli dev mod <interface-name> <parameter> <value>
请记住,上述更改是暂时的,可以使用以下命令重置为默认设置:
sudo nmcli dev reapply interface-name
如果您在使用 NMCLI 设备管理器时遇到困难,请使用以下命令查找帮助:
sudo nmcli device help
结论。
这就对了!我们已经介绍了如何在 Ubuntu/Debian 系统上安装和使用 NetworkManager NMCLI。我希望本指南对您有意义。我假设您现在可以使用 NetworkManager NMCLI 管理网络连接和网络设备。
查看更多:
- 如何在Xen中创建内部网络| XCP-ng
- 将辅助 IP 地址添加到 CentOS/RHEL 网络接口
- 在 Debian 上配置 BIND 从属 DNS 服务器