一种利用IPSec将网络路由扩展到远程网络的方法及装置的制作方法

文档序号:7653037阅读:149来源:国知局
专利名称:一种利用IPSec将网络路由扩展到远程网络的方法及装置的制作方法
技术领域
本发明是一种利用IPSec将网络路由扩展到远程网络的方法及装置,属于网络信息安全技术领域。
背景技术
路由器是具有多个网络接口的计算机系统,从网络中接收到数据包,根据数据包源、目的进行路由表查找,并对查找成功的数据包进行转发。现在企业和政府都在不同的地区有大大小小的分支机构,这些分支机构都拥有自己的局域网络。但是这些网络都是分散的,需要互联互通。因为这些局域网络的地址都是私有地址,不能通过Internet进行路由,所以依靠路由器无法实现互联互通。(参见图1)IPSec协议为IP的安全设计了框架与标准。IPSec虚拟专用网络(VPN)是目前实现该种互联互通普遍采用的一项技术。通过在各个分支机构的网络边界增加安全网关,安全网关根据安全策略将需要到达远程网络的数据进行加密,并发送到远程网络。其中安全策略是用户在安全网关上添加的静态配置。(参见图2)但该种方法存在以下缺陷1、局域网的路由到达边界安全网关后就不能继续进行了,边界安全网关只能根据安全策略对网络数据包进行处理。
2、动态路由协议只能在单个局域网中运行,虽然实现了各个网络的互联互通,但是无法在连通后组成的大局域网中运行统一的动态路由管理协议。

发明内容
本发明正是针对现有技术中存在的缺陷而提出了一种利用IPSec将网络路由扩展到远程网络的方法及装置,本发明技术方案的目的有两个,一个是提供一种利用IPSec将网络路由扩展到远程网络的方法,该方法实现了利用IPSec将网络路由扩展到远程网络的目的。使各个分支机构的网络能够互相路由,并能够实施统一的路由管理策略,运行统一管理的路由协议。另一个目的是提供一种适用于上述利用IPSec将网络路由扩展到远程网络方法的装置,该装置可以通过维护支持IPSec远程互联的路由表,在对数据包进行路由后直接得到通往远程网络的接口。
本发明的目的是通过以下措施来实现的该种利用IPSec将网络路由扩展到远程网络方法,通过扩展安全网关的路由表,在网络系统中增加了隧道虚拟网络接口,接口支持隧道索引(ID)选项和隧道状态选项。根据路由选择的隧道虚拟网络接口得到隧道索引(ID),根据隧道索引(ID)得到安全联盟。进行加密封装处理。
本发明扩展了IKE隧道配置与安全联盟,在IKE隧道配置中与安全联盟中增加了隧道索引(ID)选项。当此隧道经过成功密钥协商之后,要使用PF_KEY内核接口添加安全联盟。在PF_KEY消息中同时传递IKE隧道中的隧道索引(ID)。内核收到PF_KEY消息后,分配安全联盟存储空间,并根据隧道索引(ID)将安全联盟加入到索引中去。这样当网络访问数据通过路由表到达隧道虚拟网络接口时,就可以根据隧道索引(ID)查找到安全联盟进行加密了。
IKE协商过程包括IPSec策略的协商。在IKE协商中的安全策略协商使用任意地址间通信的安全策略进行协商。
该种利用IPSec将网络路由扩展到远程网络的方法,其步骤分为配置和数据包处理两个过程,其中配置过程的步骤是(1)在IPSEC虚拟专用网络(VPN)隧道的配置中增加隧道的索引(ID);(2)在网络系统中创建一种隧道类型的虚拟网络接口,并在虚拟网络接口的属性中增加隧道索引(ID)选项和隧道状态选项,隧道状态选项表示此隧道相关的安全联盟是否已经存在,并将虚拟网络接口的隧道状态选项设置为“准备”;(3)在网络系统的路由表中添加一个路由表项,路由表项的目的地址是远程网络,路由表项的接口是隧道虚拟网络接口;数据包处理过程的步骤是(4)网络访问数据包到达安全网关时,使用路由表进行查找,如果路由查找结果是隧道虚拟网络接口,隧道虚拟网络接口对数据包不作IPSec的策略检查,而是检查隧道虚拟网络接口的隧道状态选项,以下的处理方式分为两种[4-1]如果隧道虚拟网络接口的隧道状态选项处于“准备”状态,向密钥交换进程发送安全联盟请求消息,该消息中应包含隧道虚拟网络接口的隧道索引(ID)选项;[4-2]如果隧道虚拟网络接口的隧道状态是“就绪”,根据隧道虚拟网络接口的隧道索引(ID)选项,在安全联盟数据库中查找安全联盟,此时处理方式也分为以下两种[4-2-1]如果安全联盟不存在,将虚接口的状态设置为“准备”,并向密钥交换进程发送安全联盟请求消息;[4-2-2]如果安全联盟存在,就对网络数据进行加密,然后将加密包发送到远程安全网关,由此建立一条链路可以路由到达远程网络;(5)接上[4-2-2]步骤,远程安全网关收到加密包时,根据加密包的安全参数索引查找到安全联盟进行解密,根据解密使用的安全联盟得到隧道索引(ID),然后根据隧道索引(ID)找到隧道虚拟网络接口,网络系统将解密后的数据包重新注入协议栈,注入的接口使用这个隧道虚拟网络接口,网络系统根据目的地址对此数据包进行路由,使用连接内部网络的物理网口将网络数据包发送到内部网络,完成数据包传输过程;(6)接上[4-2-1]步骤,密钥交换进程收到安全联盟请求后,开始发起IKE协商,因为隧道虚拟网络接口是通向远程网络的接口,所以进行策略协商时,采用任意地址到任意地址的策略进行协商,通过本地与远程IKE密钥交换,协商出一致的安全联盟,向网络系统加载安全联盟,网络系统分配安全联盟存储空间,并根据隧道索引将安全联盟加入安全联盟数据库;(7)网络系统收到安全联盟消息后,判断这个隧道索引(ID)是否和隧道虚拟网络接口的隧道索引(ID)一样,如果是,将这个隧道虚接口的隧道状态设置为“就绪”。
一种适用于上述在安全网关中进行安全策略统一处理的方法的装置,它包括数据包接收模块、网络路由模块、安全联盟管理模块、数据加解密模块和数据包转发模块,其特征在于该装置还包括一个隧道虚拟网络接口模块,该模块在流程中得到隧道索引(ID),然后将隧道索引(ID)作为参数将数据包传递给安全联盟模块进行处理,该模块的数据流前端连接于网络路由模块,数据流后端同时连接于安全联盟管理模块。


