我使用默认内核配置设置了 Fedora 20,其中桥接功能作为模块启用 ( CONFIG_BRIDGE=m
),并且桥接模块在系统启动时加载。我不明白是谁发起的,因为我没有bridge.ko
在 中找到任何内容/etc/sysconfig/modules/*
。然而它最终会留在内存中,每次我都必须“rmmod”它。
我想禁止bridge.ko
在启动时加载,但我仍然想bridge.ko
在必要时手动加载/卸载。
我知道可以使用 中的黑名单功能/etc/modprobe.d/blacklist.conf
,但是有人能指出谁bridge.ko
在 Fedora 20 的默认设置中加载吗?
答案1
如果您查看它的输出,lsmod
它通常会告诉您哪些模块由于依赖于其他模块而被加载。例如,在 的情况下bridge
,它看起来像stp
&llc
需要它。
$ lsmod | grep brid
bridge 116006 1 ebtable_broute
stp 12868 1 bridge
llc 13941 2 stp,bridge
笔记:这也来自我的 Fedora 20 系统(笔记本电脑)。您可以使用另一个工具modinfo
来查找有关这两个模块的信息:
$ modinfo stp
filename: /lib/modules/3.16.3-200.fc20.x86_64/kernel/net/802/stp.ko
license: GPL
depends: llc
intree: Y
vermagic: 3.16.3-200.fc20.x86_64 SMP mod_unload
signer: Fedora kernel signing key
sig_key: 55:46:C1:1D:28:CF:EC:0B:46:B1:C1:F1:93:0D:6B:F3:EC:63:B0:67
sig_hashalgo: sha256
$ modinfo llc
filename: /lib/modules/3.16.3-200.fc20.x86_64/kernel/net/llc/llc.ko
description: LLC IEEE 802.2 core support
author: Procom 1997, Jay Schullist 2001, Arnaldo C. Melo 2001-2003
license: GPL
depends:
intree: Y
vermagic: 3.16.3-200.fc20.x86_64 SMP mod_unload
signer: Fedora kernel signing key
sig_key: 55:46:C1:1D:28:CF:EC:0B:46:B1:C1:F1:93:0D:6B:F3:EC:63:B0:67
sig_hashalgo: sha256
这并没有让我们对情况有更多的了解,所以让我们看看谷歌对“linux llc”的看法。这是项目页面以及该模块的概要。
摘录-https://code.google.com/p/linux-llc/linux-llc 是一个程序集合,构成 Linux 操作系统的 Linux-LLC 网络堆栈用户空间组件的基本集。
逻辑链路控制 (LLC) 是 IEEE 802.2 LAN 协议套件的子层。 LLC是数据链路层的顶层子层,是令牌环、以太网、FDDI等不同介质接入技术的通用接入方式。 LLC 套接字提供了一种方便且易于使用的方法,用于从用户空间访问 LLC1 和 LLC2 函数。
LLC2 套接字继承了 LLC1 套接字的所有功能。 LLC1 套接字使用 LLC 数据链路无连接模式(未确认数据传输)协议。相反,LLC2 套接字使用 LLC 数据链路面向连接模式和数据链路无连接模式。
因此,根据这些信息,我想说这是一个非常核心的模块,您将很难删除和/或没有它,特别是如果您正在使用任何列出的网络技术。
答案2
添加alias bridge off
内部/etc/modprobe.d/disable_bridge.conf
将阻止加载模块。
请注意,文件名可以是任何名称,需要以.conf
.
$ echo "alias bridge off" >> /etc/modprobe.d/disable_bridge.conf