是否可以实现两个具有故障转移和复制功能的 OpenVPN?例如,如果其中一个发生故障/出现故障,则另一个可用于身份验证、服务器/客户端配置等。 ?
我不明白为什么要从大炮射击苍蝇。IHMO 有一个更简单的方法:使用内置 OpenVPN 功能和 linux iproute2 实现多路径冗余。我会更安全、更稳定、消耗更少的资源。
来源: https: //openvpn.net/index.php/open-source/documentation/howto.html
实施负载平衡/故障转移配置客户端
OpenVPN 客户端配置可以参考多个服务器进行负载平衡和故障转移。例如:
remote server1.mydomain
remote server2.mydomain
remote server3.mydomain
Run Code Online (Sandbox Code Playgroud)
将指示 OpenVPN 客户端按顺序尝试与 server1、server2 和 server3 建立连接。如果现有连接中断,OpenVPN 客户端将重试最近连接的服务器,如果失败,将移至列表中的下一个服务器。您还可以指示 OpenVPN 客户端在启动时随机化其服务器列表,以便客户端负载按概率分布在服务器池中。
remote-random
Run Code Online (Sandbox Code Playgroud)
如果您还希望 DNS 解析失败导致 OpenVPN 客户端移动到列表中的下一个服务器,请添加以下内容:
resolv-retry 60
Run Code Online (Sandbox Code Playgroud)
60 参数告诉 OpenVPN 客户端尝试解析每个远程 DNS 名称 60 秒,然后再转到列表中的下一个服务器。
服务器列表还可以引用在同一台计算机上运行的多个 OpenVPN 服务器守护程序,每个守护程序侦听不同端口上的连接,例如:
remote smp-server1.mydomain 8000
remote smp-server1.mydomain 8001
remote smp-server2.mydomain 8000
remote smp-server2.mydomain 8001
Run Code Online (Sandbox Code Playgroud)
如果您的服务器是多处理器计算机,则从性能角度来看,在每台服务器上运行多个 OpenVPN 守护程序可能会很有优势。
OpenVPN 还支持引用 DNS 名称的远程指令,该名称在域的区域配置中具有多个 A 记录。在这种情况下,每次域名解析时,OpenVPN 客户端都会随机选择一条 A 记录。服务器
在服务器上进行负载平衡/故障转移配置的最简单方法是在群集中的每台服务器上使用等效的配置文件,但为每台服务器使用不同的虚拟 IP 地址池除外。例如:
服务器1
server 10.8.0.0 255.255.255.0
Run Code Online (Sandbox Code Playgroud)
服务器2
server 10.8.1.0 255.255.255.0
Run Code Online (Sandbox Code Playgroud)
服务器3
server 10.8.2.0 255.255.255.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5111 次 |
| 最近记录: |