CN104753752B - 一种适用于vpn的按需连接方法 - Google Patents
一种适用于vpn的按需连接方法 Download PDFInfo
- Publication number
- CN104753752B CN104753752B CN201310746565.XA CN201310746565A CN104753752B CN 104753752 B CN104753752 B CN 104753752B CN 201310746565 A CN201310746565 A CN 201310746565A CN 104753752 B CN104753752 B CN 104753752B
- Authority
- CN
- China
- Prior art keywords
- vpn
- tunnel
- data packet
- demand
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种适用于VPN的按需连接方法,该方法利用在终端建立识别规则,并以此来匹配需要通过VPN加密传输的数据;再根据匹配的结果来确定是否建立传输隧道并确定数据传输的途径。该方法可以在有数据传输需要时,自动唤醒VPN客户端,隧道连接断开后,再次有数据传输发起时,自动创建新的隧道连接,进行新的数据传输,实现完整的按需连接。
Description
技术领域
本发明涉及网络安全技术,具体涉及虚拟专用网络的隧道连接建立方式。
背景技术
现有的多种VPN实现方式,如SSL VPN、IPSec VPN、MPLS VPN、L2TP VPN、PPTP VPN,用户获得虚拟专用网络中的服务之前,均需要手动打开VPN客户端,输入VPN服务端IP地址、端口等信息才能进行专有数据传输。隧道的第一次连接建立过程需要用户参与,费时、复杂,用户的目的为了进行稳定、安全、快速的数据传输,繁琐的连接建立过程,降低了用户体验。
包括SSL VPN在内的其他VPN实现方式,支持在一段时间内没有数据包传输隧道自动断开,但并不能在隧道断开后,需要传输数据时进行隧道的自动建立。连接断开后的第二次及以后的连接建立,IPSec VPN已经实现了按需连接,但其修改协议栈的实现方式给系统的稳定性、安全性带来了风险。L2TP、PPTP等拨号VPN也支持按需连接功能。
为了保证数据业务流在虚拟专用网中的传输实时性,一般会使得已经建立的连接在闲时也不断开,即保持长连接。为了维系长连接,VPN的心跳保持机制会不断发送控制报文,对于带宽紧张、资源稀缺的网络环境如2G、3G,心跳报文会占用可观的资源,在没有实际数据传输的情况下,不断发送的心跳报文对于资源有限的嵌入式终端的网络流量、耗电量都造成了很大的压力。
发明内容
本发明针对现有VPN技术中用户需主动打开VPN客户端建立连接的繁琐性、维持长连接的心跳报文带来的嵌入式终端网络流量、耗电量浪费的问题,提出一种适用于VPN的按需连接方法,该方法可以在有数据传输需要时,自动唤醒VPN客户端,隧道连接断开后,再次有数据传输发起时,自动创建新的隧道连接,进行新的数据传输,实现完整的按需连接。
为了达到上述目的,本发明采用如下的技术方案:
一种适用于VPN的按需连接方法,该方法包括如下步骤:
(1)终端建立识别规则,匹配需要通过VPN加密传输的数据;
(2)若匹配识别规则且识别规则有效,则将敏感数据包置入队列,发送至用户空间并阻塞,等待处理;若匹配识别规则而识别规则无效,则直接将数据包投递至隧道;若不匹配识别规则,则放行;
(3)将敏感数据包置入队列后,建立隧道,添加路由规则,将存于用户空间的数据包返回至内核,最终通过隧道传送至VPN服务端;
(4)建立隧道后,失效识别规则,使后续的敏感数据包直接使用隧道传输,不再进入队列处理;
(5)一段时间无数据包传输后,隧道连接断开,恢复识别规则,重新匹配加密数据,准备下一次按需连接的处理。
在具体实现时,本发明中的终端设备可以采用电脑、手机、平板电脑或PDA,但不限于此。
本发明中的VPN技术实现方式可以采用SSL VPN、IPSEC VPN、MPLS VPN、L2TP VPN、PPTP VPN等,但不限于此。
根据上述方案得到的本发明与现有技术相比具有以下优势:
1.有数据连接需要时,终端能根据已有设置自动唤醒VPN客户端,进行连接,且在连接断开后又能自动按需建立连接,取消了用户主动打开VPN客户端的繁琐过程,极大的改善了用户体验;
2.按需连接取代了长连接,可以减轻VPN维持长连接需要的心跳报文传输带来的不必要的网络负载,还可以减少资源有限的嵌入式终端的网络流量、耗电量等,改善用户体验。
3.对于资源有限的嵌入式终端,按需进行隧道连接,节省了嵌入式终端的网络流量、耗电量,缓解了网络带宽压力。
4.相较于IPSec VPN等其它VPN实现方式,本发明方案应用范围之广,进一步完善其按需连接的功能显得极为重要。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1为VPN按需连接网络拓扑图;
图2为VPN按需连接数据包处理路径图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
参见图1,其所示为一种可实现VPN按需连接的网络拓扑图。整个网络主要包括终端(安装有VPN客户端软件,即VPN客户端)、无线AP、2G/3G基站、VPN服务器这几部分,其中终端使用无线AP或2G/3G基站提供的无线WiFi/有线以太网或者2G/3G数据网络接入因特网,再通过连因特网访问至VPN服务器。
对于其中的终端可以采用安装相关VPN客户端的电脑、手机、平板电脑或PDA,但不限于此。
同时,对于终端与VPN服务器之间的VPN技术的实现方式可以采用SSL VPN、IPSECVPN、MPLS VPN、L2TP VPN、PPTP VPN等,但不限于此。
针对上述方案形成的VPN网络,其进行按需连接的过程如下(参见图2):
(1)在终端上打开用户态队列进程,根据需要加密数据包特征,配置并建立识别规则,匹配需要通过VPN加密传输的数据;
(2)终端发起数据请求,数据包发出之前流入识别规则并进行判断,若匹配规则并且规则有效,则将敏感数据包置入队列,发送至用户空间进程并阻塞,等待处理;若匹配规则而规则无效,则表明VPN隧道已经建立,则直接将数据包放行,通过路由模块发送至隧道;若不匹配规则,则为与VPN无关数据包,直接放行;
(3)若匹配规则并且规则有效,则表示VPN连接已断开,建立VPN隧道,添加路由规则,将存于用户空间的数据包重新返回至内核,通过路由规则发送至隧道并最终传送至VPN服务端(即VPN服务器);
(4)建立VPN隧道后,失效识别规则(即使得识别规则无效),使后续的敏感数据包直接投递至隧道,不再进入队列处理;
(5)一段时间无数据包传输后,隧道连接断开,恢复识别规则(即使得识别规则有效),重新匹配加密数据,准备下一次按需连接的处理。
对于该步骤中在一段时间内无数据包传输后,隧道连接断开,其的具体时间值可根据实际需求而定。
以下通过一具体的应用实例来进一步说明本发明。
本实例基于Linux操作系统实现VPN按需连接(即在Linux操作系统环境下,实现有数据传输需要时,自动唤醒VPN客户端,隧道连接断开后,再次有数据传输发起时,自动创建新的隧道连接,进行新的数据传输,实现完整的按需连接),其具体实现过程如下:
(1)利用iptables命令,配置数据包识别规则,拦截数据包并决定数据包的去向。
这里需要VPN加密数据的数据包特征包括:
A.具有VPN服务端目的IP地址、VPN服务目的端口的TCP连接SYN请求包(若VPN隧道通过TCP连接)。
B.具有目的IP地址为VPN服务器提供的多种应用服务器所在私有网段的地址。
(2)使用iptables的condition模块标识识别规则是否为有效的状态。
如“iptables-t mangle-A PREROUTING-d192.168.1.1/32-m condition--condition"vpn"-j QUEUE”中表示:
目的IP地址为192.168.1.1的数据包为需要加密的数据,当且仅当“vpn”这个condition变量值为1的时候,该数据包才会去排队进入用户空间进程,否则就直接匹配下一条规则,不会被排队。
故当VPN连接断开时,需设置“vpn”变量为1,数据包才会排队进入用户态,触发用户进程建立隧道;当VPN隧道成功建立时,需设置“vpn”变量为0,需要加密的数据即使匹配到了,也会被放行,而直接路由至隧道传送。
(3)用户态进程利用libipq用户空间数据包排队库读取被放入队列的数据包,并进行隧道建立,修改识别规则状态等操作。
当队列中进入数据包时,表明有加密数据需要传送,但隧道仍未建立。此时用户态进程收到通知,开启VPN客户端,建立隧道,添加路由规则;在隧道建立成功后,用户态进程修改“vpn”变量值为“0”,使得后续敏感数据包可直接通过隧道传送。
隧道断开连接后,再次修改“vpn”变量值为“1”,使得下一次需要传送的数据包进入队列,进行下一次的按需连接操作。
(4)使用killall命令给用户态进程发送信号,通知隧道建立完毕,将阻塞在用户空间的数据包重新注入内核,进行隧道传送。
如“killall-SIGUSR1queue”中表示:
若用户态进程名为“queue”,在隧道建立完毕后发送信号“SIGUSR1”到“queue”进程,“queue”进程采集到该信号,将数据包重新注入至内核。
该实例中所使用的命令库工具基于Linux系统,目的在于更清楚说明实施过程,对于相关的操作系统包括基于Linux平台的Ubuntu、Centos、Fedora等,但不仅限于此。命令库工具包括iptables、libipq、killall等,但不仅限于此。命令库工具含义如下:
Iptables:防火墙配置的用户接口程序,用于在用户空间配置存在于内核空间的防火墙规则。
Libipq:iptables用户空间数据包排队开发库,为数据包从内核空间传送至用户空间提供通道,为在数据包发出之前在用户空间进行操作提供了可能。
Killall:Linux命令,用于发送指定信号到目的进程,通常用于杀死进程,也可个性化定制信号处理方式。
由该实例可知,本发明在有加密数据传输需要时,终端自动唤醒VPN客户端,建立隧道连接传输数据报,不需要数据传输时断开连接,并准备下次连接,取消了用户主动打开VPN客户端的繁琐过程,改善了用户体验。减少了VPN维持长连接需要的心跳报文传输,减轻了网络负载。进一步的,对于资源有限的嵌入式终端设备,按需进行隧道连接,节省了嵌入式终端的网络流量、耗电量,缓解了网络带宽压力。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (3)
1.一种适用于VPN的按需连接方法,其特征在于,所述方法包括如下步骤:
(1)终端建立识别规则,匹配需要通过VPN加密传输的数据;
(2)若匹配识别规则且识别规则有效,则将敏感数据包置入队列,发送至用户空间并阻塞,等待处理;若匹配识别规则而识别规则无效,则直接将数据包投递至隧道;若不匹配识别规则,则放行;
(3)将敏感数据包置入队列后,建立隧道,添加路由规则,将存于用户空间的数据包返回至内核,最终通过隧道传送至VPN服务端;
(4)建立隧道后,失效识别规则,使后续的敏感数据包直接使用隧道传输,不再进入队列处理;
(5)一段时间无数据包传输后,隧道连接断开,恢复识别规则,重新匹配加密数据,准备下一次按需连接的处理。
2.根据权利要求1所述的一种适用于VPN的按需连接方法,其特征在于,所述终端为电脑、手机、平板电脑或PDA。
3.根据权利要求1或2所述的一种适用于VPN的按需连接方法,其特征在于,所述VPN为由SSL VPN、IPSEC VPN、MPLS VPN、L2TP VPN或PPTP VPN实现方式实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746565.XA CN104753752B (zh) | 2013-12-30 | 2013-12-30 | 一种适用于vpn的按需连接方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746565.XA CN104753752B (zh) | 2013-12-30 | 2013-12-30 | 一种适用于vpn的按需连接方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104753752A CN104753752A (zh) | 2015-07-01 |
CN104753752B true CN104753752B (zh) | 2019-05-07 |
Family
ID=53592896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310746565.XA Active CN104753752B (zh) | 2013-12-30 | 2013-12-30 | 一种适用于vpn的按需连接方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104753752B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105939308B (zh) * | 2015-07-27 | 2018-11-27 | 杭州迪普科技股份有限公司 | 报文的处理方法和装置 |
US10142293B2 (en) | 2015-12-15 | 2018-11-27 | International Business Machines Corporation | Dynamically defined virtual private network tunnels in hybrid cloud environments |
CN107026783B (zh) * | 2016-01-31 | 2019-12-13 | 格尔软件股份有限公司 | 一种适用于虚拟专用网络的快速重连方法 |
CN105808287B (zh) | 2016-02-25 | 2019-06-18 | 网宿科技股份有限公司 | 一种重启网络服务的方法及系统 |
CN107223324B (zh) * | 2016-11-15 | 2020-08-11 | 深圳达闼科技控股有限公司 | 一种vpn开关的控制方法、装置及移动终端 |
CN106888145B (zh) * | 2017-03-17 | 2019-11-12 | 新华三技术有限公司 | 一种vpn资源访问方法及装置 |
CN107968726B (zh) * | 2017-11-29 | 2021-03-16 | 重庆小目科技有限责任公司 | 一种用于电力系统的设备网络管理方法 |
CN108848197B (zh) * | 2018-09-19 | 2021-06-08 | 江苏瑞中数据股份有限公司 | 一种文件传输的方法与系统 |
CN109587028B (zh) * | 2018-11-29 | 2021-11-26 | 麒麟合盛网络技术股份有限公司 | 一种控制客户端流量的方法和装置 |
CN112671776A (zh) * | 2020-12-25 | 2021-04-16 | 北京金万维科技有限公司 | 一种基于vpn移动端数据的转发方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949705A (zh) * | 2005-10-14 | 2007-04-18 | 上海贝尔阿尔卡特股份有限公司 | 一种用于安全访问专用局域网的动态隧道构建方法及用于该方法的装置 |
CN1988465A (zh) * | 2005-12-23 | 2007-06-27 | 上海冰峰计算机网络技术有限公司 | 动态ip网络vpn管理与监控的方法 |
CN101411189A (zh) * | 2006-01-26 | 2009-04-15 | 索尼株式会社 | 用于向用户提供样片和经编辑的视频的方法和系统 |
CN103051532A (zh) * | 2012-12-20 | 2013-04-17 | 深信服网络科技(深圳)有限公司 | 路由方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60322988D1 (de) * | 2002-01-28 | 2008-10-02 | Hughes Network Systems Llc | Verfahren und Vorrichtung zur Integration von Funktionen zur Leistungsverbesserung in einem virtuellen Privatnetzwerk (VPN) |
US8787303B2 (en) * | 2010-10-05 | 2014-07-22 | Cisco Technology, Inc. | Methods and apparatus for data traffic offloading at a router |
-
2013
- 2013-12-30 CN CN201310746565.XA patent/CN104753752B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949705A (zh) * | 2005-10-14 | 2007-04-18 | 上海贝尔阿尔卡特股份有限公司 | 一种用于安全访问专用局域网的动态隧道构建方法及用于该方法的装置 |
CN1988465A (zh) * | 2005-12-23 | 2007-06-27 | 上海冰峰计算机网络技术有限公司 | 动态ip网络vpn管理与监控的方法 |
CN101411189A (zh) * | 2006-01-26 | 2009-04-15 | 索尼株式会社 | 用于向用户提供样片和经编辑的视频的方法和系统 |
CN103051532A (zh) * | 2012-12-20 | 2013-04-17 | 深信服网络科技(深圳)有限公司 | 路由方法及装置 |
Non-Patent Citations (1)
Title |
---|
《Windows下零配置策略路由PPTP VPN客户端设计与实现》;沈健;《电脑编程技巧与维护》;20130930(第18期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN104753752A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104753752B (zh) | 一种适用于vpn的按需连接方法 | |
CN107026764B (zh) | 一种远程调试方法、设备、服务器及系统 | |
WO2017036248A1 (zh) | 一种数据传输方法、装置及系统 | |
US20210314214A1 (en) | IPSEC Acceleration Method, Apparatus, and System | |
KR20140135000A (ko) | 소프트웨어정의네트워킹 기반 통신시스템의 서비스 처리 방법 및 장치 | |
CN111431787B (zh) | 一种隧道建立方法、装置及计算机可读存储介质 | |
US10237903B2 (en) | Remote maintenance system | |
JP2016536814A (ja) | 専用ベアラを用いるローカルandsfサーバへのアクセス | |
CN113766019A (zh) | 基于云端以及边缘计算相结合的物联网系统 | |
CN103108037A (zh) | 一种通信方法,Web服务器及Web通信系统 | |
CN109587074B (zh) | 报文处理方法、装置、存储介质及处理器 | |
CN104301449A (zh) | 一种修改ip地址的方法和装置 | |
CN103236976A (zh) | 一种POS机Wi-Fi与以太网共存的多路由机制 | |
CN110557785A (zh) | 一种基于mec的数据分流方法及装置 | |
JP2024086933A (ja) | 中継方法、中継システム、及び中継用プログラム | |
CN107528923B (zh) | 一种网络适配器的数据传输方法及网络适配器 | |
CN110022374A (zh) | 基于物联网的网络连接方法、装置、通信设备及存储介质 | |
KR101541348B1 (ko) | Gtp 네트워크 기반 세션 관리 방법 및 장치 | |
CN102710495B (zh) | 一种监控网络用户主机建立路由信息的方法及装置 | |
CN103001966B (zh) | 一种私网ip的处理、识别方法及装置 | |
CN102655474A (zh) | 一种跨设备的流量类型识别方法、设备及系统 | |
CN102833791A (zh) | 一种无线网络控制器分组域内容缓存系统及其实现方法 | |
CN101989987B (zh) | 安全终端仿真协议监控时实现加密文件传输和跟踪的方法 | |
CN103401751A (zh) | 因特网安全协议隧道建立方法和装置 | |
CN103023763B (zh) | 通信中继装置、数据处理系统以及通信中继方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 200436 Room 601, Lane 299, Lane 299, JIANGCHANG West Road, Jingan District, Shanghai Applicant after: Geer software Limited by Share Ltd Address before: 200070 B, 501E, 199 JIANGCHANG West Road, Zhabei District, Shanghai. Applicant before: Geer Software Co., Ltd., Shanghai |
|
GR01 | Patent grant | ||
GR01 | Patent grant |