基于CISCO路由器的IPSEC VPN和BGPMPLS VPN_第1页
基于CISCO路由器的IPSEC VPN和BGPMPLS VPN_第2页
基于CISCO路由器的IPSEC VPN和BGPMPLS VPN_第3页
基于CISCO路由器的IPSEC VPN和BGPMPLS VPN_第4页
基于CISCO路由器的IPSEC VPN和BGPMPLS VPN_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于CISCO路由器的

IPSECVPN和BGP/MPLSVPN目录VPN简介IPSecVPNBGP/MPLSVPNIPSec基础端到端IPSecVPN的工作原理及配置EasyVPN(远程接入VPN)的工作原理及配置BGP/MPLSVPN的工作原理BGP/MPLSVPN的配置示例VPN背景总公司租用专线我们有很多分公司,如果用租用专线的方式把他们和总公司连起来,需要花很多钱想节约成本的话,可以用VPN来连接分公司分公司分公司VPN简介IPVPN(VirtualPrivateNetwork,虚拟专用网)就是利用开放的公众IP/MPLS网络建立专用数据传输通道,将远程的分支机构、移动办公人员等连接起来。IP/MPLS网中心站点分支机构移动办公人员隧道机制IPVPN可以理解为:通过隧道技术在公众IP/MPLS网络上仿真一条点到点的专线。隧道是利用一种协议来传输另外一种协议的技术,共涉及三种协议,包括:乘客协议、隧道协议和承载协议。被封装的原始IP包新增加的IP头IPSec头乘客协议隧道协议承载协议原始IP包经过IPSec封装后隧道带来的好处隧道保证了VPN中分组的封装方式及使用的地址与承载网络的封装方式及使用地址无关

Internet被封装的原始IP包新增加的IP头IPSec头私网地址公网地址中心站点分支机构Internet根据这个地址路由可以使用私网地址,感觉双方是用专用通道连接起来的,而不是Internet隧道按隧道类型对VPN分类隧道协议如下:第二层隧道协议,如L2TP第三层隧道协议,如IPSec介于第二层和第三层之间的隧道协议,如MPLSVPNL2TPL2TP封装的乘客协议是位于第二层的PPP协议。原始数据包新增加的IP头L2TP头可以是IP、IPX和AppleTalkPPP封装原始数据包PPP头L2TP封装原始数据包PPP头可以是IP、ATM和帧中继L2TP没有对数据进行加密。L2TP的典型应用--VPDNL2TP连接PPP连接用户发起PPP连接到接入服务器接入服务器封装用户的PPP会话到L2TP隧道,L2TP隧道穿过公共IP网络,终止于电信VPDN机房的LNS用户的PPPsession经企业内部的认证服务器认证通过后即可访问企业内部网络资源IPSecIPSec只能工作在IP层,要求乘客协议和承载协议都是IP协议被封装的原始IP包新增加的IP头IPSec头必须是IP协议必须是IP协议IPSec可以对被封装的数据包进行加密和摘要等,以进一步提高数据传输的安全性MPLSVPN的基本工作模式在入口边缘路由器为每个包加上MPLS标签,核心路由器根据标签值进行转发,出口边缘路由器再去掉标签,恢复原来的IP包。MPLS网P1P2PE1PE2CE1CE210.1.1.1MPLS标签10.1.1.110.1.1.1MPLSVPN的特点MPLS标签位于二层和三层之间三层包头MPLS标签二层包头二层包头三层包头MPLS封装三种VPN的比较L2TPIPSecMPLSVPN隧道协议类型第二层第三层第二层和第三层之间是否支持数据加密不支持支持不支持对设备的要求只要求边缘设备支持L2TP只要求边缘设备支持IPSec要求边缘设备和核心设备都支持MPLS目录VPN简介IPSecVPNBGP/MPLSVPNIPSec基础端到端IPSecVPN的工作原理及配置EasyVPN(远程接入VPN)的工作原理及配置BGP/MPLSVPN的工作原理BGP/MPLSVPN的配置示例IPSec概述IPSec是一种开放标准的框架结构,特定的通信方之间在IP层通过加密和数据摘要(hash)等手段,来保证数据包在Internet网上传输时的私密性(confidentiality)、完整性(dataintegrity)和真实性(originauthentication)。IPSec只能工作在IP层,要求乘客协议和承载协议都是IP协议被封装的原始IP包新增加的IP头IPSec头必须是IP协议必须是IP协议通过加密保证数据的私密性私密性:防止信息泄漏给未经授权的个人通过加密把数据从明文变成无法读懂的密文,从而确保数据的私密性Internet4ehIDx67NMop9eRU78IOPotVBn45TR土豆批发价两块钱一斤实在是看不懂加密4ehIDx67NMop9eRU78IOPotVBn45TR解密土豆批发价两块钱一斤对称加密如果加密密钥与解密密钥相同,就称为对称加密由于对称加密的运算速度快,所以IPSec使用对称加密算法来加密数据对数据进行hash运算来保证完整性完整性:数据没有被非法篡改通过对数据进行hash运算,产生类似于指纹的数据摘要,以保证数据的完整性土豆两块钱一斤Hash4ehIDx67NMop9土豆两块钱一斤4ehIDx67NMop9土豆三块钱一斤4ehIDx67NMop9我偷改数据Hash2fwex67N32rfee3两者不一致代表数据已被篡改对数据和密钥一起进行hash运算攻击者篡改数据后,可以根据修改后的数据生成新的摘要,以此掩盖自己的攻击行为。通过把数据和密钥一起进行hash运算,可以有效抵御上述攻击。土豆两块钱一斤Hashfefe23fgrNMop7土豆两块钱一斤fefe23fgrNMop7土豆三块钱一斤2fwex67N32rfee3我同时改数据和摘要两者还是不一致Hashfergergr23frewfgh对称密钥交换对称加密和hash都要求通信双方具有相同的密钥问题:怎样在双方之间安全地传递密钥?密钥哈哈,要是敢直接传递密钥,我就只好偷看了密钥DH算法的基本原理RouterARouterB生成一个整数p生成一个整数q把p发送到对端p把q发送到对端q根据p、q生成g根据p、q生成g生成密钥Xa生成密钥Xb把Ya=g^Xa发送到对端把Yb=g^Xb发送到对端YaYbKey=Yb^Xa=g^(Xb*Xa)Key=Ya^Xb=g^(Xa*Xb)最后得到的对称密钥双方没有直接传递密钥通过身份认证保证数据的真实性真实性:数据确实是由特定的对端发出通过身份认证可以保证数据的真实性。常用的身份认证方式包括:Pre-sharedkey,预共享密钥RSASignature,数字签名预共享密钥预共享密钥,是指通信双方在配置时手工输入相同的密钥。Hash_L+

