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

 

本文详细介绍了SoftEther集群模式的配置过程和实践经验。作者通过实验搭建了由一个控制器和多个成员服务器组成的集群,实现了客户端在高可用性下的VPN连接。文章阐述了在不同网络环境下(如单公网IP),如何通过路由器端口映射来保证集群的正常运行。同时,也指出了集群模式下Hub的创建方式(静态与动态Hub)及其对桥接和SecureNAT功能的影响,并强调了集群控制器单点故障的问题,为读者提供了宝贵的实践参考。

🌐 SoftEther 集群模式通过控制器和成员服务器的协同工作,实现了VPN连接的高可用性和容灾能力。当客户端连接的成员服务器发生故障时,客户端能够自动切换到其他正常运行的成员服务器,保证服务不中断。

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

⚙️ 集群模式下Hub的管理需要在集群控制器上进行。静态Hub会在所有成员服务器上创建并存在,支持桥接操作;动态Hub则在客户端连接时才在成员服务器上创建,不支持桥接,并且使用动态Hub时SecureNAT功能受限,只能使用DHCP。

⚠️ 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 集群 高可用 容灾
相关文章