[ad_1]
nmcli 是什么?
nmcli 代表网络管理命令行界面,是一种用于管理 NetworkManager 应用程序和报告网络状态的工具。 它可以用作 nm-applet 或其他类似图形客户端的替代品。 nmcli 用于显示、创建、删除、编辑、激活、停用网络连接,以及控制和显示网络设备状态。
典型用途包括:
- 脚本:通过 nmcli 使用 NetworkManager 而不是手动管理网络连接。 nmcli 支持更适合脚本进程的简洁输出格式。 请注意,NetworkManager 甚至可以执行脚本,称为“调度程序脚本”,以响应网络事件。
- 服务器、无头机器和终端: nmcli 工具可用于在没有图形用户界面的情况下控制 NetworkManager,包括创建、删除、编辑、启动和停止网络连接以及查看网络状态。
先决条件
在每次安装之前,应用所有软件包的所有可用升级。
apt-get update && apt-get upgrade
安装
系统更新后,我们将运行此命令安装 nmcli。
apt-get install network-manager
当提示“您想继续吗?”时按“y”。 [Y/n]”。 安装完成后,我们可以使用此命令启动网络管理器。
systemctl start NetworkManager.service
接下来,我们将使用下面的 systemctl 命令启用网络管理器以在系统启动时启动。
systemctl enable NetworkManager.service
我们将在本文中进一步介绍更多基本的 nmcli 命令,但完整的参考可以在 nmcli 手册页中使用“man nmcli”命令找到。
句法
nmcli [option] [command] [arguments]
命令
主要的 nmcli 命令被分解为几个对象和子命令。
- 一般的
- 联网
- RTC(无线电传输控制)
- 活动监控
- 连接管理
- 设备管理
- 密探
一般命令
以下是可用于 nmcli 的常规命令列表。
- 状态 – 这显示网络管理器的状态。 我们可以使用此命令检查我们的网络设备状态
- 主机名 – 此命令查看和修改服务器主机名。
- 权限 – 此命令显示用户执行程序的权限。
- 日志记录 – 此命令查看和修改日志记录级别。
句法
这些命令的具体语法如下所示。
nmcli device status
nmcli general hostname
nmcli general permissions
nmcli general logging
联网
句法
nmcli networking { on | off | connectivity } [ARGUMENTS...]
网络命令使用 nmcli 检查网络状态,或者启用或禁用网络组件。
在, 离开 – 此命令通过 nmcli 启用或禁用各种网络连接。
连通性 [check] – nmcli 获取连接状态并将单个网络配置类型保留为连接,其中包含有关每种网络连接的相关信息。
nmcli connection { show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export } [ARGUMENTS...]
RTC(无线电传输控制)
RTC 或 radio 命令显示无线电开关的状态,并启用和禁用开关。
句法
nmcli radio { all | wifi | wwan } [ARGUMENTS…]
活动监控
monitor 命令观察设备连接状态或连接配置文件中的变化。
句法
nmcli monitor
连接管理
nmcli 中的连接命令将网络配置存储为“连接”,它描述了如何创建或连接到网络。
句法
nmcli connection { show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export } [ARGUMENTS...]
设备管理
device 命令显示和管理所有网络接口。
句法
nmcli device { status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp } [ARGUMENTS…]
密探
代理命令作为秘密代理或 polkit 代理运行。 如果命令保持 nmcli 运行并且需要密码,请询问用户。
句法
nmcli agent { secret | polkit | all }
配置
nmcli 配置文件位于 /etc/NetworkManager/system-connections/。 由于安装后该文件夹默认为空,因此我们需要创建一个名为“dhcp-home”的连接配置文件并将其分配给设备 ens33。 由于只有一张网卡,我们将不得不切换连接配置文件。
[email protected]: nmcli con add type ethernet con-name dhcp-home ifname ens33 ipv4.method auto
Connection 'dhcp-home' (0611c2c8-83ad-40f7-b7bb-b57668af203d) successfully added.
我们可以使用此命令查看该配置文件。
cat /etc/NetworkManager/system-connectionsdhcp-home
请注意,我们通过 nmcli 命令配置的值,如 id、type、interface-name、ipv4 方法。 这种类型的连接配置文件将使用 dhcp 服务器提供的 IP 地址。
[connection]
id=dhcp-home
uuid=0611c2c8-83ad-40f7-b7bb-b57668af203d
type=ethernet
interface-name=ens33
permissions=
[ethernet]
mac-address-blacklist=
[ipv4]
dns-search=
method=auto
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto
现在,要激活新的连接配置文件,请运行此命令。
[email protected]:~# nmcli con up dhcp-home
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
在这里,我们解释如何使用从 dhcp 服务器获取的动态 IP 地址创建连接配置文件。 现在让我们看看如何使用静态 IP 地址创建连接配置文件。 该配置文件将命名为 static-home,并将分配给同一个 ens33 设备。
[email protected]:~# nmcli con add type ethernet con-name static-home ifname ens33 ip4 192.168.253.12/24 gw4 192.168.253.2
Connection 'static-home' (b7e6531d-b183-4791-84c1-9de0c249b583) successfully added.
现在,让我们修改static-home 连接配置文件并添加带有“nmcli con mod static-home ipv4.dns 8.8.8.8”的DNS 服务器并再次检查配置文件。 这次我们将从配置文件中grep dns。
[email protected]:~# nmcli con mod static-home ipv4.dns 8.8.8.8
[email protected]:~# grep dns /etc/NetworkManager/system-connections/static-home
dns=8.8.8.8;
我们可以通过 pingCodePre.com 或 google.com 来检查具有静态 IP 的连接配置文件是否配置正确。
[email protected]:~# ping CodePre.com
PING CodePre.com (67.225.187.61) 56(84) bytes of data.
64 bytes from 67.225.187.61 (67.225.187.61): icmp_seq=1 ttl=128 time=142 ms
64 bytes from 67.225.187.61 (67.225.187.61): icmp_seq=2 ttl=128 time=142 ms
PING google.com (216.58.201.110) 56(84) bytes of data.
64 bytes from prg03s02-in-f14.1e100.net (216.58.201.110): icmp_seq=1 ttl=128 time=25.3 ms
请注意,当我们添加或修改连接时,IP 地址和网关属性具有不同的名称。 添加连接时,我们会使用“ip4”和“gw4”,修改后使用“ipv4”和“gwv4”。
为了确认ens33设备的IP地址与配置文件中的相同,我们可以运行“ip addr show | grep ens33”并将其与配置文件中的地址值进行比较。
在本教程中,我们解释了 nmcli 是什么,以及如何安装和配置它。 这涵盖了 NetworkManager 或 nmcli 的基础知识。 我强烈建议我们的读者检查“人 nmcli”以更深入地了解其用法。
我们的支持团队由才华横溢的 Linux 技术人员和系统管理员组成,他们对多种网络托管技术(尤其是本文中讨论的技术)了如指掌。
如果您是完全托管的 VPS 服务器, Cloud 专用,VMWare 私有 Cloud, 私人父服务器或专用服务器所有者,并且您对执行列出的任何步骤感到不舒服,可以通过电话@800.580.4985 与我们联系,一个 聊天 或支持票以帮助您完成此过程。
[ad_2]