路由器名等本地Hash共享密钥远端生成的Hash_LHash=+对端路由器名Internet共享密钥接收到的Hash_L数字证书RSA密钥对,一个是可以向大家公开的公钥,另一个是只有自己知道的私钥。用公钥加密过的数据只有对应的私钥才能解开,反之亦然。数字证书中存储了公钥,以及用户名等身份信息。数字证书

我是RouterA,我的公钥是…….数字签名认证+IDInformation加密Hash_I解密Hash_I私钥公钥本地远端Hash=+身份信息Hash对称密钥数字签名+身份信息Hash12数字证书+Internet对称密钥数字签名数字证书IPSec框架结构ESPAHDES3DESAESMD5SHADH1DH2IPSec框架可选择的算法IPSec安全协议加密数据摘要对称密钥交换IPSec安全协议AH(AuthenticationHeader)只能进行数据摘要(hash),不能实现数据加密ah-md5-hmac、ah-sha-hmacESP(EncapsulatingSecurityPayload)能够进行数据加密和数据摘要(hash)esp-des、esp-3des、esp-md5-hmac、esp-sha-hmac、IPSec安全协议描述了如何利用加密和hash来保护数据安全IPSec封装模式IPSec支持两种封装模式:传输模式和隧道模式传输模式:不改变原有的IP包头,通常用于主机与主机之间。IP头数据原始IP包IP头数据AH头AHhashAH对除了TTL等变化值以外的整个IP包进行hash运算IP头数据ESP头hashESPtrailerESPauthESP加密hashIPSec封装模式IPSec支持两种封装模式:传输模式和隧道模式隧道模式:增加新的IP头,通常用于私网与私网之间通过公网进行通信。IP头数据原始IP包IP头数据新IP头AHhashIP头数据ESP头hashESPtrailerESPauthESP加密hashAH头新IP头IPSec与NATAH模式无法与NAT一起运行AH对包括IP地址在内的整个IP包进行hash运算,而NAT会改变IP地址,从而破坏AH的hash值。IP头数据AH头hashhashNAT:我要修改源/目的IP地址AH:不行!我对IP地址也进行了hashIPSec与NATESP模式下:只进行地址映射时,ESP可与它一起工作。进行端口映射时,需要修改端口,而ESP已经对端口号进行了加密和/或hash,所以将无法进行。IP头

