版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IPSecVPN系统以及Freeswan在实现中的应用摘要:虚拟专用网(VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展。虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。虚拟专用网可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。IPSec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议AuthenticationHeader(AH)、封装安全载荷协议EncapsulatingSecurityPayload(ESP)、密钥管理协议InternetKeyExchange(IKE)和用于网络认证及加密的一些算法等。IPSec规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。IPSec是实现VPN的主要方式之一,本文主要讨论如何IPSecVPN的基础知识以及如何通过Freeswan来实现它。引言VPN即虚拟专用网(VirtualPrivateNetwork),可以把它理解成是虚拟出来的企业内部专线。它通过对网络数据的封包和加密传输在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有、临时的、安全的连接的通讯线路,从而实现在公网上传输私有数据、达到私有网络的安全级别,就好比是架设了一条专线一样,但是它并不需要真正的去铺设光缆之类的物理线路。通常,VPN是对企业内部网的扩展,通过它可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。VPN可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。VPN通过公众IP网络建立了私有数据传输通道,将远程的分支办公室、商业伙伴、移动办公人员等连接起来。减轻了企业的远程访问费用负担,节省电话费用开支,并且提供了安全的端到端的数据通讯。用户连接VPN的形式:常规的直接拨号连接与虚拟专网连接的异同点在于在前一种情形中,PPP(点对点协议)数据包流是通过专用线路传输的。在VPN中,PPP数据包流是由一个LAN上的路由器发出,通过共享IP网络上的隧道进行传输,再到达另一个LAN上的路由器。这两者的关键不同点是隧道代替了实实在在的专用线路。隧道好比是在WAN中拉出一根串行通信电缆。那么,如何形成VPN隧道呢?建立隧道有两种主要的方式:客户启动(Client-Initiated)或客户透明(Client-Transparent)。客户启动要求客户和隧道服务器(或网关)都安装隧道软件。后者通常都安装在公司中心站上。通过客户软件初始化隧道,隧道服务器中止隧道,ISP可以不必支持隧道。客户和隧道服务器只需建立隧道,并使用用户ID和口令或用数字许可证鉴权。一旦隧道建立,就可以进行通信了,如同ISP没有参与连接一样。另一方面,如果希望隧道对客户透明,ISP的POPs就必须具有允许使用隧道的接入服务器以及可能需要的路由器。客户首先拨号进入服务器,服务器必须能识别这一连接要与某一特定的远程点建立隧道,然后服务器与隧道服务器建立隧道,通常使用用户ID和口令进行鉴权。这样客户端就通过隧道与隧道服务器建立了直接对话。尽管这一方针不要求客户有专门软件,但客户只能拨号进入正确配置的访问服务器。目前,用于企业内部自建VPN的主要有两种技术——IPSecVPN和SSLVPN,IPSecVPN和SSLVPN主要解决的是基于互联网的远程接入和互联,虽然在技术上来说,它们也可以部署在其它的网络上(如专线),但那样就失去了其应用的灵活性,它们更适用于商业客户等对价格特别敏感的客户。但针对IPSecVPN和SSLVPN两种技术,目前业内存在着较多争议。虽然目前企业应用最广泛的是IPSecVPN,然而InforneticsResearch研究表明,在未来的几年中IPSec的市场份额将下降,而SSLVPN将逐渐上升。用户在考虑采用哪种技术时经常会遇到两难的选择,即安全性与使用便利的冲突。而事实上没有哪一种技术是完美的,只有用户明确了自己的需求,才能选择到适合自己的解决方案。IPSecVPN比较适合中小企业,其拥有较多的分支机构,并通过VPN隧道进行站点之间的连接,交换大容量的数据。企业有一定的规模,并且在IT建设、管理和维护方面拥有一定经验的员工。企业的数据比较敏感,要求安全级别较高。企业员工不能随便通过任意一台电脑就访问企业内部信息,移动办公员工的笔记本或电脑要配置防火墙和杀毒软件。而SSLVPN更适合那些需要很强灵活性的企业,员工需要在不同地点都可以轻易的访问公司内部资源,并可能通过各种移动终端或设备。企业的IT维护水平较低,员工对IT技术了解甚少,并且IT方面的投资不多。2、IPSec的原理以及IPsecVPN的实现2.1IPSec的工作原理设计IPSec是为了给IPv4和IPv6数据报提供高质量的、可互操作的、基于密码学的安全性。IPSec通过使用两种通信安全协议来达到这些目标:认证头(AH)和封装安全载荷(ESP),以及像Internet密钥交换(IKE)协议这样的密钥管理过程和协议来达到这些目标。IPAH协议提供数据源认证,无连接的完整性,以及一个可选的抗重放服务。ESP协议提供数据保密性,有限的数据流保密性,数据源认证,无连接的完整性,以及抗重放服务。对于AH和ESP,都有两种操作模式:传输模式和隧道模式。IKE协议用于协商AH和ESP协议所使用的密钥算法,并将算法所需的必备密钥放在合适的位置。IPSec所使用的协议被设计成与算法无关的。算法的选择在安全策略数据库(SPD)中指定。可供选择的密码算法取决于IPSec的实现;然而,为了保证全球因特网上的互操作性,IPSec规定了一组标准的默认算法。IPSec允许系统或网络的用户和管理员控制安全服务提供的粒度。例如,一个组织的安全策略可能规定来自特定子网的数据流应该用AH和ESP保护,并且应该用带有3个不同密钥的3DES算法来加密。另一方面,策略可能规定来自另一个站点的数据流应该只用ESP保护,并且应该对数据流提供AES(高级加密标准)加密。通过使用安全关联(SA),IPSec能够区分对不通数据流提供的安全服务。2.2IPSec的实现方式IPSEC提供四种不同的形式来保护通过公有或私有IP网络来传送的私有数据:安全关联(SecurityAssociations,简称SA)报头认证(Authenticationonly(AuthenticationHeader,简称AH))IP封装安全载荷(EncryptionandauthenticationknownasEncapsulatingSecurityPayload,简称ESP)密匙管理(Keymanagement)1、安全关联SecurityAssociation(SA)IPSec中的一个基本概念是安全关联(SA),安全关联包含验证或者加密的密钥和算法。它是单向连接,为保护两个主机或者两个安全网关之间的双向通信需要建立两个安全关联。安全关联提供的安全服务是通过AH和ESP两个安全协议中的一个来实现的。如果要在同一个通信流中使用AH和ESP两个安全协议,那么需要创建两个(或者更多)的安全关联来保护该通信流。一个安全关联需要通三个参数进行识别,它由安全参数索引(AH/ESP报头的一个字段)、目的IP地址和安全协议(AH或者ESP)三者的组合唯一标识。表6列出AH和ESP报头在传送模式和隧道模式下的区别。表1AH和ESP报头在传送模式和隧道模式下的区别2、报头验证AuthenticationHeader(AH)认证协议头(AH)是在所有数据包头加入一个密码。AH通过一个只有密匙持有人才知道的"数字签名"来对用户进行认证。这个签名是数据包通过特别的算法得出的独特结果;AH还能维持数据的完整性,因为在传输过程中无论多小的变化被加载,数据包头的数字签名都能把它检测出来。IPv6的验证主要由验证报头(AH)来完成。验证报头是IPv6的一个安全扩展报头,它为IP数据包提供完整性和数据来源验证,防止反重放攻击,避免IP欺骗攻击。⑴验证报头的格式,如图1所示。图1验证报头的格式(IPSecurityAuthenticationHeader)验证报头的格式包括以下内容:下一报头字段(NextHeader):确定跟在验证报头后面的有效载荷的类型(如TCP)有效载荷长度(Payloadlength):验证报头的长度。安全参数索引(SecurityParameterIndex):用来确定安全关联的安全参数索引。验证数据字段(SequenceNumber):一个变长字段,它包含完整性检查值(ICV,IntegrityCheckValue),用来提供验证和数据完整性。保留字段(Reserved):(16位)供以后使用⑵验证数据(AuthenticationData)验证数据,它包含完整性检查值(ICV),用来提供验证和数据完整性。用来计算ICV的算法由安全关联指定。ICV是在这种情况下计算的,即IP报头字段在传递过程中保持未变,验证报头带有的验证数据置0,IP数据包为有效载荷。有些字段在传递的过程中可能改变,包括最大跳数、业务类别和流标签等。IP数据包的接收者使用验证算法和安全关联中确定的密钥对验证报头重新计算ICV。如果ICV一样,接收者知道数据通过验证并且没有被更改过。验证数据包工作过程,如图2所示。图2验证数据包工作过程⑶防止重放攻击(PreventReplyAttack)重放攻击是一种获得加密数据包,然后发送设定的目的地。收到复制加密数据包后,可能而而面临破解及其它一引起意想不到的后果。序列号计数器可阻止此类攻击,当发送者和接收者之间的通信状态建立的时候,序列号被置0。当发送者或者接收者传送数据的时候,它随后被加1。如果接收者发觉一个IP数据包具有复制的序列号字段,它将被丢弃,这是为了提供反重放的保护。该字段是强制使用的,即使接收者没有选择反重放服务它也会出现在特定的安全关联中。验证报头带有的验证数据置0,IP数据包为有效载荷。3、封装安全有效载荷数据(EncapsulatingSecurityPayload)安全加载封装(ESP)通过对数据包的全部数据和加载内容进行全加密来严格保证传输信息的机密性,这样可以避免其他用户通过监听来打开信息交换的内容,因为只有受信任的用户拥有密匙打开内容。ESP也能提供认证和维持数据的完整性。ESP用来为封装的有效载荷提供机密性、数据完整性验证。AH和ESP两种报文头可以根据应用的需要单独使用,也可以结合使用,结合使用时,ESP应该在AH的保护下。⑴封装安全有效载荷数据包格式,如图3所示。图3封装安全有效载荷数据包格式封装安全有效载荷数据包含以下字段:SPI字段(SecurityParameterIndex(SPI)):确定安全关联的安全参数索引序列号字段(SequenceNumber:):用来提供反重放保护,跟验证报头中描述的一样有效载荷数据(PayloadData):存放加密数据填充字段(Padding:Extrabytes):加密算法需要的任何填充字节填充长度(Padlength):包含填充长度字段的字节数下一报头(NextHeader):描述有效载荷数据字段包含的数据类型有效载荷数据(AuthenticationData):用ICV加密算法加密的所有数据(非加密数据区)⑵ESP计算(ESPComputation)在IPv6中,加密是由ESP扩展报头来实现的。ESP用来为封装的有效载荷提供机密性、数据来源验证、无连接完整性、反重放服务和有限的业务流机密性。ESP数据包压缩工作过程,如图4所示。图4ESP数据包压缩工作过程⑶局限性ESP不保护任何IP报头字段,除非这些字段被ESP封装(隧道模式),而AH则为尽可能多的IP报头提供验证服务。所以如果需要确保一个数据包的完整性、真实性和机密性时,需同时使用AH和ESP。先使用ESP,然后把AH报头封装在ESP报头的外面,从而接收方可以先验证数据包的完整性和真实性,再进行解密操作,AH能够保护ESP报头不被修改。4、钥匙管理(KeyManagement)密匙管理包括密匙确定和密匙分发两个方面,最多需要四个密匙:AH和ESP各两个发送和接收密匙。密匙本身是一个二进制字符串,通常用十六进制表示,例如,一个56位的密匙可以表示为5F39DA752E0C25B4。注意全部长度总共是64位,包括了8位的奇偶校验。56位的密匙(DES)足够满足大多数商业应用了。密匙管理包括手工和自动两种方式。手工管理(Manual):手工管理方式是指管理员使用自己的密钥及其它系统的密钥手工设置每个系统。这种方法在小型网络环境中使用比较实际。自动管理系统(Automated):可以随时建立新的SA密钥,并可以对较大的分布式系统上使用密钥进行定期的更新。自动管理模式是很有弹性的,但需要花费更多的时间及精力去设置,同时,还需要使用更多的软件。IPSec的自动管理密钥协议的默认名字是ISAKMP/Oakley。⑴Oakley协议(OakleyKeyDetermination)OAKLEY协议,其基本的机理是Diffie-Hellman密鈅交换算法。OAKLEY协议支持完整转发安全性,用户通过定义抽象的群结构来使用Diffie-Hellman算法,密鈅更新,及通过带外机制分发密鈅集,并且兼容用来管理SA的ISAKMP协议。Diffie-Hellman密钥交换算法,当A和B要进行秘密通信时,他们可以按如下步骤建立共享密钥:A选取大的随机数x,并计算X=gx(modP),A将g、P、X传送给B。B选取大的随机数y,并计算Y=gy(modP),B将Y传送给A。A计算K=Yx(modP);B计算K’=Xy(modP),易见,K=K’=gxy(modP)。A和B获得了相同的秘密值K。双方以K作为加解密钥以对称密钥算法进行保密通信。⑵ISAKMP协议(InternetSecurityAssociationandKeyManagementProtocol)因特网安全联盟和密钥管理协议(ISAKMP)定义程序和信息包的格式来建立、协商、修改和删除安全连接(SA)。SA包括所有如IP层服务、传输或应用层服务、流通传输的自我保护的各种各样的网络协议所需要的信息。ISAKMP定义交换密钥生产的有效载荷和认证数据。ISAKMP通过集中安全连接的管理减少了在每个安全协议中复制函数的数量。ISAKMP还能通过一次对整个服务堆栈的协议来减少建立连接的时间。2.3IPSecVPN的实现方式IPSEC是一套比较完整成体系的VPN技术,它规定了一系列的协议标准。因为篇幅所限,我们不深入探究IPSEC的过于详细的内容,我们对于IPSEC大致按照以下几个方面理解。1.为什么要导入IPSEC协议导入IPSEC协议,原因有2个,一个是原来的TCP/IP体系中间,没有包括基于安全的设计,任何人,只要能够搭入线路,即可分析所有的通讯数据。IPSEC引进了完整的安全机制,包括加密、认证和数据防篡改功能。另外一个原因,是因为Internet迅速发展,接入越来越方便,很多客户希望能够利用这种上网的带宽,实现异地网络的的互连通。IPSEC协议通过包封装技术,能够利用Internet可路由的地址,封装内部网络的IP地址,实现异地网络的互通。2.包封装协议设想现实一种通讯方式。假定发信和收信需要有身份证(成年人才有),儿童没有身份证,不能发信收信。有2个儿童,小张和小李,他们的老爸是老张和老李。现在小张和小李要写信互通,怎么办?一种合理的实现方式是:小张写好一封信,封皮写上"小张-->小李",然后给他爸爸,老张写一个信封,写上“老张-->老李”,把前面的那封信套在里面,发给老李,老李收到信以后,打开,发现这封信是给儿子的,就转给小李了。小李回信也一样,通过他父亲的名义发回给小张。这种通讯实现方式要依赖以下几个因素:*老李和老张可以收信发信*小张发信,把信件交给老张。*老张收到儿子的来信以后,能够正确的处理(写好另外一个信封),并且重新包装过的信封能够正确送出去。*另外一端,老李收到信拆开以后,能够正确地交割小李。*反过来的流程一样。把信封的收发人改成Internet上的IP地址,把信件的内容改成IP的数据,这个模型就是IPsec的包封装模型。小张小李就是内部私网的IP主机,他们的老爸就是VPN网关,本来不能通讯的两个异地的局域网,通过出口处的IP地址封装,就可以实现局域网对局域网的通讯。引进这种包封装协议,实在是有点不得已。理想的组网方式,当然是全路由方式。任意节点之间可达(就像理想的现实通讯方式是任何人之间都可以直接写信互通一样)。Internet协议最初设计的时候,IP地址是32位,当时是很足够了,没有人能够预料到将来Internet能够发展到现在的规模(相同的例子发生在电信短消息上面,由于160字节的限制,很大地制约了短消息的发展)。按照2的32次方计算,理论上最多能够容纳40亿个左右IP地址。这些IP地址的利用是很不充分的,另外大约有70%左右的IP地址被美国分配掉了(谁让人家发明并且管理Internet呢?)所以对于中国来说,可供分配的IP地址资源非常有限。既然IP地址有限,又要实现异地lan-lan通讯,包封包,自然是最好的方式了。3.安全协议(加密)依然参照上述的通讯模型。假定老张给老李的信件要通过邮政系统传递,而中间途径有很多好事之徒,很想偷看小张和小李(小张小李作生意,通的是买卖信息)通讯,或者破坏其好事。解决这个问题,就要引进安全措施。安全可以让小李和小张自己来完成,文字用暗号来表示,也可以让他们的老爸代劳完成,写好信,交给老爸,告诉他传出去之前重新用暗号写一下。IPSEC协议的加密技术和这个方式是一样的,既然能够把数据封装,自然也可以把数据变换,只要到达目的地的时候,能够把数据恢复成原来的样子就可以了。这个加密工作在Internet出口的VPN网关上完成。4.安全协议(数据认证)还是以上述通讯模型为例,仅仅有加密是不够的。把数据加密,对应这个模型中间,是把信件的文字用暗号表示。好事之徒无法破解信件,但是可以伪造一封信,或者胡乱把信件改一通。这样,信件到达目的地以后,内容就面目全非了,而且收信一方不知道这封信是被修改过的。为了防止这种结果,就要引入数据防篡改机制。万一数据被非法修改,能够很快识别出来。这在现实通讯中间可以采用类似这样的算法,计算信件特征(比如统计这封信件的笔划、有多少字),然后把这些特征用暗号标识在信件后面。收信人会检验这个信件特征,由于信件改变,特征也会变。所以,如果修改人没有暗号,改了以后,数据特征值就不匹配了。收信人可以看出来。实际的IPSEC通讯的数据认证也是这样的,使用md5算法计算包文特征,报文还原以后,就会检查这个特征码,看看是否匹配。证明数据传输过程是否被篡改。5.安全协议(身份认证)还是假定小张小李通讯模型。由于老张和老李不在一个地方,他们互相不能见面,为了保证他们儿子通讯的安全。老张和老李必须要相互确认对方是否可信。这就是身份认证问题。假定老李老张以前见过面,他们事先就约定了通讯暗号,比如1234567890对应abcdefghij,那么写个255,对应就是一个bee。常见的VPN身份认证可以包括预共享密钥,通讯双方实现约定加密解密的密码,直接通讯就可以了。能够通讯就是朋友,不能通讯就是坏人,区分很简单。其他复杂的身份认证机制包括证书(电子证书比如x509之类的),比较罗里罗嗦,这里就不具体展开了,怕有兄弟看了打瞌睡。如果需要,可以找我要更具体的技术白皮书以及相关的身份认证文档。如果有身份认证机制,密钥的经常更换就成为了可能。6.其他解决了上述的几个问题,基本可以保证VPN通讯模型能够建立起来了。但是并不完美,这是最简单的VPN。即通过对端两个静态的IP地址,实现异地网络的互联。美国的很多VPN设备就作到这一级,因为美国IP地址充裕,分配静态IP地址没有问题。苦的是我等中国客户,2端都需要静态IP地址,相当于2根Internet专线接入。VPN要在中国用起来,还要解决一堆的相关问题。。IPSEC通过包封装包的方法,通过Internet建立了一个通讯的隧道,通过这个通讯的隧道,就可以建立起网络的连接。但是这个模型并非完美,仍然有很多问题需要解决。在讲述其他问题以前,我们对VPN定义几个概念。VPN节点:一个VPN节点,可能是一台VPN网关,也可能是一个客户端软件。在VPN组网中间,属于组网的一个通讯节点。它应该能够连接Internet,有可能是直接连接,比如adsl、电话拨号等等,也可能是通过nat方式,例如:小区宽带、cdma上网、铁通线路等等。VPN隧道:在两个vpn节点之间建立的一个虚拟链路通道。两个设备内部的网络,能够通过这个虚拟的数据链路到达对方。与此相关的信息是当时两个VPN节点的IP地址,隧道名称、双方的密钥。隧道路由:一个设备可能和很多设备建立隧道,那么就存在一个隧道选择的问题,即到什么目的地,走哪一个隧道?用前面的通讯模型来说,老李老张就是隧道节点,他们通过邮政系统建立的密码通讯关系,就是一个数据隧道,小张和小李把信发给他们老爸的时候,他们老爸要作出抉择,这封信怎么封装,封装以后送给谁。假如还有一个老王和他们的儿子,也要通讯,这时候隧道路由就比较好理解了。送给小王的数据,就封装给老王,送给小李的数据,就封装发给老李。如果节点非常多,那么这个隧道路由就会比较复杂。理解了以上的问题,我们就知道,ipsec要解决的问题其实,可以分为以下几个步骤:找到对方vpn节点设备,如果对方是动态IP地址,那么必须能够通过一种有效途径能够及时发现对方IP地址的变化。按照通讯模型,就是老李老张如果经常搬家的话,必须有一个有效的机制,能够及时发现老李老张地址的变化。建立隧道,建立隧道说起来简单,作起来不容易。如果两个设备都有合法的公网IP,那么建立一个隧道是比较容易的。如果一方在nat之后,那就比较罗嗦了。一般通过内部的vpn节点发起一个udp连接,再封装一次ipsec,送到对方,因为udp可以通过防火墙进行记忆,因此通过udp再封装的ipsec包,可以通过防火墙来回传递。建立隧道以后,就确定隧道路由,即到哪里去,走哪个隧道。很多VPN隧道配置的时候,就定义了保护网络,这样,隧道路由就根据保护的网络关系来决定。但是这丧失了一定的灵活性。所有的ipsecVPN展开来讲,实现的无非就是以上几个要点,具体各家公司,各有各的做法。但是可以肯定,目前在市场销售的VPN,肯定都已经解决了以上的问题。第一个问题怎样找到vpn节点设备。假如设备都是动态拨号方式的话,那么一定需要一个合适的静态的第三方来进行解析。相当于两个总是不停搬家的人,要合适找到对方,一定需要一个大家都认识的朋友,这个朋友不搬家,两个人都能够联系上他。静态的第三方,常见的有3种实现方式:通过网页,这是深信服公司发明的一种技术,通过Web页解析ip地址。大家可以登录一下/,就可以查找到当前的IP地址。因此,动态的设备,可以通过这种方式,把自己当前的IP地址提交上去。其他设备可以通过网页再查询回来。这样,设备之间就可以互相通过这个网页找到。因为网页是相对固定的,所以这种方式能够很有效地解决这个问题。这种方式能够有效地分散集中认证的风险,而且很容易实现备份,属于比较巧妙的一种解决方案。当然,对于Web页可能存在比较多的攻击,因此,要注意安全防范。通过一个集中的服务器,实现统一解析,然后给用户进行分组。每个vpn设备只能看到同组的其他设备,不能跨组访问。也可以通过目录服务器实现。这种方式适合集中式的VPN,在企业总部部署服务器,实现全局设备的统一认证和管理。它不太适合零散用户的认证,因为存在一个信任问题,客户会置疑管理服务器如果出现了问题,有可能其他设备就能够连接到自己的vpn域里面。这种大型的集中vpn管理软件,在很多国内外的vpn厂商都有专门的设备或软件,它除了能够进行动态IP地址解析,还能够实现在线认证等等功能。如果管理中心比较职能的话,可以集中制订通讯策略,下面的vpn设备配置参数比较少。还有一种方式,是DDNS,即动态域名。动态域名是一种相对比较平衡的技术。Vpn设备拨号以后,把自己当前的IP地址注册给一级域名服务器,并且更新自己的二级域名IP地址,internet其他用户,通过这个二级域名就可以查找到它。例如:动态域名服务器的名称是99,是abc.99,则vpn设备通过一个软件,提交给服务器,把,漂移成当前的IP地址。但是,有时也会遇到dns缓存问题。Vpn厂家如果自身提供ddns服务的话,就可以通过内部协议,把查询速度加快,并且避免dns缓冲带来的问题。以上讲述了三种动态IP地址的解析方法,国内一般厂家提供的无外乎这几种方法。如果再有比较偏门的技术,也许就不是主流技术了。解决了动态IP地址问题,按照之前的通讯模型,不考虑VPN设备很多的情况,就可以组网。因此,一旦这种技术被越来越多的厂家掌握,基于IPsecvpn设备和软件是一定会价格下降的。It技术从朝阳变成夕阳就是转眼之间的事情。第二个问题隧道如何建立解决了Ip地址动态寻址的问题,现在来说一下Nat穿越的问题。我们知道,Udp和TCP是可以穿越防火墙的。直接的IPsec封装,不能穿越防火墙,因为防火墙需要更改端口信息,这样回来的数据包,才能转到正确的内部主机。用UDP显然比较合适,因为使用tcp的话,不仅三次握手占据时间很长,而且还有来回的确认。而实际上,这些工作属于ipsec内部封装的报文要干的事情,放在这里完成是不合适的。因此,用udp来封装ipsec报文,以穿越nat,几乎是唯一可以选择的方案。用udp穿越nat防火墙,这只解决了问题的一半,因为这要求至少有一方处于Internet公网上面。有可路由的IP地址。而有时会发生两个vpn节点都在nat之后的情景,这只能通过第三方转发来完成。即两个设备都可以与第三方设备互通,第三方设备为双方进行转发。这个可以通过之前的模型解析,老张老李不能直接通讯,他们都可以与老王通讯,老王就可以在中间进行转发。凡是小李小张的通讯,交给他们老爸以后,老王最后再进行转交。这是隧道路由的概念就很清晰了,不能一个隧道直接到达,可以在几个隧道之间转发。3、IPSecVPN在Freeswan下的实现3.1Freeswan的介绍FreeS/WAN是IPSec协议在Linux下的实现方式。IPSec提供了网络协议栈的IP层加密和认证服务。在这一层工作,IPSec可以保护任何IP包,而不像其他的加密方式只保护更高层的协议,像邮件的PGP,远程登陆的SSH,网络工作的SSL之类的。当然,这种方式既有优点也有限制。我们分成三部分来实现IPSec协议:KLIPS(IPSec内核),它用于实现AH,ESP内核的包处理。Pluto(IKEdaemon)IKE的实现,它用于同其他系统协商连接。提供各种机器管理者的接口。FreeS/WAN是给LinuxIPv4网络提供IPSec协议。它有以下几个功能:RoadWarrior典型的“RoadWarrior”是通过旅行者通过笔记本连接到家里。管理上来说,任何的没动态地址的远程无线登陆都可以叫做“RoadWarrior”。这篇文档中,任何有动态IP地址的人都是“RoadWarrior”任何进行IPSec处理的机器叫做网关。作为一个有后面有一个一个退化网络网关的单机“RoadWarrior”。机会加密(Opportunisticencryption)即使两个网关管理者没有优先连接,系统也没有任何事先约好的信息,两个FreeS/WAN网关可以加密通信网。两个系统都接收了来自DNS所需的加密信息。这个过程中只需设置机会加密为enabled,而DNS中也有管理者的信息,其他的就自动完成了。网关就会找所有的机会加密,它是否接受加密通信是和管理者的政策设置有关的。这个技术提供了两个额外功能:它大量地减少了荷载头的。你可以直接配置你的网关以后所有的事都可以自动完成了。当然,FreeS/WAN允许所配置的信道和角加密共同存在,但是我们希望它们在大多数情况不可用。它让我们面对一个更安全的网络,允许用户创建一个默认私人信息的环境。所有的信息都可以加密来提供给另一端。3.2Freeswan的使用前面已经对freeswan进行了简要的介绍,接下来我们将教大家如何使用freeswan来建立ipsecVPN。首先用以下命令下载freeswan的rpm包:ncftpgetftp://ftp.xs4all.nl/pub/crypto/freeswan/binaries/RedHat-RPMs/`uname-r|tr-d'a-wy-z'`/\*如果该命令不能下载,那么请自行在网上搜索最新版本的freeswan下载。如果成功的话,你就可以下载到3个文件,分别是:使用工具,内核模块以及RPM签名,如下freeswan-module-2.04_2.4.20_20.9-0.i386.rpmfreeswan-userland-2.04_2.4.20_20.9-0.i386.rpmfreeswan-rpmsign.asc如果你是RedHat8.x以后的版本,用下面命令来将RPM签名输入RPM数据库:rpm--importfreeswan-rpmsign.asc如果你是7.x版本,就需要把它加入你的PGP密钥:pgp-kafreeswan-rpmsign.asc用下面命令检查两个RPM的数字签名rpm--checksigfreeswan*.rpm你将可以看到签名都正确:freeswan-module-2.04_2.4.20_20.9-0.i386.rpm:pgpmd5OKfreeswan-userland-2.04_2.4.20_20.9-0.i386.rpm:pgpmd5OK下面我们将安装RPM包输入命令进入rootsu然后安装RPM:rpm-ivhfreeswan*.rpm启动freeswan:serviceipsecstart检查是否安装成功,运行:psecverify成功的话将会出现以下信息CheckingyoursystemtoseeifIPsecgotinstalledandstartedcorrectlyVersioncheckandipsecon-path[OK]CheckingforKLIPSsupportinkernel[OK]CheckingforRSAprivatekey(/etc/ipsec.secrets)[OK]Checkingthatplutoisrunning[OK]好了,在安装成功后,我们将要配置freeswan,配置freeswan的网络对网络的连接必须有如下的要求:1.两个有固定IP地址的Linux网关。2.每个网关的后面有一个网络。网络必须在非重叠的IP范围。3.两个Linux网关都必须安装freeswan。4.在本地网关安装tcpdump,来测试连接。每个网关要编辑以下信息:1.网关IP2.子网的IP地址要收到保护。不一定一定要是你的整个物理子网3.一个能在IPSec协商中辨别自己的网关名。它的形式是一个带有@完整的资格域名,例如:@。它不需要真正的是一个域名,它可以是一个编造的域名。获取左网关密钥:在本地freeswan网关的Linux,显示出IPSec公钥:ipsecshowhostkey–left我们将会看到如下提示:#RSA2048bitsFriApr2615:01:412002leftrsasigkey=0sAQOnwiBPt...如果你没有密钥,用以下命令来新建密钥:ipsecnewhostkey--outputfilename[--quiet]\[--bitsn][--hostnamehost]具体的选项功能请查看网站/freeswan_trees/freeswan-2.04/doc/manpage.d/ipsec_newhostkey.8.html然后在你的右网关(即远程网关remotegate)打出ipsecshowhostkey–right将会显示:#RSA2192bitsThuMay1615:26:202002rightrsasigkey=0sAQOqH55O...编辑/etc/ipsec.conf现在我们回到本地网关(localgate),将/etc/freeswan/ipsec.conf文件copy到/etc/ipsec.conf。用我们举例的数据来代替以前的数据:connnet-to-netleft=#Localvitalsleftsubnet=28/29#leftid=@#leftrsasigkey=0s1L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 箱式变电站选购技巧
- 2024无固定期限简单劳动合同范本
- 2024桌椅购销合同
- 2016年江苏公务员考试申论真题A类及答案
- 市场营销与广告策略分析考核试卷
- 泊寓退房合同模板
- 油炸店面转让合同模板
- 仪器仪表制造业中的智能供应链管理考核试卷
- 兽用药品批发商的供应链金融考核试卷
- 作业现场职业危害及其安全防护考核试卷
- 感知与知觉-课件
- 居民变更户主情况登记表
- 咳嗽与咳痰的护理培训课件
- 单韵母以及声调课件
- 急腹症诊断与鉴别诊断课件
- 2022年四川天府银行校园招聘试题题库及答案解析
- 基坑支护监理质量评估报告
- 学校体育学(第三版)ppt全套教学课件
- DB32-T 3260-2017水利工程施工图设计文件编制规范-(高清现行)
- 软件测试判断附答案
- Q-FT B039-2006汽车产品油漆涂层技术条件
评论
0/150
提交评论