实现VPN的方法、系统、设备及程序产品与流程

xiaoxiao4月前  33


本发明涉及通信领域,特别是涉及一种实现vpn的方法、系统、设备及程序产品。


背景技术:

1、目前,容器集群的控制台服务,通常部署在容器引擎提供商的内部账号中,其中,控制台服务由容器集群的容器控制台实现;容器集群的控制台服务与租户购买的容器资源之间的网络是隔离的。为了通过控制台服务对租户购买的容器资源进行管理,租户在购买容器资源时,通常需要使用容器资源中api server(application programming interfaceserver,应用程序编程接口服务),并挂载公网的eip(elastic ip address,弹性ip地址)。这增加了租户的容器资源的安全隐患。例如,现有的kt-connect、telepresence需要开放k8s api server的公网访问能力;而且,每当新增一个租户或用户建立隧道时,需要在对应命名空间下创建一个pod用于转发流量,这增加了资源的消耗。


技术实现思路

1、针对现有技术的上述问题,本发明的实施例提供了一种实现vpn的方法、系统、设备及程序产品,基于websocket和tun设备实现vpn,打通了k8s集群和本地的互访。

2、为了实现上述目的,一方面,提供了一种实现vpn的方法,基于websocket和tun设备实现vpn,包括:

3、在k8s集群建立所述vpn的websocket服务端wtvs及在要访问k8s集群资源的用户端建立所述vpn的websocket客户端wtvc;

4、在所述wtvs端执行如下步骤:

5、配置默认连接密钥;

6、创建tun网卡、绑定ip并开启nat转发及ip转发;

7、获取自身pod的网卡ip,并配置所述k8s集群中各个k8s节点,以将所述wtvs端管理的vpn网段指向wtvs pod的网卡ip;

8、监听预先指定的端口,等待所述wtvc端的连接请求;

9、在所述wtvc端执行如下步骤:

10、通过预先配置的所述wtvs暴露的域名和预先配置的连接密钥建立与wtvs的连接;

11、等待下发的tun网卡ip地址、mtu和路由信息;

12、创建tun网卡、绑定所述下发的tun网卡ip地址、并根据所述下发的mtu和路由信息来配置所述wtvc端的mtu和路由信息;

13、在所述wtvs端和所述wtvc端实现互通。

14、优选地,所述的方法,还包括:

15、在所述k8s集群,ingress根据预先配置的域名升级websocket连接,并将所述连接转发给所述wtvs端。

16、优选地,所述的方法,还包括:

17、在所述k8s集群的ingress中配置证书。

18、优选地,所述的方法,还包括:

19、当所述wtvs端的pod重新部署时,同步路由信息。

20、优选地,所述的方法,所述下发的tun网卡ip地址包括:所述k8s集群的网络段和服务的网络段。

21、另一方面,提供了一种实现vpn的系统,包括:在k8s集群建立所述vpn的websocket服务端wtvs及在要访问k8s集群资源的用户端建立所述vpn的websocket客户端wtvc;所述wtvs和所述wtvs用于实现上文任一项所述的实现vpn的方法。

22、又一方面,提供了一种k8s集群系统,包括:在所述k8s集群中建立用于实现上文任一所述的实现vpn的方法的vpn的websocket服务端wtvs。

23、又一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有至少一段程序,所述至少一段程序由所述处理器执行以实现如上文任一所述的实现vpn的方法中所述的vpn的websocket客户端wtvc。

24、又一方面,提供了一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上文任一所述的方法的步骤。

25、上述技术方案具有如下技术效果:

26、使用本发明实施例的技术方案,基于websocket和tun设备实现了vpn,通过在k8s集群建立vpn的服务端wtvs及在要访问k8s集群资源的用户端建立vpn的客户端wtvc,不需要k8s api server的公网访问能力;新用户连接到vpn时新增一个连接,不需要再创建单独的pod;且,k8s集群内pod服务可以直接访问分配给客户端如企业内部的研发部门或研发人员vpn ip,实现双向互通,特别有助于研发的联调工作。



技术特征:

1.一种实现vpn的方法,其特征在于,基于websocket和tun设备实现vpn,包括:

2.根据权利要求1所述的方法,其特征在于,还包括:

3.根据权利要求1所述的方法,其特征在于,还包括:

4.根据权利要求1所述的方法,其特征在于,还包括:

5.根据权利要求1所述的方法,其特征在于,所述下发的tun网卡ip地址包括:所述k8s集群的网络段和服务的网络段。

6.一种实现vpn的系统,其特征在于,包括:在k8s集群建立所述vpn的websocket服务端wtvs及在要访问k8s集群资源的用户端建立所述vpn的websocket客户端wtvc;所述wtvs和所述wtvs用于实现权利要求1-5中任一项所述的实现vpn的方法。

7.一种k8s集群系统,其特征在于,在所述k8s集群中建立用于实现权利要求1-5中任一项所述的实现vpn的方法的vpn的websocket服务端wtvs。

8.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有至少一段程序,所述至少一段程序由所述处理器执行以实现如权利要求1至5任一所述的实现vpn的方法中所述的vpn的websocket客户端wtvc。

9.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一所述的方法的步骤。


技术总结
本发明提供了一种实现VPN的方法、系统、设备及程序产品,其基于websocket和tun设备实现VPN,包括:在k8s集群建立VPN的服务端wtvs及在要访问k8s集群资源的用户端建立VPN的客户端wtvc;在wtvs端:配置默认连接密钥;创建tun网卡、绑定IP并开启nat转发及IP转发;获取自身pod的网卡IP,并配置各个k8s节点,以将wtvs端管理的VPN网段指向wtvs pod的网卡IP;监听预先指定的端口,等待wtvc端的连接请求;在wtvc端:通过wtvs暴露的域名和连接密钥建立与wtvs的连接;等待下发的tun网卡IP地址、mtu和路由信息;创建tun网卡、绑定tun网卡IP地址、并根据下发的mtu和路由信息来配置wtvc端的mtu和路由信息;在wtvs端和wtvc端实现互通。利用上述技术方案,实现了k8s集群和本地的互通。

技术研发人员:洪诗伟
受保护的技术使用者:厦门星纵物联科技有限公司
技术研发日:
技术公布日:2024/9/23

最新回复(0)