数据ESP头ESPtrailerESPauth加密TCP/UDP端口NAT:端口号被加密了,没法改,真郁闷IPSec与NATESP模式下:启用IPSecNAT穿越后,会在ESP头前增加一个UDP头,就可以进行端口映射。IP头

数据ESP头ESPtrailerESPauth加密TCP/UDP端口NAT:可以改端口号了,太棒了新UDP头目录VPN简介IPSecVPNBGP/MPLSVPNIPSec基础端到端IPSecVPN的工作原理及配置EasyVPN(远程接入VPN)的工作原理及配置BGP/MPLSVPN的工作原理BGP/MPLSVPN的配置示例对上一节的回顾IPSec协议框架包括加密、hash、对称密钥交换、安全协议等四个部分,这些部分都可以采用多种算法来实现。问题1:要成功建立IPSecVPN,两端路由器必须采用相同的加密算法、hash算法和安全协议等,但IPSec协议中并没有描述双方应如何协商这些参数。问题2:IPSec协议中没有定义通信双方如何进行身份认证,路由器有可能会和一个假冒的对端建立IPSecVPN。端到端IPSecVPN的工作原理需要保护的流量流经路由器,触发路由器启动相关的协商过程。启动IKE(Internetkeyexchange)阶段1,对通信双方进行身份认证,并在两端之间建立一条安全的通道。启动IKE阶段2,在上述安全通道上协商IPSec参数。按协商好的IPSec参数对数据流进行加密、hash等保护。HostAHostBRouterARouterB什么是端到端的VPN?IKE阶段1HostAHostBRouterARouterB10.0.1.310.0.2.3IKE阶段1协商建立IKE安全通道所使用的参数协商建立IKE安全通道所使用的参数IKE阶段1协商建立IKE安全通道所使用的参数,包括:加密算法Hash算法DH算法身份认证方法存活时间IKE阶段1Policy10DESMD5DH1Pre-sharelifetimePolicy15DESMD5DH1Pre-sharelifetimeRouterARouterBhostAhostBPolicy203DESSHADH1Pre-sharelifetimePolicy253DESSHADH2Pre-sharelifetime双方找到相同的策略集上述IKE参数组合成集合,称为IKEpolicy。IKE协商就是要在通信双方之间找到相同的policy。IKE阶段1HostAHostBRouterARouterB10.0.1.310.0.2.3IKE阶段1协商建立IKE安全通道所使用的参数交换对称密钥双方身份认证建立IKE安全通道协商建立IKE安全通道所使用的参数交换对称密钥双方身份认证建立IKE安全通道IKE阶段2HostAHostBRouterARouterB10.0.1.310.0.2.3IKE阶段2协商IPSec安全参数协商IPSec安全参数IKE阶段2双方协商IPSec安全参数,称为变换集transformset,包括:加密算法Hash算法安全协议封装模式存活时间Transform10DESMD5ESPTunnellifetimeTransform203DESSHAESPTunnellifetimeIKE与IPSec安全参数的比较加密算法Hash算法存活时间DH算法身份认证安全协议封装模式IKEIPSecIKE阶段2HostAHostBRouterARouterB10.0.1.310.0.2.3IKE阶段2协商IPSec安全参数建立IPSecSA协商IPSec安全参数建立IPSecSAIPSecSAIPSecSA(安全关联,SecurityAssociation):SA由SPD(securitypolicydatabase)和SAD(SAdatabase)组成。两端成功协商IPSec参数加密算法hash算法封装模式lifetime安全协议SPD加密SPIHash封装模式lifetimeSAD目的IP地址SPI安全协议IPSecSAIPSecSA(安全关联,SecurityAssociation):SPI(SecurityParameterIndex),由IKE自动分配发送数据包时,会把SPI插入到IPSec头中接收到数据包后,根据SPI值查找SAD和SPD,从而获知解密数据包所需的加解密算法、hash算法等。一个SA只记录单向的参数,所以一个IPSec连接会有两个IPSecSA。IPSecSAIPSecSA(安全关联,SecurityAssociation):使用SPI可以标识路由器与不同对象之间的连接。BANK192.168.2.1SPI–12ESP/3DES/SHAtunnel28800192.168.12.1

