我的办公室位于有线互联网连接较差且不稳定的地区,因此我正在尝试绑定 2 个 ISP。
我的 Ubuntu 18 服务器上有 2 个调制解调器连接到两个不同的物理接口:eno1->192.168.1.1 eno2->192.168.2.1
通过以下 netplan 配置,我可以 ping 两个调制解调器,但无法访问互联网。
有人能帮助我吗?
网络: 版本:2 渲染器:networkd 以太网: eno1: dhcp4: 假 dhcp6: false eno2: dhcp4: 假 dhcp6: false 债券: 债券0: 接口:[eno1,eno2] 地址: - 192.168.1.10/24 - 192.168.2.10/24 路线: - 至:0.0.0.0/0 通过:192.168.1.1 - 至:0.0.0.0/0 通过:192.168.2.1 名称服务器: 地址:[8.8.8.8, 8.8.4.4] 参数: 模式:balance-rr
答案1
您的配置试图将两个调制解调器视为完全等同于彼此以发送流量。但事实并非如此:每个调制解调器的公共 IP 地址特定于每个 ISP,并且当您的绑定导致与一个调制解调器上的连接相关的数据包通过另一个调制解调器发送时,它们将无法到达目的地。
事实上,balance-rr 是最糟糕的绑定模式,因为它故意在绑定成员之间分割与单个 TCP 连接相关的数据包。
在网桥上配置两个源 IP 地址,并使用两个不同的网关地址(每个调制解调器一个),也不能按预期工作,因为您的配置中没有任何内容表明哪个地址适用于哪个调制解调器。
一种选择是配置两个调制解调器,使它们具有相同的内部 IP 地址,并设置绑定接口balance-tlb
作为模式,但这仍然不能保证适用于 udp 流量。
另一种选择是在互联网上设置一个具有足够带宽的服务器以终止您的所有流量,并配置两个隧道(每个 ISP 连接一个)以终止于此服务器;然后在两个隧道之间建立绑定,并通过绑定路由您的互联网流量。