Ubuntu 16.04:绑定内核模块如何自动加载?

Ubuntu 16.04:绑定内核模块如何自动加载?

我最近设置了一个具有绑定以太网配置的 Ubuntu 16.04 系统。以前,似乎要使其正常工作,需要将绑定模块包含在/etc/modules或中/etc/modules.d。此处记录了这一点:

https://help.ubuntu.com/community/UbuntuBonding

然而,在我刚刚设置的 Ubuntu 16.04 系统上,我没有做任何事情来强制加载绑定内核模块(例如 中没有条目/etc/modules),但是绑定内核模块已加载并且绑定端口正在按广告宣传的方式工作。

我一直在试图找出触发此模块加载的原因,但找不到它。据我所知,Canonical 并没有在 16.04 版本中切换到 systemd-networkd,因此据我所知,没有 systemd 魔法在起作用。也没有udev定义任何规则。

现在整件事真的让我很困扰(特别是因为在 14.04 中不显式加载该模块是行不通的),所以在 StackExchange 上询问。

答案1

NetworkManager 最近获得了对绑定的支持。我怀疑它希望您手动加载模块。

有少数教程不会告诉您加载模块,所以我想知道 ifenslave 脚本...哈哈。

从 Debian 8 软件包中,文件 ifenslave.pre-up:

add_master()
{
    # Return if $BOND_MASTER is already a bonding interface.
    [ -f "/sys/class/net/$BOND_MASTER/bonding/slaves" ] && return

    # If the bonding module is not yet loaded, load it.
    if [ ! -r /sys/class/net/bonding_masters ]; then
        modprobe -q bonding
    fi

相关内容