Linux

無需 ifenslave 命令即可更改 Linux 網路綁定介面的活動從屬設備

  • May 26, 2021

Linux 支持綁定多個乙太網網路介面以獲得額外的可靠性或負載平衡。

綁定驅動程序過去是通過ifenslave命令配置的,該命令已被棄用(由iproute2ip工具包中的命令取代),因此已從核心原始碼中刪除。ifenslave

不推薦使用的命令的一個特殊功能是我找不到現代等效命令是更改綁定介面的活動從屬(假設綁定介面在該active-backup模式下執行)。

例如,以下命令將eth0網卡設置為bond0介面的活動從屬:

ifenslave -c bond0 eth0
ifenslave --change-active bond0 eth0

有沒有辦法使用iproute2ip工具包中的命令或通過 sysfs 更改 Linux 綁定介面的活動從屬設備?

創建綁定介面的過程:

# create the bonding interface with active-backup mode
ip link add name bond0 type bond mode active-backup

# add the under laying interfaces
# the interface, that has been added first, will be active
ip link set master bond0 dev eth1
ip link set master bond0 dev eth0

# enable the bonding interface
ip link set up dev bond0
ip address add 192.168.100.1/24 dev bond0

# check the results: detailed info and statistics of bond0
ip -s -s -d link ls dev bond0

# check the state of ALL under laying interfaces
# with statistics and details 
ip -s -s -d link ls master bond0

# check the kernel logs
journalctl -kn 20

要更改綁定設備的活動連結,您應該使用以下命令:

ip link set dev bond0 type bond active_slave eth0

如果您收到類似的錯誤,RTNETLINK answers: invalid argument請檢查dmesgjournalctl -k輸出。

有關選項的簡要幫助,您可以使用ip link add type bond help命令。它適用於任何連結類型。

bond0您可以使用ip -d l ls dev bond0命令獲取目前介面選項的所有值。

引用自:https://serverfault.com/questions/1064396