如何在 Linux Mint 19 中设置链路聚合(绑定)

如何在 Linux Mint 19 中设置链路聚合(绑定)

我在用network-manager。我尝试使用类似于(连接到我的路由器并连接到手机)的GUI来绑定我的两个有线连接eth0和。我可以创建一个绑定类型设备并添加从属设备,但由于某些原因它们没有连接。usb0nm-connection-editoreth0usb0

谷歌搜索答案,我找到了我需要编辑的内容/etc/network/interfaces。我尝试了一下没有成功。

我添加了bonding启动/etc/modules和执行modprobe+lsmod | grep bonding以确保模块已加载,我的/etc/network/interfaces文件是:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
    bond-master bond0
    bond-primary eth0 usb0

auto usb0
iface usb0 inet manual
    bond-master bond0
    bond-primary eth0 usb0

auto bond0
iface bond0 inet dhcp
    bond-slaves none
    bond-mode 6
    bond-miimon 100

当我重新启动时,它显示一条消息,说A start job is running for Raise network interfaces...大约 5 分钟后系统启动但没有连接。

我尝试了一些发现的变体:

/etc/network/interfaces:

auto bond0
iface bond0 inet dhcp
    bond-slaves eth0 usb0
    bond-mode 6
    bond-miimon 100
    bond-primary eth0 usb0

即使我尝试设置inetstatic添加静态参数,但没有人提供帮助。

我尝试的另一种方法是使用ip link setand ip link add,但是当我使用时ip link set eth0 master bond0,它显示了一个错误:RTNETLINK answers: Operation not supported

System info:
OS: Linux Mint 19 Tara
Kernel: Linux 4.15.0-34-generic (x86_64)

最后,我希望绑定我的网络以提高 torrent 的下载速度,并在网络不可用时保持连接。我发现平衡 alb 模式下的网络绑定是执行此操作的最佳选择,但如果有人知道更好的方法来执行此操作,我愿意接受建议。

为了指导我,我找到了这些链接:

Ubuntu 绑定

绑定网络 - 内核文档

Linux Mint 18.1 中的链路聚合

如何在 Ubuntu 中配置网络绑定

答案1

您无法“绑定”不同的 ISP。

绑定用于将两个 LAN 连接合并为一个虚拟的单个 LAN 连接,两端。这种情况发生在第 2 层,而不是第 3 层(由提供商分配不同的 IP 地址)。由于您只在一端执行此操作(另一端是两个不同的 ISP),因此没有机会实现这一点。

您的实验结果“不稳定”,因为本质上您只是使用其中之一。

“如何同时连接到两个 ISP”是一个常见问题解答,并且定期出现。答案是“不容易”。您可以进行一些自定义负载平衡,但您需要自己编写代码。

答案2

嗯...这次研究得更深入。

mode balance-alb当服务尝试启动时,我发现显示错误。

bond0:dev eth0 的 dev_set_mac_address 失败! ALB 模式要求基础驱动程序在网络设备接口打开时也支持设置硬件地址

显示此错误,journalctl -xe服务未启动后在终端中执行。

所以。我尝试了另一种方法,mode balance-rr最后我通过以下步骤提出了绑定网络:

1) $echo bonding >> /etc/modules

2) $sudo modprobe bonding && lsmod | grep bonding

3) $sudo systemctl stop network-manager && sudo systemctl disable network-manager

4) $sudo nano /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

allow-hotplug eth0
auto eth0
iface eth0 inet manual
    bond-master bond0

allow-hotplug usb0
auto usb0
iface usb0 inet manual
    bond-master bond0

auto bond0
iface bond0 inet dhcp
    bond-slaves none
    bond-mode balance_rr
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 200

信息:iface bond0 inet staticwith static parameters (address,netmask,network,gateway)includedns_nameservers对我不起作用,因为从不连接到 DNS。

5) $sudo systemctl restart networking

最后,将键合与:

$cat /proc/net/bonding/bond0

eth0但是,与我的想法相反,连接非常不稳定,如果启动时有任何连接或被usb0拔掉,或者任何设备失去连接,但bond0仍尝试连接到它们并完成丢失包,则连接将无法工作。

相关内容