软件配置Network Manager以忽略某些网络设备
这篇文章将为大家详细讲解有关软件配置Network Manager以忽略某些网络设备,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Network Manager 是一个能够动态控制和配置网络的守护进程,对应 NetworkManager.service 服务,默认配置文件路径 /etc/NetworkManager/NetworkManager.conf。从 RHEL/CentOS 7 开始,网络功能默认由 NetworkManager 以服务的形式提供。Ubuntu 的 server 版本默认没有启用 NetworkManager。
默认情况下,NetworkManager 管理除 lo
(环回)设备以外的所有设备。但是,在容器环境下很多网络设备是由网络驱动创建,NetworkManager 对容器网络设备的控制可能导致集群网络通信异常。因为需要将容器相关的设备设置为 unmanaged
,以使NetworkManager 忽略这些设备。
查看设备状态
|
临时 unmanaged
如果只是临时测试,那么可以通过 nmcli 命令去设置某个网络设备为 unmanaged 状态。但是只要重启 NetworkManager 服务或者重启了主机,网络接口又会恢复为 managed 状态。
|
永久 unmanaged
要想永久的排除 NetworkManager 管理某些网络设备,则需要通过配置文件去设置。
启用插件
在
/etc/NetworkManager/NetworkManager.conf
配置文件的[main] 层级下启用插件 keyfile。[main]
plugins=keyfile创建
/etc/NetworkManager/conf.d/99-unmanaged-devices.conf
配置文件,包含以下内容:[keyfile]
unmanaged-devices=interface-name:eth*,except:interface-name:eth0;interface-name:docker0;interface-name:flannel*;interface-name:flannel*;interface-name:cni0;;mac:66:77:88:99:00:aa以分号隔开;
可以使用通配符来匹配接口;
interface-name:eth*,except:interface-name:eth0; 表示:除了 eth0,其他以 eth 开头的接口全部 unmanaged;
可以通过 mac 地址来排除接口;
重新加载配置
systemctl reload NetworkManager
禁用 Network Manager
配置的错误,或者配置更新不及时都可能导致不必要的问题,如果不是必须使用 NetworkManager 服务,一般情况还是建议禁用 Network Manager 服务。
关于"软件配置Network Manager以忽略某些网络设备"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。