SPI–39ESP/DES/MD5tunnel28800InternetIPSecSAIPSecSA(安全关联,SecurityAssociation):达到lifetime以后,原有的IPSecSA就会被删除如果正在传输数据,系统会在原SA超时之前自动协商建立新的SA,从而保证数据的传输不会因此而中断。SA示例端到端IPSecVPN的配置流程配置IPSec前的准备工作配置IKE参数配置IPSec参数测试并验证IPSec是否正常工作端到端IPSecVPN的配置步骤1配置IPSec前的准备工作确认在配置IPSec之前,网络是通的。确认AH流量(IP协议号为50)、ESP流量(IP协议号为51)和ISAKMP流量(UDP的端口500)不会被ACL所阻塞。配置IPSec前的准备工作在RouterA上ping路由器RouterBRouterA上要有到site2的路由,RouterB上有到site1的路由有必要的情况下,在路由器中添加类似以下的ACL条目:RouterA#showaccess-listsaccess-list102permitahphost172.30.2.2host172.30.1.2access-list102permitesphost172.30.2.2host172.30.1.2access-list102permitudphost172.30.2.2host172.30.1.2eqisakmpE0/1172.30.1.2Site1Site2E0/1172.30.2.2AB10.0.1.310.0.2.3InternetRouterARouterB端到端IPSecVPN的配置步骤2配置IKE参数启用IKE创建IKE策略集policy配置IKE身份认证的相关参数验证IKE配置启用IKERouterA(config)#nocryptoisakmpenableRouterA(config)#cryptoisakmpenablerouter(config)#[no]cryptoisakmpenable默认情况下,IKE处于开启状态IKE在全局模式下对所有端口启用对于不希望使用IKE的端口,可以用ACL屏蔽UDP的500端口,达到阻断IKE的目的创建IKE策略cryptoisakmppolicypriorityrouter(config)#RouterA(config)#cryptoisakmppolicy110RouterA(config-isakmp)#encryptiondesRouterA(config-isakmp)#hashmd5RouterA(config-isakmp)#group1RouterA(config-isakmp)#authenticationpre-shareRouterA(config-isakmp)#lifetime86400Authentication---身份认证方式Encryption---加密算法Group---DH算法组Hash---摘要算法Lifetime---IKE生存期IKE策略集的取值<86400秒86400秒IKESA生存期DHGroup2DHGroup1密钥交换算法Rsa-sigPre-share身份认证方式SHA-1MD5摘要算法3DESDES加密算法更安全的取值安全的取值参数(56bit密钥)(3次DES运算)(128bit密钥)(160bit密钥)(768bit密钥)(1024bit密钥)(共享密钥)(数字签名)IKE策略集的优先级cryptoisakmppolicy100

hashmd5

authentication

pre-sharecryptoisakmppolicy200authenticationrsa-sig

hashshacryptoisakmppolicy300authenticationpre-sharehashmd5RouterA(config)#RouterB(config)#cryptoisakmppolicy100hashmd5authenticationpre-sharecryptoisakmppolicy200authenticationrsa-sighashshacryptoisakmppolicy300authenticationrsa-sighashmd5Priority表示策略集的优先级,该值越小表示优先级越高路由器将首先比较优先级最高的策略集是否匹配,因此本例中虽然三个策略集都匹配,但路由器只会采用policy100建议把最安全的策略集设为最高优先级使用共享密钥进行身份认证RouterA(config)#cryptoisakmpkeycisco1234address172.30.2.2router(config)#cryptoisakmpkeykeystringaddresspeer-addresscryptoisakmpkeykeystringhostnamehostnamerouter(config)#共享密钥Cisco1234Site1Site2172.30.2.2AB10.0.1.310.0.2.3InternetRouterARouterB两端路由器使用的共享密钥必须相同可以用IP地址或

