通过不可靠网络的高级Linux路由实现冗余的OpenVPN连接
我目前居住在一个封锁许多网站并且与外界的网络连接不可靠的国家。我在用于绕过防火墙的Linux服务器上有两个OpenVPN端点(例如:vpn1和vpn2)。我拥有对这些服务器的完全访问权限。这很好,除了我的VPN连接丢失大量数据包外。根据时间的不同,此丢包率在1%到30%之间变化,并且在大多数情况下似乎是随机的,其相关性较低。 我正在考虑建立一个家庭路由器(也在Linux上),该路由器维护与两个端点的OpenVPN连接,并将所有数据包两次发送到两个端点。vpn2会将所有数据包从家发送到vpn1。回程交通既可以直接从vpn1发送到家庭,也可以通过vpn2发送。 +------------+ | home | +------------+ | | | OpenVPN | | links | | | ~~~~~~~~~~~~~~~~~~ unreliable connection | | +----------+ +----------+ | vpn1 |---| vpn2 | +----------+ +----------+ | +------------+ | HTTP proxy | +------------+ | (internet) 为了清楚起见:home和HTTP代理之间的所有数据包都将被复制并通过不同的路径发送,以增加其中一个到达的机会。如果两个都到达,则可以将第一个第二个静默丢弃。 带宽使用不是问题,无论是在本地端还是在端点端。vpn1和vpn2彼此靠近(3毫秒ping)并具有可靠的连接。 关于使用Linux中可用的高级路由策略如何实现此目标的任何指示?