NetworkManager是用来管理网卡配置和连接状态的工具。它能够自动检测可用的网络,并根据需要进行自动切换,同时也可以手动配置网络设置,例如IP地址、网关和DNS。本文介绍Alibaba Cloud Linux 3系统中NetworkManager配置文件及常见配置说明。您可以根据实际需求调整配置,以满足特定的业务场景。
NetworkManager配置文件说明
NetworkManager的配置文件由以下文件组成,加载顺序从左到右,优先级依次变高:/usr/lib/NetworkManager/conf.d
、/run/NetworkManager/conf.d/
、/etc/NetworkManager/NetworkManager.conf
、/etc/NetworkManager/conf.d
。
/usr/lib/NetworkManager/conf.d
:该目录主要包含软件的默认配置,任何用户自定义配置都应该保存在优先级更高的配置文件中(例如/etc/NetworkManager/conf.d
),以确保这些定制设置在软件包更新时不会被覆盖。/run/NetworkManager/conf.d/
:该目录存放的是临时运行配置,通常由系统服务或启动脚本在启动时创建。由于系统重启后配置会丢失,因此不建议在此目录中存放自定义配置。/etc/NetworkManager/NetworkManager.conf
:该文件是NetworkManager的主配置文件,在软件包的删除和升级过程中被更新。因此,为了防止用户的自定义更改被覆盖,一般不建议直接修改NetworkManager.conf
文件。/etc/NetworkManager/conf.d
:修改默认的NetworkManager推荐通过在/etc/NetworkManager/conf.d
目录下创建相应的.conf
文件来完成配置。这样可以确保软件包更新时,自定义设置保持不变。需要注意的是,该目录中的文件会按文件名的字典序进行读取。
NetworkManager常见配置
NetworkManager日志配置
本文以设置level=TRACE
和domains=ALL
来收集所有的操作日志为例。
执行以下命令,创建并打开
set-log.conf
文件。sudo vim /etc/NetworkManager/conf.d/set-log.conf
按
i
键进入编辑模式,将以下内容复制到set-log.conf
文件中。[logging] level=TRACE domains=ALL
level参数说明
日志级别(level)
说明
日志级别(level)
说明
OFF
将日志记录关闭,不会输出任何日志信息。
ERR
仅输出错误级别的日志信息。
WARN
输出警告级别及以上的日志信息。
INFO
输出一般信息级别的日志。
DEBUG
输出调试级别的日志信息。
TRACE
输出非常详细的追踪级别的日志信息。
domains参数说明
领域(domains)
说明
领域(domains)
说明
NONE
不记录任何领域的日志信息。
ALL
记录所有可用领域的日志信息。
DEFAULT
记录默认领域的日志信息。
DHCP
记录与DHCP客户端相关的日志信息。
IP
记录与IP管理相关的日志信息。
按
Esc
键,输入:wq
后按Enter
键,保存配置。执行以下命令,使配置生效。
sudo systemctl restart NetworkManager
执行以下命令,查看NetworkManager日志。
journalctl -u NetworkManager
NetworkManager不接管网卡配置
配置NetworkManager不接管网卡时,需要在keyfile
section中指定unmanaged-devices
键。本文以NetworkManager配置不接管辅助网卡(如eth1
)为例。
执行以下命令,查询网卡状态。
nmcli device status
回显信息如下图所示,表示
eth0
和eth1
默认被NetworkManager
接管,lo
未被接管。执行以下命令,创建并打开
unmanaged.conf
文件。sudo vim /etc/NetworkManager/conf.d/unmanaged.conf
按
i
键进入编辑模式,将以下内容复制到unmanaged.conf
文件中。[keyfile] unmanaged-devices=interface-name:eth1
按
Esc
键,输入:wq
后按Enter
键,保存配置。执行以下命令,使配置生效。
sudo systemctl restart NetworkManager
执行以下命令,查看修改是否成功。
nmcli device status
NetworkManager插件配置
NetworkManager使用ifcfg-rh/keyfile
插件来读取和写入网络配置,默认情况下,使用ifcfg-rh
插件来管理主网卡(如eth0
),使用keyfile
插件来管理辅助网卡(如eth1
)。
ifcfg-rh
插件用于从/etc/sysconfig/network-scripts/ifcfg-*
文件中读取/写入配置。keyfile
插件是NetworkManager的通用插件,每个连接都有一个对应的.nmconnection
配置文件。
执行以下命令,打开NetworkManager.conf配置文件。
sudo vim /etc/NetworkManager/NetworkManager.conf
按
i
键进入编辑模式,添加或修改plugins
的值。plugins
中插件优先级是按照声明顺序决定的,即最左边的优先级越高。[main] plugins = ifcfg-rh, keyfile
按
Esc
键,输入:wq
后按Enter
键,保存配置。执行以下命令,使配置生效。
sudo systemctl restart NetworkManager
执行以下命令,查看配置是否成功。
sudo journalctl -u NetworkManager | grep -i "settings plugin"
- 本页导读 (1)
- NetworkManager配置文件说明
- NetworkManager常见配置
- NetworkManager日志配置
- NetworkManager不接管网卡配置
- NetworkManager插件配置