我对 AlmaLinux 9 中的 NetworkManager 有点困惑。我使用的是 Linode 的 VPS。我创建了一个带有一个具有公共 IP 的以太网接口的 VPS。其配置文件存储在/etc/sysconfig/network-scripts/ifcfg-eth0
.然后我添加了另一个没有公共 IP 的以太网接口连接到 VLAN。当我配置它的 IP 时,nmcli
它已将其配置保存在
/etc/NetworkManager/system-connections/eth1.nmconnection
.
你能告诉我为什么吗?
答案1
/etc/sysconfig/network-scripts/ifcfg-*
是 RedHat 风格的向后兼容方式来存储网络配置设置。
/etc/NetworkManager/system-connections/*.nmconnection
是 NetworkManager 的原生、与发行版无关的方式来执行相同的操作。
NetworkManager 的开发人员显然希望最终所有使用 NetworkManager 的发行版都会集中使用他们的存储网络设置的方式,但他们认识到有很多现有的自动化/集成代码依赖于经典的、特定于发行版的网络存储方式配置设置;例如,Linode VPS 管理 Web UI 可能就是其中之一。因此收敛可能非常慢或者根本不会发生。
因此,NetworkManager 有一个基于插件的网络配置存储系统。每个发行版都可以创建自己的插件,以至少读取其以前的网络配置存储,并且如果该发行版不尝试实现到 NetworkManager 的本机配置样式的转换,也可以选择写入它。
此外,各种桌面环境使用相同的插件机制来提供一种存储每个用户的网络配置设置(例如 VPN 设置)的方法,使用桌面环境自己的机制(例如 GNOME 密钥环、KDE 钱包)来存储设置(其中可能包括密码)安全地。
Linode 甚至可能有意以这种方式设置其 VPS 上的 NetworkManager,以使支持人员的工作更加轻松:如果由 VPS 管理 Web GUI 创建的设置转到 ,/etc/sysconfig/network-scripts/ifcfg-*
并且客户自己的自定义转到/etc/NetworkManager/system-connections/
,那么提供自动化的服务就变得很容易如果客户意外使其 VPS 无法访问,可以禁用客户的自定义并将基本网络配置恢复到 VPS。它可以作为 Linode 支持人员的工具来实现,甚至可以作为 VPS 管理 Web GUI 中的客户自助功能提供。