
Recientemente configuré un sistema Ubuntu 16.04 con una configuración de Ethernet vinculada. Anteriormente, parece que para que esto funcione, el módulo de vinculación debía incluirse en /etc/modules
o /etc/modules.d
. Esto está documentado aquí:
https://help.ubuntu.com/community/UbuntuBonding
Sin embargo, en el sistema Ubuntu 16.04 que acabo de configurar, no hice nada para forzar la carga del módulo del kernel de vinculación (por ejemplo, sin entrada /etc/modules
) y, sin embargo, el módulo del kernel de vinculación está cargado y el puerto vinculado funciona como se anuncia.
He estado tratando de descubrir qué está provocando la carga de este módulo y no puedo encontrarlo. Hasta donde puedo decir, Canonical no logró cambiar a systemd-networkd para la versión 16.04, por lo que, hasta donde yo sé, no hay magia de systemd en funcionamiento. Además, no udev
hay reglas definidas.
Ahora todo esto realmente me molesta (especialmente porque no cargar explícitamente el módulo en 14.04 no habría funcionado), así que pregunto en StackExchange.
Respuesta1
NetworkManager obtuvo soporte para la vinculación recientemente. Dudo que espere que cargues el módulo manualmente.
Hay una minoría de tutoriales que no te dicen que cargues el módulo, así que me pregunto sobre el script ifenslave... ja.
Desde el paquete Debian 8, archivo 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