Red Hat Training

A Red Hat training course is available for RHEL 8

第 3 章 NetworkManager 入门

默认情况下,RHEL 8 使用 NetworkManager 管理网络配置和连接。

3.1. 使用 NetworkManager 的好处

使用 NetworkManager 的主要优点是:

  • 通过 D-Bus 提供 API,它允许查询和控制网络配置和状态。这样,多个应用程序就可以检查和配置网络,确保同步和最新的网络状态。例如,RHEL web 控制台(通过一个 web 浏览器监控和配置服务)使用 NetworkManager D-BUS 接口来配置网络,以及 Gnome GUInmclinm-connection-editor 工具。对这些工具所做的每个改变都会被其他所有用户检测到。
  • 可以更方便的镜像网络配置:网络管理器( NetworkManager)确保网络连接正常工作。当发现在系统中没有网络配置但存在网络设备时,NetworkManager 会创建临时连接以提供连接。
  • 提供到用户的简单连接设置: NetworkManager 通过不同的工具提供管理 - GUI、nmtui、nmcli
  • 支持配置灵活性。例如,配置 WiFi 接口,NetworkManager 会扫描并显示可用的 wifi 网络。您可以选择一个接口,NetworkManager 会显示在重启过程后提供自动连接所需的凭证。NetworkManager 可以配置网络别名、IP 地址、静态路由、DNS 信息和 VPN 连接以及很多具体连接的参数。您可以修改配置选项以反应您的需要。
  • 重启过程后保持设备状态,并接管在重启过程中将其设定为受管模式的接口。
  • 处理没有被显式设置但由用户或者其他网络设备手动控制的设备。

其它资源

3.2. 您可以用来管理 NetworkManager 连接的工具和应用程序概述

您可以使用以下工具和应用程序来管理 NetworkManager 连接:

  • nmcli:管理连接的命令行工具。
  • nmtui: 基于 curses 的文本用户界面(TUI)。要使用这个应用程序,请安装 NetworkManager-tui 软件包。
  • nm-connection-editor:用于 NetworkManager 相关任务的图形用户界面(GUI)。要启动这个应用程序,在 GNOME 会话终端输入 nm-connection-editor
  • control-center: GNOME shell 为桌面用户提供的 GUI。请注意,这个应用程序支持的功能比 nm-connection-editor 少。
  • GNOME shell 中的 network connection icon: 这个图标代表网络连接状态,并作为您要使用的连接类型的可视指示符。

3.3. 使用 NetworkManager 分配程序脚本

默认情况下, /etc/NetworkManager/dispatcher.d/ 目录存在,NetworkManager 会以字母顺序运行脚本。每个脚本都必须为 root 拥有的 可执行文件,且只有文件所有者才有 write permission 权限。

注意

网络管理器(NetworkManager)以字母顺序执行 /etc/NetworkManager/dispatcher.d/ 分配程序脚本。

其它资源

3.4. 将手动创建的 ifcfg 文件加载到 NetworkManager 中

在 Red Hat Enterprise Linux 8 中,如果您编辑了 ifcfg 文件,网络管理器(NetworkManager) 不会自动意识到这个变化,需要被告知才可以看到相关的更改。如果您使用其中一个工具更新 NetworkManager 配置集设置,NetworkManager 不会实现这些更改,除非您使用该配置集重新连接。例如,如果使用编辑器修改了配置文件,NetworkManager 必须再次读取配置文件。

/etc/sysconfig/ 目录是配置文件和脚本的位置。除 VPN、移动宽带和 PPPoE 配置外,大多数网络配置信息都存储在 /etc/NetworkManager/ 子目录中。例如,具体接口信息保存在 /etc/sysconfig/network-scripts/ 目录中的 ifcfg 文件中。

VPN、移动宽带和 PPPoE 连接的信息保存在 /etc/NetworkManager/system-connections/ 中。

注意

默认情况下,RHEL 使用 NetworkManager 配置和管理网络连接,/usr/sbin/ifup/usr/sbin/ifdown 脚本使用 NetworkManager 处理 /etc/sysconfig/network-scripts/ 目录中的 ifcfg 文件。

如果您需要旧的网络脚本来管理网络设置,您可以手动安装它们。详情请查看 第 1.5 节 “RHEL 中的旧网络脚本支持”。但请注意,旧版网络脚本已弃用,并将在以后的 RHEL 版本中删除。

流程

  1. 要载入新的配置文件:

    # nmcli connection load /etc/sysconfig/network-scripts/ifcfg-connection_name
  2. 如果您更新了已载入到 NetworkManager 中的连接文件,请输入:

    # nmcli connection up connection_name

其它资源

  • NetworkManager(8) man page - 描述网络管理守护进程。
  • NetworkManager.conf(5) man page - 描述 NetworkManager 配置文件。
  • /usr/share/doc/initscripts/sysconfig.txt - 描述 ifcfg 文件,它们的指令可以被旧网络服务理解。
  • ifcfg(8) man page - 简单地描述 ifcfg 命令。