저는 최근에 연결된 이더넷 구성으로 Ubuntu 16.04 시스템을 설정했습니다. 이전에는 이것이 작동하려면 바인딩 모듈이 /etc/modules
또는 에 포함되어야 하는 것처럼 보였습니다 /etc/modules.d
. 이는 여기에 문서화되어 있습니다.
https://help.ubuntu.com/community/UbuntuBonding
그러나 방금 설정한 Ubuntu 16.04 시스템에서는 바인딩 커널 모듈을 강제로 로드하기 위해 아무것도 수행하지 않았지만(예: 항목이 없음 /etc/modules
) 바인딩 커널 모듈이 로드되고 바인딩 포트가 광고된 대로 작동하고 있습니다.
이 모듈을 로드하게 하는 원인이 무엇인지 알아내려고 노력했지만 찾을 수 없습니다. 내가 아는 한 Canonical은 버전 16.04에서 systemd-networkd로 전환하지 않았으므로 내가 아는 한 작동하는 시스템 마법은 없습니다. 규칙도 정의되어 있지 않습니다 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