软件配置Network Manager以忽略某些网络设备

本文主要介绍"软件配置Network Manager以忽略某些网络设备",希望能够解决您遇到有关问题,下面我们一起来看这篇 "软件配置Network Manager以忽略某些网络设备" 文章。

Network Manager 是一个能够动态控制和配置网络的守护进程,对应 NetworkManager.service 服务,默认配置文件路径 /etc/NetworkManager/NetworkManager.conf。从 RHEL/CentOS 7 开始,网络功能默认由 NetworkManager 以服务的形式提供。Ubuntu 的 server 版本默认没有启用 NetworkManager。

默认情况下,NetworkManager 管理除 lo(环回)设备以外的所有设备。但是,在容器环境下很多网络设备是由网络驱动创建,NetworkManager 对容器网络设备的控制可能导致集群网络通信异常。因为需要将容器相关的设备设置为 unmanaged,以使NetworkManager 忽略这些设备。

查看设备状态

# 查看设备管理状态
nmcli device status

临时 unmanaged

如果只是临时测试,那么可以通过 nmcli 命令去设置某个网络设备为 unmanaged 状态。但是只要重启 NetworkManager 服务或者重启了主机,网络接口又会恢复为 managed 状态。

nmcli device set xxx managed no

永久 unmanaged

要想永久的排除 NetworkManager 管理某些网络设备,则需要通过配置文件去设置。

  1. 启用插件

    在 /etc/NetworkManager/NetworkManager.conf 配置文件的[main] 层级下启用插件 keyfile。

    [main]
    plugins=keyfile
  2. 创建 /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以忽略某些网络设备" 就介绍到这。希望大家多多支持编程宝库

    本文主要介绍"Kafka相关面试题有哪些",希望能够解决您遇到有关问题,下面我们一起来看这篇 "Kafka相关面试题有哪些" 文章。 1. 为什么要使用 kafka?缓冲和削峰:上游数据时有突发 ...