我在用network-manager
。我尝试使用类似于(连接到我的路由器并连接到手机)的GUI来绑定我的两个有线连接eth0
和。我可以创建一个绑定类型设备并添加从属设备,但由于某些原因它们没有连接。usb0
nm-connection-editor
eth0
usb0
谷歌搜索答案,我找到了我需要编辑的内容/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
即使我尝试设置inet
和static
添加静态参数,但没有人提供帮助。
我尝试的另一种方法是使用ip link set
and 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 模式下的网络绑定是执行此操作的最佳选择,但如果有人知道更好的方法来执行此操作,我愿意接受建议。
为了指导我,我找到了这些链接:
答案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 static
with static parameters (address,netmask,network,gateway)
includedns_nameservers
对我不起作用,因为从不连接到 DNS。
5) $sudo systemctl restart networking
最后,将键合与:
$cat /proc/net/bonding/bond0
eth0
但是,与我的想法相反,连接非常不稳定,如果启动时有任何连接或被usb0
拔掉,或者任何设备失去连接,但bond0
仍尝试连接到它们并完成丢失包,则连接将无法工作。