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

 

本文详细介绍了SoftEther集群模式的配置和实现过程,旨在解决网络上缺乏相关教程的问题。文章通过实验展示了如何设置集群控制器和成员服务器,并实现了客户端与不同成员服务器之间的无缝切换,确保了VPN服务的高可用性和容灾能力。文中探讨了在单公网IP环境下进行集群配置的端口映射策略,以及集群模式下Hub的创建和管理方式,并指出了集群控制器单点故障的局限性。

🎯 **集群架构与容灾冗余**:SoftEther集群模式下,一个控制器(如Softether1)负责管理多个成员服务器(如Softether2-4)。当客户端连接到集群时,控制器会分配一个成员服务器。若当前成员服务器宕机,客户端会自动重新连接并被分配到其他正常工作的成员服务器,从而实现VPN服务的不间断运行和高可用性。

🌐 **单公网IP下的高可用配置**:在只有一个公网IP的场景下,需要通过路由器进行端口映射来配置SoftEther集群。集群控制器(Softether1)的端口可以任意映射,但成员服务器(Softether2-4)需要一对一、端口不重复地映射到公网IP的不同端口。在集群设置中,成员服务器的公网IP地址应统一配置为该公网IP,而端口列表则需包含各自映射的公网端口,以确保客户端能正确连接。

⚙️ **Hub的创建与管理模式**:集群模式下,Hub的创建和管理必须在集群控制器上进行。创建Hub有两种模式:静态Hub和动态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 集群模式 高可用 容灾
相关文章