参数配置的意义:
NM_CONTROLLED=yes
:
表示网卡允许NetworkManager程序管理。这样可以降低网络配置的使用难度,便于管理无线网络、虚拟专用网等网络连接,适合普通台式机和笔记本电脑使用。
当设置为
yes
并有安装运行NetworkManager服务时,如果编辑了网卡配置文件,需要先重启NetworkManager再重启network服务。
NM_CONTROLLED=no
:
表示网卡使用传统方式管理而不用NetworkManager。这样做的好处是修改网卡配置文件后直接重启network就生效,不受NetworkManager干扰,适合以太网连接的服务器使用。
设置
NM_CONTROLLED=no
的目的是将网络设备脱离NetworkManager服务的管理,设置后该网络设备仅由network服务管理,不受NetworkManager服务控制,因而nmcli命令对该网络设备不再生效。
因配置不合理导致的故障案例:
网络中断问题:
在一些案例中,系统管理员在远程连接的终端上修改
ifcfg-eth0
文件时,由于NM_CONTROLLED=yes
,网络可能立即中断,导致远程连接死机,无法进行任何操作。管理员只能到机房去(如果幸运,离机房比较近的话),到服务器的Console终端进行修改。这种配置有非常大的安全隐患,参数改错以后,会导致无法连接远程服务器修改,所以建议网卡配置中设置为
NM_CONTROLLED=no
。
重启网络服务后网络不通:
在RHEL7.6系统中,使用nmcli绑定双网卡后,在使用命令
systemctl restart network
重启network服务后主机网络异常,导致无法通过ssh远程登录系统。分析发现,当停止NetworkManager服务后,问题现象消失。如果不停止NetworkManager服务,而是修改网卡配置文件,在bonding网卡和组成bonding的slave网卡的配置文件中增加
NM_CONTROLLED=no
,也可以解决该问题。
配置文件不生效:
检查
ifcfg
文件中是否有语法错误或参数设置不当,特别是NM_CONTROLLED
参数。如果网络接口被NM控制,可以在ifcfg
文件中加入NM_CONTROLLED=no
来避免此问题。
# cat ifcfg-eth0
TYPE=Ethernet
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
NAME=eth0
HWADDR=FE:FC:FE:05:D8:xx
PEERDNS=no
NM_CONTROLLED=no
IPADDR=192.168.1.11
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
METRIC=103
TYPE=Ethernet
参数解释:指定网络接口的类型。
作用:告诉系统这是一个以太网接口。
DEVICE=eth0
参数解释:指定配置文件对应的网络设备名称。
作用:这里指定设备名为
eth0
,即第一块以太网卡。
BOOTPROTO=static
参数解释:指定启动时使用的协议。
作用:
static
表示静态IP配置,即手动指定IP地址和网络配置,而不是通过DHCP等动态获取。
ONBOOT=yes
参数解释:指定在系统启动时是否激活该网络接口。
作用:
yes
表示在系统启动时激活该网络接口。
NAME=eth0
参数解释:指定网络接口的名称。
作用:这里指定接口名称为
eth0
,与DEVICE
参数一致。
HWADDR=FE:FC:FE:05:D8:xx
参数解释:指定网络接口的硬件地址(MAC地址)。
作用:这里指定了该以太网接口的MAC地址。
PEERDNS=no
参数解释:指定是否从DHCP服务器获取DNS服务器地址。
作用:
no
表示不从DHCP服务器获取DNS服务器地址,即使BOOTPROTO
设置为dhcp
。
NM_CONTROLLED=no
参数解释:指定是否由NetworkManager控制该网络接口。
作用:
no
表示该网络接口不受NetworkManager控制,由系统直接管理。
IPADDR=192.168.1.11
参数解释:指定分配给网络接口的IP地址。
作用:这里指定了静态IP地址为
192.168.1.11
。
NETMASK=255.255.255.0
参数解释:指定网络接口的子网掩码。
作用:这里指定了子网掩码为
255.255.255.0
,适用于C类地址。
GATEWAY=192.168.1.254
参数解释:指定默认网关地址。
作用:这里指定了默认网关地址为
192.168.1.254
,用于路由到其他网络。
METRIC=103
参数解释:指定路由度量值。
作用:
METRIC
用于指定路由优先级,数值越小优先级越高。这里指定的度量值为103,用于决定使用哪个网关。
默认行为:NetworkManager会尝试控制该网络接口,并应用其管理策略,包括自动连接/断开、IP地址分配等。
配置文件影响:如果系统中有其他配置文件或脚本明确指定了
NM_CONTROLLED=no
,那么这些设置将优先于默认行为,NetworkManager将不会控制这些接口。系统管理员设置:在某些系统中,系统管理员可能会通过修改NetworkManager的配置文件来改变其默认行为,例如,通过设置
managed=false
在/etc/NetworkManager/NetworkManager.conf
文件中,来阻止NetworkManager控制任何网络接口。接口状态:即使没有
NM_CONTROLLED
参数,NetworkManager也会根据其他配置(如/etc/network/interfaces
或/etc/sysconfig/network-scripts/ifcfg-*
文件中的设置)来管理网络接口的状态。