当我输入:
nmcli con show wlan0
其中一项设置是:
802-11-wireless.band: bg
此设置存储在磁盘上的什么位置?
它不在:/etc/sysconfig/network-scripts/ifcfg-wlan0
我已经 grep 了 lib、var 等中的所有内容,而 usr 和我还没有找到它。
答案1
NetworkManager支持各种插件,可以为配置信息定义新的存储位置。当前启用的插件可以在以下位置找到/etc/NetworkManager/NetworkManager.conf
:
[main]
plugins=ifupdown,keyfile
通用默认插件是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 NIC 只能在 2.4 GHz 频段传输,则无法仅通过重新配置软件或驱动程序来添加功能:这将需要一个新的无线电模块和一个针对 5.0 GHz 频段调谐的新天线a
。ac
答案2
尝试这个命令:
sudo nmcli -f NAME,DEVICE,FILENAME connection show
它将显示以下内容:
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
显然,当 NetworkManager 创建设备时,每个网络设备的配置都不会创建或存储在同一位置。
我在这里找到了资料,在 Red Hat Enterprise Linux 8 中配置和管理网络的指南,在 RedHat 访问站点上。
答案3
检查/etc/NetworkManager/system-connections/
目录。它应包含所有已保存网络连接的信息。
编辑:命令的结果grep '802-11-wireless' `which nmcli`
(匹配)意味着输出的格式化nmcli
是由实用程序本身完成的nmcli
,而不是直接从文件中读取。不过,右列上显示的一些数据是从某处读取的(bg
在您的情况下)。您应该找到一个较长的文件,它似乎没有被实用nmcli
程序和 grep 格式化。
答案4
输入sudo NetworkManager --print-config
有关设置位置的信息..主要/etc/NetworkManager/system-connections/
如上面所回答。
该目录中每个新“配置文件”的一些默认设置似乎是根据“无设置等于 True”逻辑确定的。如果您正在阅读此问题,请参阅我的问题:有没有办法默认永久禁用“可用时自动连接到该网络”?