目录
可用于管理 NetworkManager 连接的实用程序和应用程序
将手动创建的 ifcfg 文件加载到 NetworkManager
简介
NetworkManager是2004年RedHat启动的项目,皆在能够让Linux用户更轻松的处理现代网络需求,尤其是无线网络,能够自动发现网卡并配置IP地址。主要管理2个对象: Connection(网卡连接配置) 和 Device(网卡设备),他们之间是多对一的关系,但是同一时刻只能有一个Connection对于Device才生效;
RHEL7上同时支持network.service和NetworkManager.service(简称NM)。默认情况下这2个服务都有开启,但是因为NetworkManager.service当时的兼容性不好,有时会造成ip地址无法生效或网络不通问题,大部分人都会将其关闭NM;
RHEL8/Centos 8默认只能通过NM进行网络配置,没有传统的network.service。但是centos 8依然支持network.service,只是默认没有安装,不过官方已明确在下一个大版本中,将彻底放弃network.service,不建议继续使用network.service管理网络。
使用NM的好处:
- 通过 D-Bus 提供 API,允许查询和控制网络配置和状态。通过这种方式,可以通过多个应用程序检查和配置网络,确保同步和最新的网络状态。例如,通过 Web 浏览器监控和配置服务器的 RHEL Web 控制台使用NetworkManager D-BUS 接口来配置网络,以及Gnome GUI、nmcli和nm-connection-editor工具。在其中一个工具中所做的每一项更改都会被所有其他工具检测到。
- 使网络管理更容易:NetworkManager确保网络连接正常工作。当它检测到系统中没有网络配置但有网络设备时,NetworkManager会创建临时连接以提供连接。
- 为用户提供简单的连接设置:NetworkManager通过不同的工具(GUI、nmtui、nmcli)提供管理。
- 支持配置灵活性。例如,配置 WiFi 接口,NetworkManager会扫描并显示可用的 wifi 网络。您可以选择一个接口,NetworkManager会在重启过程后显示提供自动连接所需的凭据。NetworkManager可以配置网络别名、IP 地址、静态路由、DNS 信息和 VPN 连接,以及许多特定于连接的参数。您可以修改配置选项以反映您的需求。
- 在重启过程后维护设备的状态并接管在重启期间设置为托管模式的接口。
- 处理未明确设置为不受管理但由用户或其他网络服务手动控制的设备。
可用于管理 NetworkManager 连接的实用程序和应用程序
- nmcli:用于管理连接的命令行实用程序。
- nmtui:基于curses的文本用户界面(TUI)。要使用此应用程序,请安装该NetworkManager-tui软件包。
- nm-connection-editor:用于 NetworkManager 相关任务的图形用户界面 (GUI)。要启动此应用程序,请输入nm-connection-editorGNOME 会话的终端。
- control-center: GNOME shell 为桌面用户提供的 GUI。请注意,此应用程序支持的功能少于nm-connection-editor.
- GNOME shell 中的network connection icon:此图标表示网络连接状态,并用作您正在使用的连接类型的可视指示器。
将手动创建的 ifcfg 文件加载到 NetworkManager
在 Red Hat Enterprise Linux 中,如果您编辑ifcfg文件,NetworkManager不会自动感知更改,必须提示您注意更改。如果您使用其中一种工具更新NetworkManager配置文件设置,NetworkManager不会实施这些更改,直到您使用该配置文件重新连接。例如,如果使用编辑器更改了配置文件,NetworkManager必须再次读取配置文件。
/etc/sysconfig/ 存储大多数网络配置信息(配置文件、脚本);
/etc/NetworkManager/子目录 存储VPN、移动宽带和 PPPoE 配置;
/etc/sysconfig/network-scripts/ifcfg* 存储特定于接口的信息;
Procedure
-
To load a new configuration file:
nmcli connection load /etc/sysconfig/network-scripts/ifcfg-connection_name
-
If you updated a connection file that has already been loaded into NetworkManager, enter:
nmcli connection up connection_name
参考:
Chapter 2. Getting started with NetworkManager Red Hat Enterprise Linux 8 | Red Hat Customer Portal