我有两个OpenVPN服务器和两台连接到它们的机器。
服务器1 openvpn地址:10.158.1.1
服务器2 openvpn地址:10.158.2.1
机器1在服务器1上具有地址10.158.1.11,在服务器2上具有地址10.158.2.11。
机器2在服务器1上具有地址10.158.1.12,在服务器2上具有地址10.158.2.12。
一个简单的基于文本的图表看起来像:
10.158.1.11(machine1)<——-(10.158.1.1 server1)——-> 10.158.1.12(machine2)
10.158.2.11(machine1)<——-(10.158.2.1 server2)——-> 10.158.2.12(machine2)
在这一点上,一切都很好,我可以从1.12 2.11,从2.12等2.11。
因此,机器可以通过两个VPN接口通过openvpn服务器(在openvpn服务器中启用客户端到客户端)
我想达到的目的是build立一个保税界面,只有一台机器互相通信。
例如:机器1为10.159.0.1,机器2为10.159.0.2。
试图将tap10和tap20(分别为openvpn接口)以绑定模式主动备份,但是如果我使用mii,显然它不会检测vpn接口是否closures,因为如果链路断开,openvpn不会closures接口。
也尝试使用ARP监测,但后来bonding认为所有接口都closures了,因为当接口被奴役时ARP不工作。 试图使用GRE隧道(更具体地说,GRETAP,而不是普通的GRE,这只是13)在openvpn水龙头,但他们失败,就像正常的TAP接口。
PS:运行Debian 9的机器2,服务器1,服务器2和运行Debian 8的机器1。
在Debian 8系统上,使用后端的2.4 OpenVPN。 所以OpenVPN版本匹配。
任何想法做什么?
谢谢您的意见!
我会开始回答说,你的策略是行不通的。 你不会粘接这些接口。 当您进入路由时,您已经放弃了绑定的概念,现在已经处于高级路由技术领域,如BGP或负载平衡VPN服务器本身。 然而,不知道你的要求,我不能提出一个非常可靠的build议。
BGP很可能成为这里可能的外部networking需求的答案,因为它可以将多个位于同一地点的ISP路由到“互联网”链路冗余。 您甚至可以使用它来跨地理区域dynamic路由,并提供地理多样性可用性。 你可能不需要这个,但是如果你有两个站点在你的控制之下为了同样的目的,你可能会考虑类似的东西。
如果您想为OpenVPN创build本地共置服务器群集,而不是高级路由,或者除了高级路由,您还需要使用状态(应用程序)负载均衡器进行主动/主动群集,或者使用Linux HA与Pacemaker进行pipe理故障转移群集中的资源。
这两个build议通常太复杂,无法通过这种媒介扩展到完成,通常意味着作为指针,为您可能重build您的战略。
最后,我讨厌提出产品build议。 他们年龄不好。 然而,在写这篇文章的时候,“PFSense”是一个非常棒的开箱即用的产品,它可以帮助你把OpenVPN集成到一个HA对中,并pipe理BGPstream量。 如果你迷失在细节上,想要一个工作理念或产品,这可能对你有帮助。 即使在虚拟机中,防火墙设备也只需要几分钟的时间即可完全发挥作用。