图1是现有技术中网络系统的数据处理流程2是现有技术中VPN系统的数据处理流程图3是本发明技术方案的应用的整体拓朴4是本发明技术方案中数据包处理的计算机软件的流程5是本发明技术方案中密钥交换进程的计算机软件的流程6是本发明技术方案装置的结构示意图具体实施方式
以下将结合附图和实施例对本发明技术方案作进一步地详述参见附图3所示,建立一个从北京到上海的虚拟专用网络,该网络是由北京局域网络1、北京安全网关设备2、上海安全网关设备3、上海局域网络4、北京交换机5和上海交换机6组成并联接。以北京安全网关设备2作为发送端,以上海安全网关设备3作为接收端。北京局域网络1的IP地址是192.168.1.0/24,北京安全网关设备2的IP地址是211.218.85.1,上海安全网关设备3的IP地址是219.202.2.1,上海局域网络4的IP地址是192.168.2.0/24。
北京安全网关设备和上海安全网关设备都是由包含多个网卡的计算机设备、其中运行了支持网络转发、IPSEC加解密处理的操作系统。并在操作系统中安装实现本发明技术方案所需要的计算机程序文件,该计算机程序的流程如附图4~6所示。
上述系统在工作中,采用本发明技术方案所述的利用IPSec将网络路由扩展到远程网络的方法,该方法的步骤分为配置和数据包处理两个过程,其中配置过程的步骤是(1)增加VPN隧道,源地址是211.218.85.1,目的地址是219.202.2.1,算法采用3DES和SHA1,密钥生存期是1800秒,在IPSEC虚拟专用网络(VPN)隧道的配置中增加隧道的索引(ID),此隧道的配置中的隧道的索引(ID)是1001;(2)在网络系统中创建一种隧道类型的虚拟网络接口,并在虚拟网络接口的属性中增加隧道索引(ID)选项和隧道状态选项,隧道状态选项表示此隧道相关的安全联盟是否已经存在,并将虚拟网络接口的隧道状态选项设置为“准备”;创建隧道虚拟网络接口,此接口的隧道索引(ID)为1001,隧道状态是“准备”;(3)在网络系统的路由表中添加一个路由表项,路由表项的目的地址是远程网络,路由表项的接口是隧道虚拟网络接口;目的地址是192.168.2.0/24,选用步骤2中所定义的隧道虚拟网络接口。
数据包处理过程的步骤是(4)网络访问数据包(从192.168.1.127访问192.168.2.1)到达安全网关时,使用路由表进行查找,如果路由查找结果是隧道虚拟网络接口,隧道虚拟网络接口对数据包不作IPSec的策略检查,而是检查隧道虚拟网络接口的隧道状态选项,以下的处理方式分为两种[4-1]如果隧道虚拟网络接口的隧道状态选项处于“准备”状态,向密钥交换进程发送安全联盟请求消息,该消息中应包含隧道虚拟网络接口的隧道索引(ID)选项,在本例中使用1001;[4-2]如果隧道虚拟网络接口的隧道状态是“就绪”,根据隧道虚拟网络接口的隧道索引(ID)选项,使用1001在安全联盟数据库中查找安全联盟,此时处理方式也分为以下两种[4-2-1]如果安全联盟不存在,将虚接口的状态设置为“准备”,并向密钥交换进程发送安全联盟请求消息;[4-2-2]如果安全联盟存在,就对网络数据进行加密,然后将加密包发送到上海安全网关,由此建立一条链路可以路由到达远程网络;(5)接上[4-2-2]步骤,远程安全网关收到加密包时,根据加密包的安全参数索引查找到安全联盟进行解密,根据解密使用的安全联盟得到隧道索引(ID),在本例中是1001,然后根据隧道索引(ID)找到隧道虚拟网络接口,网络系统将解密后的数据包重新注入协议栈,注入的接口使用这个隧道虚拟网络接口,网络系统根据目的地址对此数据包进行路由,使用连接内部网络的物理网口将网络数据包发送到上海内部网络,完成数据包传输过程;(6)接上[4-2-1]步骤,密钥交换进程收到安全联盟请求后,开始发起IKE协商,因为隧道虚拟网络接口是通向远程网络的接口,所以进行策略协商时,采用任意地址到任意地址的策略进行协商,通过本地与远程IKE密钥交换,协商出一致的安全联盟,向网络系统加载安全联盟,网络系统分配安全联盟存储空间,并根据隧道索引(ID)1001将安全联盟加入安全联盟数据库;(7)网络系统收到安全联盟消息后,判断这个隧道索引(ID)1001是否和隧道虚拟网络接口的隧道索引(ID)一样,如果是,将这个隧道虚接口的隧道状态设置为“就绪”。
参见附图6所示,一种适用于上述利用IPSec将网络路由扩展到远程网络的方法的装置,它包括数据包接收模块7、网络路由模块8、安全联盟管理模块9、数据加解密模块10和数据包转发模块11,其特征在于该装置还包括一个隧道虚拟网络接口模块12,该模块在流程中得到隧道索引(ID),然后将隧道索引(ID)作为参数将数据包传递给安全联盟管理模块9,隧道虚拟网络接口模块12的数据流前端连接于网络路由模块8,数据流后端同时连接于安全联盟管理模块9。
驱动模块13的网络接口卡收到数据包后产生CPU中断,驱动模块13从网络接口卡的电子信号中接收数据。包转发模块调用驱动模块13将要发送的数据发到驱动的队列中,驱动模块13的网络接口卡在空闲时将数据包转换为电子信号发送到网络中去。驱动模块13的型号选用Inteleepro100。
本发明解决了局域网路由单独管理的问题,使各个分支机构能够通过路由互联互通。同时可以运行统一管理的动态路由管理协议,这样就达到将各个独立的分支机构局域网统一进行路由管理的目的。
权利要求
1.一种利用IPSec将网络路由扩展到远程网络的方法,其特征在于该方法的步骤分为配置和数据包处理两个过程,其中配置过程的步骤是(1)在IPSEC虚拟专用网络(VPN)隧道的配置中增加隧道的索引(ID);(2)在网络系统中创建一种隧道类型的虚拟网络接口,并在虚拟网络接口的属性中增加隧道索引(ID)选项和隧道状态选项,隧道状态选项表示此隧道相关的安全联盟是否已经存在,并将虚拟网络接口的隧道状态选项设置为“准备”;(3)在网络系统的路由表中添加一个路由表项,路由表项的目的地址是远程网络,路由表项的接口是隧道虚拟网络接口;数据包处理过程的步骤是(4)网络访问数据包到达安全网关时,使用路由表进行查找,如果路由查找结果是隧道虚拟网络接口,隧道虚拟网络接口对数据包不作IPSec的策略检查,而是检查隧道虚拟网络接口的隧道状态选项,以下的处理方式分为两种[4-1]如果隧道虚拟网络接口的隧道状态选项处于“准备”状态,向密钥交换进程发送安全联盟请求消息,该消息中应包含隧道虚拟网络接口的隧道索引(ID)选项;[4-2]如果隧道虚拟网络接口的隧道状态是“就绪”,根据隧道虚拟网络接口的隧道索引(ID)选项,在安全联盟数据库中查找安全联盟,此时处理方式也分为以下两种[4-2-1]如果安全联盟不存在,将虚接口的状态设置为“准备”,并向密钥交换进程发送安全联盟请求消息;[4-2-2]如果安全联盟存在,就对网络数据进行加密,然后将加密包发送到远程安全网关,由此建立一条链路可以路由到达远程网络;(5)接上[4-2-2]步骤,远程安全网关收到加密包时,根据加密包的安全参数索引查找到安全联盟进行解密,根据解密使用的安全联盟得到隧道索引(ID),然后根据隧道索引(ID)找到隧道虚拟网络接口,网络系统将解密后的数据包重新注入协议栈,注入的接口使用这个隧道虚拟网络接口,网络系统根据目的地址对此数据包进行路由,使用连接内部网络的物理网口将网络数据包发送到内部网络,完成数据包传输过程;(6)接上[4-2-1]步骤,密钥交换进程收到安全联盟请求后,开始发起IKE协商,因为隧道虚拟网络接口是通向远程网络的接口,所以进行策略协商时,采用任意地址到任意地址的策略进行协商,通过本地与远程IKE密钥交换,协商出一致的安全联盟,向网络系统加载安全联盟,网络系统分配安全联盟存储空间,并根据隧道索引将安全联盟加入安全联盟数据库;(7)网络系统收到安全联盟消息后,判断这个隧道索引(ID)是否和隧道虚拟网络接口的隧道索引(ID)一样,如果是,将这个隧道虚接口的隧道状态设置为“就绪”。
2.根据权利要求1所述的安全网关中进行安全策略统一处理的方法,其特征在于在IPSEC虚拟专用网络(VPN)隧道的配置中增加的隧道索引是一个在系统中不重复的正整数。
3.一种适用于上述利用IPSec将网络路由扩展到远程网络的方法的装置,它包括数据包接收模块(7)、网络路由模块(8)、安全联盟管理模块(9)、数据加解密模块(10)和数据包转发模块(11),其特征在于该装置还包括一个隧道虚拟网络接口模块(12),该模块在流程中得到隧道索引(ID),然后将隧道索引(ID)作为参数将数据包传递给安全联盟管理模块(9),隧道虚拟网络接口模块(12)的数据流前端连接于网络路由模块(8),数据流后端同时连接于安全联盟管理模块(9)。
全文摘要
本发明是一种利用IPSec将网络路由扩展到远程网络的方法及装置,通过扩展安全网关的路由表,在网络系统中增加了隧道虚拟网络接口,接口支持隧道索引(ID)选项和隧道状态选项。根据路由选择的隧道虚拟网络接口得到隧道索引(ID),根据隧道索引(ID)得到安全联盟。进行加密封装处理。本发明解决了局域网路由单独管理的问题,使各个分支机构能够通过路由互联互通。同时可以运行统一管理的动态路由管理协议,这样就达到将各个独立的分支机构局域网统一进行路由管理的目的。
文档编号H04L12/66GK101051987SQ20071010316
公开日2007年10月10日 申请日期2007年5月22日 优先权日2007年5月22日
发明者刘建锋, 王刚, 谌颐, 任献永, 肖为剑, 宋斌 申请人:网御神州科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1