V2EX 19小时前
[宽带症候群] 复杂组网软件 Softether VPN 集群方法
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文详细介绍了 SoftEther 集群模式的配置方法和实践经验。文章通过拓扑图展示了集群的搭建方式,并重点阐述了集群控制器与成员服务器的职责划分。实验证明,SoftEther 集群模式能够实现客户端连接的高可用性,即使成员服务器宕机,客户端也能自动切换到其他正常运行的成员服务器。文章还探讨了在单公网 IP 环境下的集群部署方案,以及集群模式下 Hub 的创建和管理方式,并指出了集群控制器单点故障的局限性。

📦 SoftEther 集群模式通过配置一个集群控制器和多个成员服务器,实现了 VPN 连接的容灾和冗余。当客户端连接的成员服务器发生故障时,客户端能够自动重新连接到集群控制器并获取可用的成员服务器地址,保证了 VPN 服务的不间断性。

🌐 在只有一个公网 IP 的情况下,实现 SoftEther 集群高可用需要路由器进行端口映射。集群控制器可随意映射端口,但成员服务器需一对一端口映射且端口不重复,确保客户端能正确连接到成员服务器。

⚙️ 集群模式下,Hub 的创建和管理必须在集群服务器上进行。静态 Hub 会在所有成员服务器上创建,支持桥接;动态 Hub 则在客户端连接时动态创建,不支持桥接,且使用 SecureNat 时仅支持 DHCP 功能,不支持 NAT。

⚠️ SoftEther 集群功能目前只支持一个集群控制器,这意味着集群控制器本身存在单点故障的风险,一旦控制器宕机,将无法实现容灾和负载均衡。

上星期五摸鱼没什么事做研究了一下 softether 的集群模式,网络上面搜索看了看也没有找到使用 softether 的集群教程。翻阅了官方的文档和手动配置看看做了如下实验本想当天发的奈何懒癌发作拖到今天摸鱼才想写一下,由于实验环境已经删掉了就直接写了。
拓扑图如下

softether1-4 为集群,softerher1 为集群控制器不承担提供会话服务,如图所示


softether2-4 为成员服务器,右边的 softether 为客户端,左边的 VPC7 和右边的 VPC8 为同一网段的主机手动设置 IP 为 192.168.1.100 和 192.168.1.200 。Softether2-4 的 eth7 端口和交换机连接,eth7 均和内置的 VPNhub 进行直接桥接,右边的 softether 相同。最终实现的效果可以达到 VPC7 和 VPC8 同一网段互访不间断,不管哪一个成员服务器挂掉都会自动连接到其余的正常成员服务器上。

配置就不在做了,全部是图形界面配置。简单说一下结论。
1 、全部 softether1-4 接口均配置为公网的情况下,客户端连接目的地址为集群控制器的地址,连接开始后客户端发送数据给集群控制器,集群控制器会从成员服务器中挑选一个成员地址返回给客户端侧去链接,该地址和端口为成员服务器手动配置的如图


由成员服务器主动上报。此时就实现了集群容灾和冗余,当客户端已连接的成员服务器挂掉时,此时客户端会重新和集群服务器建立请求拿到新的成员服务器地址后再和新的成员地址建立链接保证 vpn 的高可用

2 、在只有一个公网 IP 模式下时想做集群高可用需要路由器做端口映射
例如 softer1 集群控制器地址 110.110.110.1 端口 5555 ,需要再路由器上面做端口映射。此时由于 softether1 并不承担 vpn 会话功能所以此端口可以随意映射。但是成员服务器必须一对一端口映射且成员端口不能重复,如 softether2 110.110.110.2 2222 就要映射成 公网 x.x.x.x 端口 2222 ,softether3 110.110.110.3 3333 就要映射成 公网 x.x.x.x 端口 3333 保证客户端在拿到链接地址和端口后能正常链接。
此时 softether2-4 在集群设置中的公网 IP 地址均需要配置成一样的就是你的公网 IP ,端口列表需要配置不同的,保证成员使用的不同的端口来做区分。这时客户端连接的就是你的公网 IP+2222 端口或者公网 IP+3333 端口这种。

3 、在做了集群后 hub 的创建和管理均需要在集群服务器上面进行操作,成员服务器模式下是无法进行操作的。做了集群后 hub 的创建会有 2 种模式如下图

一个是静态 hub 一个是动态 hub ,区别是静态 hub 创建后会在所有成员服务器上面存在,此时进行桥接操作是没有问题的。而动态 hub 是只有当客户端进行连接后此时才会在链接的成员服务器上面进行自动创建,由于是动态创建所以桥接的设置是无法进行的。还有一个区别是当采用动态 hub 的时候使用 securtnat 服务是无法进行 nat 的使用的只能使用 dhcp 功能而无法使用 nat 功能。
最后重要的一点就是集群功能配置的控制器只能有一个,也就是当集群控制器挂掉时就无法容灾和负载均衡了。成员服务器有冗余但是集群控制器是没有冗余的。
还有些没有写清楚的可以提出来讨论

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

SoftEther VPN 集群模式 高可用 容灾
相关文章