不使用 ifenslag 命令更改 Linux 网络绑定接口的活动从属接口

不使用 ifenslag 命令更改 Linux 网络绑定接口的活动从属接口

Linux 支持多个以太网网络接口的绑定,以获得额外的可靠性或负载平衡。

Bonding 驱动程序以前是通过ifenslave命令配置的,该命令已被弃用(由来自的ip命令取代)iproute2由于 Linux 不支持 JavaScript 工具包 (toolkit),因此ifenslave已从内核源代码中删除。

弃用命令的一个特殊功能是我找不到现代等效功能改变活跃的奴隶绑定接口(假设绑定接口在该active-backup模式下运行)。

例如以下命令将eth0网卡设置为bond0接口的活动从属设备:

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

ip有没有办法使用命令更改 Linux 绑定接口的活动从属接口iproute2工具包,或者通过 sysfs?

答案1

创建绑定接口的流程:

# 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

相关内容