主机名来指定对端验证IKE配置RouterA#showcryptoisakmppolicyProtectionsuiteofpriority110encryptionalgorithm:DES-DataEncryptionStandard(56bitkeys).hashalgorithm:MessageDigest5authenticationmethod:Pre-SharedKeyDiffie-Hellmangroup:#1(768bit)lifetime:86400seconds,novolumelimitDefaultprotectionsuiteencryptionalgorithm:DES-DataEncryptionStandard(56bitkeys).hashalgorithm:SecureHashStandardauthenticationmethod:Rivest-Shamir-AdlemanSignatureDiffie-Hellmangroup:#1(768bit)lifetime:86400seconds,novolumelimitshowcryptoisakmppolicy

router#显示已配置的和缺省的策略集端到端IPSecVPN的配置步骤3配置IPSec参数配置IPSec变换集用ACL定义需要IPSec保护的流量创建cryptomap把cryptomap应用到路由器的端口上配置IPSec变换集cryptoipsectransform-settransform-set-name

transform1[transform2[transform3]]router(cfg-crypto-trans)#router(config)#RouterA(config)#cryptoipsectransform-setmineesp-desRouterA(cfg-crypto-trans)#modetunnel每个变换集中可以包含AH变换、ESP变换和封装模式(隧道模式或传输模式)每个变换集中最多可以有一个AH变换和两个ESP变换IOS支持的变换RouterA(config)#cryptoipsectransform-set transform-set-name?ah-md5-hmacAH-HMAC-MD5transformah-sha-hmacAH-HMAC-SHAtransformesp-3desESPtransformusing3DES(EDE)cipher(168 bits)esp-desESPtransformusingDEScipher(56bits)esp-md5-hmacESPtransformusingHMAC-MD5authesp-sha-hmacESPtransformusingHMAC-SHAauthesp-nullESPtransformw/ocipher用ACL定义需要IPSec保护的流量access-listaccess-list-number[dynamicdynamic-name

[timeoutminutes]]{deny|permit}protocolsourcesource-wildcarddestinationdestination-wildcard[precedenceprecedence][tostos][log]router(config)#RouterA(config)#access-list110permittcp10.0.1.00.0.0.25510.0.2.00.0.0.255Site1Site2AB10.0.1.310.0.2.3InternetRouterARouterB10.0.1.010.0.2.0加密定义哪些流量需要IPSec保护Permit=要保护/deny=不用保护两端路由器要配置对称的ACLRouterA(config)#access-list110permittcp 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255RouterB(config)#access-list101permittcp

10.0.2.0 0.0.0.255 10.0.1.0 0.0.0.255E0/1172.30.1.2Site1Site2E0/1172.30.2.2AB10.0.1.310.0.2.3InternetRouterARouterBCryptomap的主要配置参数需要IPSec保护的流量的ACLVPN对端的IP地址使用的IPSec变换集协商建立IPSecSA的方式(手工或通过IKE)IPSecSA的存活期创建cryptomapcryptomapmap-nameseq-numipsec-manualcryptomapmap-nameseq-numipsec-isakmp

[dynamicdynamic-map-name]router(config)#Site1Site2AB10.0.1.310.0.2.3InternetRouterARouterBRouterA(config)#cryptomapmymap110ipsec-isakmpSite3B10.0.3.3RouterC每个路由器端口只能应用一个cryptomap当一个端口有多个VPN对端时,就使用seq-num来区分Cryptomap配置示例RouterA(config)#cryptomapmymap110ipsec-isakmpRouterA(config-crypto-map)#matchaddress110RouterA(config-crypto-map)#setpeer172.30.2.2RouterA(config-crypto-map)#setpeer172.30.3.2RouterA(config-crypto-map)#setpfsgroup1RouterA(config-crypto-map)#settransform-setmineRouterA(config-crypto-map)#setsecurity-associationlifetime86400Site1Site2172.30.2.2AB10.0.1.310.0.2.3RouterARouterB172.30.3.2BRouterCInternet可配置多个vpn对端进行冗余应用cryptomap到路由器端口上RouterA(config)#interfaceethernet0/1RouterA(config-if)#cryptomapmymapE0/1172.30.1.2Site1Site2E0/1172.30.2.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论