网络管理器在哪里存储设置?

6 networkmanager

当我输入:

nmcli con show wlan0
Run Code Online (Sandbox Code Playgroud)

其中一项设置是:

802-11-wireless.band:                   bg
Run Code Online (Sandbox Code Playgroud)

此设置存储在磁盘的何处?

它不在:/etc/sysconfig/network-scripts/ifcfg-wlan0

我已经搜索了 lib、var 等和 usr 中的所有内容,但一直找不到它。

小智 10

尝试这个命令:

sudo  nmcli -f NAME,DEVICE,FILENAME connection show
Run Code Online (Sandbox Code Playgroud)

它将显示以下内容:

NAME               DEVICE  FILENAME
bridge-br0         br0     /etc/sysconfig/network-scripts/ifcfg-bridge-br0
virbr0             virbr0  /run/NetworkManager/system-connections/virbr0.nmconnection
bridge-slave-eno1  eno1    /etc/sysconfig/network-scripts/ifcfg-bridge-slave-eno1
vnet1              vnet1   /run/NetworkManager/system-connections/vnet1.nmconnection
eno2               --      /etc/sysconfig/network-scripts/ifcfg-eno2
Run Code Online (Sandbox Code Playgroud)

显然,当 NetworkManager 创建设备时,每个网络设备的配置都不会创建或存储在同一位置。

我在 RedHat 访问站点上找到了有关在 Red Hat Enterprise Linux 8 中配置和管理网络的指南 的信息。


tel*_*coM 8

NetworkManager 支持各种插件,可以为配置信息定义新的存储位置。当前启用的插件可以在以下位置找到/etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile
Run Code Online (Sandbox Code Playgroud)

通用默认插件是keyfile,它将配置存储在/etc/NetworkManager/system-connections目录中,在类似于 Windows.ini文件的文件中。

其他插件可能是特定于发行版的:

  • Fedora 和 RedHat 使用ifcfg-rh,这将读取和写入/etc/sysconfig/network-scripts/ifcfg-*文件。

  • Debian 和 Ubuntu 使用ifupdown,这是一个只读插件:它读取/etc/network/interfaces但不对其进行任何更改。您通过 NetworkManager 进行的任何配置更改都将使用keyfile插件保存。

  • SuSE 显然曾经有ifcfg-suse,但它似乎已被弃用。

  • 其他发行版可能有自己的插件。

话虽如此,该802-11-wireless.band设置可能从驱动程序报告的 WiFi NIC 功能中获取其默认值。只有当您想明确地将 NIC 限制为某些类型的 WiFi 网络时,它才会被保存。

如果您的 WiFi 网卡只能在 2.4 GHz 频段传输,则您无法通过重新配置软件或驱动程序来添加a或添加ac功能:这将需要一个新的无线电模块和一个针对 5.0 GHz 频段调谐的新天线。


Dan*_*sov 5

检查/etc/NetworkManager/system-connections/目录。它应包含所有已保存网络连接的信息。

编辑:命令的结果grep '802-11-wireless' `which nmcli`(匹配)意味着输出的格式化nmcli是由nmcli实用程序本身完成的,而不是直接从文件中读取。不过,右列上显示的一些数据是从某处读取的(bg在您的情况下)。您应该找到一个较长的文件,该文件似乎没有被实用nmcli程序和 grep 格式化。