单打独斗已成过去,中枢调度才是未来!大家好,我又来更新基于strongSwan的IPsec VPN管理系统了。
在上个版本中(点击即连!最强IPsec VPN管理系统终于能小白式操作了),我们主要增加了对证书认证的支持,并优化了一些配置体验。
在实际使用中,我们不仅需要通过strongSwan建立点对点的安全连接,还会遇到将strongSwan作为VPN网关使用的场景,也就是作为中转网关来使用,实现类似Hub-Spoke的组网(Wireguard配置HUB-SPOKE组网)。今天我们介绍的这个版本,主要就是完善了这个功能。
正常情况下,IKEv1版本不能很好地支持多网段互联,配置复杂,一般需要使用IKEv2进行配置。针对这个问题,我们优化了自动生成多CHILD_SA的配置,实现了IKEv1对多网段的支持,让strongSwan华丽转身为强大的VPN网关!
本文将通过一个三节点互联的实战案例,完整展示如何配置并验证这一重磅新功能。测试环境如下:
1、我准备了三台Ubuntu主机A、B、C,都已经部署了strongSwan管理系统。
2、主机A、主机C均建立和主机B的IPsec连接,并且通过主机B实现互联互通。
3、主机A下连接了10.11.1.0/24网段,主机C下连接了10.44.1.0/24网段,也需要通过主机B实现互通。
好了,了解了组网情况,我们看一下怎么配置。
首先,配置主机A。
一阶段IKE配置部分正常配置,填入主机A和主机B之间的互联地址。
二阶段IPsec配置部分,考虑到配置会以逗号分隔的形式保存,现在同事增加换行和逗号两种分隔方式,并且支持空白行。
创建完成后,IPsec连接列表中,可以正常展示所有已配置的网段数据。同时,在列表下方,增加了获取底层ipsec statusall连接详情的回显数据,方便实时查看SA协商情况。此外,将IPsec连接列表中的流量汇总为了所有SA的流量总和,单个SA的流量数据通过【SA流量详细统计】模块查看。
接下来,我们重点介绍一下主机B、也就是VPN网关的配置。
一阶段IKE配置部分正常配置,填入主机A和主机B之间的互联地址。
二阶段IPsec配置部分,因为VPN网关本身可能没有实际业务,但是配置的网段需要和主机A相对应。也就是说,主机B的网段配置,应该和主机C是一样的。
这样一来,主机B就和主机A协商好了4个SA。照此方式,我们继续配置主机B和主机C之间的IPsec连接,网段配置如下:
主机C连接主机B的网段配置部分如下所示:
这样,主机A和主机C及其下挂的子网就可以通过VPN网关主机B正常通信了。
检查一下主机B的SA信息。
一共8个SA,整整齐齐。
再测试一下主机A和主机C下挂设备之间的联通性。
测试正常,我们再发一些大包增加一些流量。主机A的收发流量数据如下:
主机B各连接的收发流量数据如下:
主机B各连接的收发流量数据如下:
因为ICMP报文的请求响应报文大小都是一样的,所以看到的流量数据都是8.1 MB,这也能说明主机B作为VPN网关,确实是在转发数据。
百尺竿头,更进一步。接下来,我们将所有主机都调整为使用更先进的IKEv2协议,看看协商是否正常。
没有问题,在下面的【SA流量详细统计】中,我们就可以看到已经是使用IKEv2进行协商了。
再次测试一下业务连通性。
主机A到主机B访问正常。
主机A和主机C下挂设备之间互访正常。
检查主机B的SA信息。
可以看到,原生支持就是不一样,SA数量相对就少一些。而且,同样实现了全网互联,比如主机A可以访问主机C下挂的主机,主机A下挂的主机也可以访问主机C。
通过这次实战,我们成功将strongSwan IPsec VPN管理系统从连接器升级为了枢纽站。自动多CHILD_SA生成功能巧妙地弥补了IKEv1的先天不足,对IKEv2的完善支持则展现了面向未来的适应性。现在,这套系统足以担当企业总部网关、云上网络枢纽等关键角色。
你会首先将这项新功能应用在哪个场景?欢迎在评论区分享你的创意!
声明:来自铁军哥,仅代表创作者观点。链接:http://eyangzhen.com/5199.html