版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于CISCO路由器的
IPSECVPN和BGP/MPLSVPN基于CISCO路由器的
IPSECVPN和BGP/MPLS1目录VPN简介IPSecVPNBGP/MPLSVPNIPSec基础端到端IPSecVPN的工作原理及配置EasyVPN(远程接入VPN)的工作原理及配置BGP/MPLSVPN的工作原理BGP/MPLSVPN的配置示例目录VPN简介BGP/MPLSVPNIPSec基础2VPN背景总公司租用专线我们有很多分公司,如果用租用专线的方式把他们和总公司连起来,需要花很多钱想节约成本的话,可以用VPN来连接分公司分公司分公司VPN背景总公司租用专线我们有很多分公司,如果用租用专线的方3VPN简介IPVPN(VirtualPrivateNetwork,虚拟专用网)就是利用开放的公众IP/MPLS网络建立专用数据传输通道,将远程的分支机构、移动办公人员等连接起来。IP/MPLS网中心站点分支机构移动办公人员VPN简介IPVPN(Virtua4隧道机制IPVPN可以理解为:通过隧道技术在公众IP/MPLS网络上仿真一条点到点的专线。隧道是利用一种协议来传输另外一种协议的技术,共涉及三种协议,包括:乘客协议、隧道协议和承载协议。被封装的原始IP包新增加的IP头IPSec头乘客协议隧道协议承载协议原始IP包经过IPSec封装后隧道机制IPVPN可以理解为:通过隧道技术在公众IP/MP5隧道带来的好处隧道保证了VPN中分组的封装方式及使用的地址与承载网络的封装方式及使用地址无关
Internet被封装的原始IP包新增加的IP头IPSec头私网地址公网地址中心站点分支机构Internet根据这个地址路由可以使用私网地址,感觉双方是用专用通道连接起来的,而不是Internet隧道隧道带来的好处隧道保证了VPN中分组的封装方式及使用的地址与6按隧道类型对VPN分类隧道协议如下:第二层隧道协议,如L2TP第三层隧道协议,如IPSec介于第二层和第三层之间的隧道协议,如MPLSVPN按隧道类型对VPN分类隧道协议如下:7L2TPL2TP封装的乘客协议是位于第二层的PPP协议。原始数据包新增加的IP头L2TP头可以是IP、IPX和AppleTalkPPP封装原始数据包PPP头L2TP封装原始数据包PPP头可以是IP、ATM和帧中继L2TP没有对数据进行加密。L2TPL2TP封装的乘客协议是位于第二层的PPP协议。原始8L2TP的典型应用--VPDNL2TP连接PPP连接用户发起PPP连接到接入服务器接入服务器封装用户的PPP会话到L2TP隧道,L2TP隧道穿过公共IP网络,终止于电信VPDN机房的LNS用户的PPPsession经企业内部的认证服务器认证通过后即可访问企业内部网络资源L2TP的典型应用--VPDNL2TP连接PPP连接用户发起9IPSecIPSec只能工作在IP层,要求乘客协议和承载协议都是IP协议被封装的原始IP包新增加的IP头IPSec头必须是IP协议必须是IP协议IPSec可以对被封装的数据包进行加密和摘要等,以进一步提高数据传输的安全性IPSecIPSec只能工作在IP层,要求乘客协议和承载协议10MPLSVPN的基本工作模式在入口边缘路由器为每个包加上MPLS标签,核心路由器根据标签值进行转发,出口边缘路由器再去掉标签,恢复原来的IP包。MPLS网P1P2PE1PE2CE1CE210.1.1.1MPLS标签10.1.1.110.1.1.1MPLSVPN的基本工作模式在入口边缘路由器为每个包加上M11MPLSVPN的特点MPLS标签位于二层和三层之间三层包头MPLS标签二层包头二层包头三层包头MPLS封装MPLSVPN的特点MPLS标签位于二层和三层之间三层包头12三种VPN的比较L2TPIPSecMPLSVPN隧道协议类型第二层第三层第二层和第三层之间是否支持数据加密不支持支持不支持对设备的要求只要求边缘设备支持L2TP只要求边缘设备支持IPSec要求边缘设备和核心设备都支持MPLS三种VPN的比较L2TPIPSecMPLSVPN隧道协议类13目录VPN简介IPSecVPNBGP/MPLSVPNIPSec基础端到端IPSecVPN的工作原理及配置EasyVPN(远程接入VPN)的工作原理及配置BGP/MPLSVPN的工作原理BGP/MPLSVPN的配置示例目录VPN简介BGP/MPLSVPNIPSec基础14IPSec概述IPSec是一种开放标准的框架结构,特定的通信方之间在IP层通过加密和数据摘要(hash)等手段,来保证数据包在Internet网上传输时的私密性(confidentiality)、完整性(dataintegrity)和真实性(originauthentication)。IPSec只能工作在IP层,要求乘客协议和承载协议都是IP协议被封装的原始IP包新增加的IP头IPSec头必须是IP协议必须是IP协议IPSec概述IPSec是一种开放标15通过加密保证数据的私密性私密性:防止信息泄漏给未经授权的个人通过加密把数据从明文变成无法读懂的密文,从而确保数据的私密性Internet4ehIDx67NMop9eRU78IOPotVBn45TR土豆批发价两块钱一斤实在是看不懂加密4ehIDx67NMop9eRU78IOPotVBn45TR解密土豆批发价两块钱一斤通过加密保证数据的私密性私密性:防止信息泄漏给未经授权的个人16对称加密如果加密密钥与解密密钥相同,就称为对称加密由于对称加密的运算速度快,所以IPSec使用对称加密算法来加密数据对称加密如果加密密钥与解密密钥相同,就称为对称加密17对数据进行hash运算来保证完整性完整性:数据没有被非法篡改通过对数据进行hash运算,产生类似于指纹的数据摘要,以保证数据的完整性土豆两块钱一斤Hash4ehIDx67NMop9土豆两块钱一斤4ehIDx67NMop9土豆三块钱一斤4ehIDx67NMop9我偷改数据Hash2fwex67N32rfee3两者不一致代表数据已被篡改对数据进行hash运算来保证完整性完整性:数据没有被非法篡改18对数据和密钥一起进行hash运算攻击者篡改数据后,可以根据修改后的数据生成新的摘要,以此掩盖自己的攻击行为。通过把数据和密钥一起进行hash运算,可以有效抵御上述攻击。土豆两块钱一斤Hashfefe23fgrNMop7土豆两块钱一斤fefe23fgrNMop7土豆三块钱一斤2fwex67N32rfee3我同时改数据和摘要两者还是不一致Hashfergergr23frewfgh对数据和密钥一起进行hash运算攻击者篡改数据后,可以根据修19对称密钥交换对称加密和hash都要求通信双方具有相同的密钥问题:怎样在双方之间安全地传递密钥?密钥哈哈,要是敢直接传递密钥,我就只好偷看了密钥对称密钥交换对称加密和hash都要求通信双方具有相同的密钥问20DH算法的基本原理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)最后得到的对称密钥双方没有直接传递密钥DH算法的基本原理RouterARouterB生成一个整21通过身份认证保证数据的真实性真实性:数据确实是由特定的对端发出通过身份认证可以保证数据的真实性。常用的身份认证方式包括:Pre-sharedkey,预共享密钥RSASignature,数字签名通过身份认证保证数据的真实性真实性:数据确实是由特定的对端发22预共享密钥预共享密钥,是指通信双方在配置时手工输入相同的密钥。Hash_L+
路由器名等本地Hash共享密钥远端生成的Hash_LHash=+对端路由器名Internet共享密钥接收到的Hash_L预共享密钥预共享密钥,是指通信双方在配置时手工输入相同的密钥23数字证书RSA密钥对,一个是可以向大家公开的公钥,另一个是只有自己知道的私钥。用公钥加密过的数据只有对应的私钥才能解开,反之亦然。数字证书中存储了公钥,以及用户名等身份信息。数字证书我是RouterA,我的公钥是…….数字证书RSA密钥对,一个是可以向大家公开的公钥,另一个是只24数字签名认证+IDInformation加密Hash_I解密Hash_I私钥公钥本地远端Hash=+身份信息Hash对称密钥数字签名+身份信息Hash12数字证书+Internet对称密钥数字签名数字证书数字签名认证+ID加密Hash_I解密Hash_I私钥公钥25IPSec框架结构ESPAHDES3DESAESMD5SHADH1DH2IPSec框架可选择的算法IPSec安全协议加密数据摘要对称密钥交换IPSec框架结构ESPAHDES3DESAESMD5SHA26IPSec安全协议AH(AuthenticationHeader)只能进行数据摘要(hash),不能实现数据加密ah-md5-hmac、ah-sha-hmacESP(EncapsulatingSecurityPayload)能够进行数据加密和数据摘要(hash)esp-des、esp-3des、esp-md5-hmac、esp-sha-hmac、IPSec安全协议描述了如何利用加密和hash来保护数据安全IPSec安全协议AH(AuthenticationHe27IPSec封装模式IPSec支持两种封装模式:传输模式和隧道模式传输模式:不改变原有的IP包头,通常用于主机与主机之间。IP头数据原始IP包IP头数据AH头AHhashAH对除了TTL等变化值以外的整个IP包进行hash运算IP头数据ESP头hashESPtrailerESPauthESP加密hashIPSec封装模式IPSec支持两种封装模式:传输模式和隧道28IPSec封装模式IPSec支持两种封装模式:传输模式和隧道模式隧道模式:增加新的IP头,通常用于私网与私网之间通过公网进行通信。IP头数据原始IP包IP头数据新IP头AHhashIP头数据ESP头hashESPtrailerESPauthESP加密hashAH头新IP头IPSec封装模式IPSec支持两种封装模式:传输模式和隧道29IPSec与NATAH模式无法与NAT一起运行AH对包括IP地址在内的整个IP包进行hash运算,而NAT会改变IP地址,从而破坏AH的hash值。IP头数据AH头hashhashNAT:我要修改源/目的IP地址AH:不行!我对IP地址也进行了hashIPSec与NATAH模式无法与NAT一起运行IP头数据AH30IPSec与NATESP模式下:只进行地址映射时,ESP可与它一起工作。进行端口映射时,需要修改端口,而ESP已经对端口号进行了加密和/或hash,所以将无法进行。IP头数据ESP头ESPtrailerESPauth加密TCP/UDP端口NAT:端口号被加密了,没法改,真郁闷IPSec与NATESP模式下:IP头31IPSec与NATESP模式下:启用IPSecNAT穿越后,会在ESP头前增加一个UDP头,就可以进行端口映射。IP头数据ESP头ESPtrailerESPauth加密TCP/UDP端口NAT:可以改端口号了,太棒了新UDP头IPSec与NATESP模式下:IP头32目录VPN简介IPSecVPNBGP/MPLSVPNIPSec基础端到端IPSecVPN的工作原理及配置EasyVPN(远程接入VPN)的工作原理及配置BGP/MPLSVPN的工作原理BGP/MPLSVPN的配置示例目录VPN简介BGP/MPLSVPNIPSec基础33对上一节的回顾IPSec协议框架包括加密、hash、对称密钥交换、安全协议等四个部分,这些部分都可以采用多种算法来实现。问题1:要成功建立IPSecVPN,两端路由器必须采用相同的加密算法、hash算法和安全协议等,但IPSec协议中并没有描述双方应如何协商这些参数。问题2:IPSec协议中没有定义通信双方如何进行身份认证,路由器有可能会和一个假冒的对端建立IPSecVPN。对上一节的回顾IPSec协议框架包括加密、hash、对称密钥34端到端IPSecVPN的工作原理需要保护的流量流经路由器,触发路由器启动相关的协商过程。启动IKE(Internetkeyexchange)阶段1,对通信双方进行身份认证,并在两端之间建立一条安全的通道。启动IKE阶段2,在上述安全通道上协商IPSec参数。按协商好的IPSec参数对数据流进行加密、hash等保护。HostAHostBRouterARouterB什么是端到端的VPN?端到端IPSecVPN的工作原理需要保护的流量流经路由器,35IKE阶段1HostAHostBRouterARouterB10.0.1.310.0.2.3IKE阶段1协商建立IKE安全通道所使用的参数协商建立IKE安全通道所使用的参数IKE阶段1HostAHostBRouterARou36IKE阶段1协商建立IKE安全通道所使用的参数,包括:加密算法Hash算法DH算法身份认证方法存活时间IKE阶段1协商建立IKE安全通道所使用的参数,包括:37IKE阶段1Policy10DESMD5DH1Pre-sharelifetimePolicy15DESMD5DH1Pre-sharelifetimeRouterARouterBhostAhostBPolicy203DESSHADH1Pre-sharelifetimePolicy253DESSHADH2Pre-sharelifetime双方找到相同的策略集上述IKE参数组合成集合,称为IKEpolicy。IKE协商就是要在通信双方之间找到相同的policy。IKE阶段1Policy10Policy15Router38IKE阶段1HostAHostBRouterARouterB10.0.1.310.0.2.3IKE阶段1协商建立IKE安全通道所使用的参数交换对称密钥双方身份认证建立IKE安全通道协商建立IKE安全通道所使用的参数交换对称密钥双方身份认证建立IKE安全通道IKE阶段1HostAHostBRouterARou39IKE阶段2HostAHostBRouterARouterB10.0.1.310.0.2.3IKE阶段2协商IPSec安全参数协商IPSec安全参数IKE阶段2HostAHostBRouterARou40IKE阶段2双方协商IPSec安全参数,称为变换集transformset,包括:加密算法Hash算法安全协议封装模式存活时间Transform10DESMD5ESPTunnellifetimeTransform203DESSHAESPTunnellifetimeIKE阶段2双方协商IPSec安全参数,称为变换集trans41IKE与IPSec安全参数的比较加密算法Hash算法存活时间DH算法身份认证安全协议封装模式IKEIPSecIKE与IPSec安全参数的比较加密算法Hash算法存活时间42IKE阶段2HostAHostBRouterARouterB10.0.1.310.0.2.3IKE阶段2协商IPSec安全参数建立IPSecSA协商IPSec安全参数建立IPSecSAIKE阶段2HostAHostBRouterARou43IPSecSAIPSecSA(安全关联,SecurityAssociation):SA由SPD(securitypolicydatabase)和SAD(SAdatabase)组成。两端成功协商IPSec参数加密算法hash算法封装模式lifetime安全协议SPD加密SPIHash封装模式lifetimeSAD目的IP地址SPI安全协议IPSecSAIPSecSA(安全关联,Securit44IPSecSAIPSecSA(安全关联,SecurityAssociation):SPI(SecurityParameterIndex),由IKE自动分配发送数据包时,会把SPI插入到IPSec头中接收到数据包后,根据SPI值查找SAD和SPD,从而获知解密数据包所需的加解密算法、hash算法等。一个SA只记录单向的参数,所以一个IPSec连接会有两个IPSecSA。IPSecSAIPSecSA(安全关联,Securit45IPSecSAIPSecSA(安全关联,SecurityAssociation):使用SPI可以标识路由器与不同对象之间的连接。BANK192.168.2.1SPI–12ESP/3DES/SHAtunnel28800192.168.12.1
SPI–39ESP/DES/MD5tunnel28800InternetIPSecSAIPSecSA(安全关联,Securit46IPSecSAIPSecSA(安全关联,SecurityAssociation):达到lifetime以后,原有的IPSecSA就会被删除如果正在传输数据,系统会在原SA超时之前自动协商建立新的SA,从而保证数据的传输不会因此而中断。IPSecSAIPSecSA(安全关联,Securit47SA示例SA示例48端到端IPSecVPN的配置流程配置IPSec前的准备工作配置IKE参数配置IPSec参数测试并验证IPSec是否正常工作端到端IPSecVPN的配置流程配置IPSec前的准备工作49端到端IPSecVPN的配置步骤1配置IPSec前的准备工作确认在配置IPSec之前,网络是通的。确认AH流量(IP协议号为50)、ESP流量(IP协议号为51)和ISAKMP流量(UDP的端口500)不会被ACL所阻塞。端到端IPSecVPN的配置步骤1配置IPSec前的准备工50配置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配置IPSec前的准备工作在RouterA上ping路由器R51端到端IPSecVPN的配置步骤2配置IKE参数启用IKE创建IKE策略集policy配置IKE身份认证的相关参数验证IKE配置端到端IPSecVPN的配置步骤2配置IKE参数52启用IKERouterA(config)#nocryptoisakmpenableRouterA(config)#cryptoisakmpenablerouter(config)#[no]cryptoisakmpenable默认情况下,IKE处于开启状态IKE在全局模式下对所有端口启用对于不希望使用IKE的端口,可以用ACL屏蔽UDP的500端口,达到阻断IKE的目的启用IKERouterA(config)#nocrypt53创建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策略cryptoisakmppolicypr54IKE策略集的取值<86400秒86400秒IKESA生存期DHGroup2DHGroup1密钥交换算法Rsa-sigPre-share身份认证方式SHA-1MD5摘要算法3DESDES加密算法更安全的取值安全的取值参数(56bit密钥)(3次DES运算)(128bit密钥)(160bit密钥)(768bit密钥)(1024bit密钥)(共享密钥)(数字签名)IKE策略集的取值<86400秒86400秒IKESA55IKE策略集的优先级cryptoisakmppolicy100
hashmd5
authentication
pre-sharecryptoisakmppolicy200authenticationrsa-sig
hashshacryptoisakmppolicy300authenticationpre-sharehashmd5RouterA(config)#RouterB(config)#cryptoisakmppolicy100hashmd5authenticationpre-sharecryptoisakmppolicy200authenticationrsa-sighashshacryptoisakmppolicy300authenticationrsa-sighashmd5Priority表示策略集的优先级,该值越小表示优先级越高路由器将首先比较优先级最高的策略集是否匹配,因此本例中虽然三个策略集都匹配,但路由器只会采用policy100建议把最安全的策略集设为最高优先级IKE策略集的优先级cryptoisakmppolicy56使用共享密钥进行身份认证RouterA(config)#cryptoisakmpkeycisco1234address172.30.2.2router(config)#cryptoisakmpkeykeystringaddresspeer-addresscryptoisakmpkeykeystringhostnamehostnamerouter(config)#共享密钥Cisco1234Site1Site2172.30.2.2AB10.0.1.310.0.2.3InternetRouterARouterB两端路由器使用的共享密钥必须相同可以用IP地址或
主机名来指定对端使用共享密钥进行身份认证RouterA(config)#c57验证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#显示已配置的和缺省的策略集验证IKE配置RouterA#showcryptois58端到端IPSecVPN的配置步骤3配置IPSec参数配置IPSec变换集用ACL定义需要IPSec保护的流量创建cryptomap把cryptomap应用到路由器的端口上端到端IPSecVPN的配置步骤3配置IPSec参数59配置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变换配置IPSec变换集cryptoipsectransfo60IOS支持的变换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/ocipherIOS支持的变换RouterA(config)#crypt61用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=不用保护用ACL定义需要IPSec保护的流量access-list62两端路由器要配置对称的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.3InternetRouterARouterB两端路由器要配置对称的ACLRouterA(config)#63Cryptomap的主要配置参数需要IPSec保护的流量的ACLVPN对端的IP地址使用的IPSec变换集协商建立IPSecSA的方式(手工或通过IKE)IPSecSA的存活期Cryptomap的主要配置参数需要IPSec保护的流量的64创建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来区分创建cryptomapcryptomapmap-nam65Cryptomap配置示例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)66应用cryptomap到路由器端口上RouterA(config)#interfaceethernet0/1RouterA(config-if)#cryptomapmymapE0/1172.30.1.2Site1Site2E0/1172.30.2.2AB10.0.1.310.0.2.3InternetRouterARouterBmymaprouter(config-if)#cryptomapmap-name在出口上应用cryptomap应用cryptomap到路由器端口上RouterA(con67端到端IPSecVPN的配置步骤4测试并验证IPSec是否正常工作_1显示IKE策略
showcryptoisakmppolicy显示IPSec变换集
showcryptoipsectransform-set显示cryptomaps
showcryptomap端到端IPSecVPN的配置步骤4测试并验证IPSec是否68端到端IPSecVPN的配置步骤4测试并验证IPSec是否正常工作_2显示IPSecSA的状态
showcryptoipsecsadebugIPSec事件
debugcryptoipsecdebugISAKMP事件
debugcryptoisakmp端到端IPSecVPN的配置步骤4测试并验证IPSec是否69端到端IPSecVPN的配置示例RouterA#showruncryptoisakmppolicy110hashmd5authenticationpre-sharecryptoisakmpkeycisco1234address172.30.2.2!cryptoipsectransform-setmineesp-des!cryptomapmymap10ipsec-isakmpsetpeer172.30.2.2settransform-setminematchaddress110!interfaceEthernet0/1ipaddress172.30.1.2255.255.255.0noipdirected-broadcastcryptomapmymap!access-list110permittcp10.0.1.00.0.0.25510.0.2.00.0.0.255E0/1172.30.1.2Site1Site2E0/1172.30.2.2AB10.0.1.310.0.2.3InternetRouterARouterBRouterB#showruncryptoisakmppolicy110hashmd5authenticationpre-sharecryptoisakmpkeycisco1234address172.30.1.2!cryptoipsectransform-setmineesp-des!cryptomapmymap10ipsec-isakmpsetpeer172.30.1.2settransform-setminematchaddress101!interfaceEthernet0/1ipaddress172.30.2.2255.255.255.0noipdirected-broadcastcryptomapmymap!access-list101permittcp10.0.2.00.0.0.25510.0.1.00.0.0.255端到端IPSecVPN的配置示例RouterA#show70目录VPN简介IPSecVPNBGP/MPLSVPNIPSec基础端到端IPSecVPN的工作原理及配置EasyVPN(远程接入VPN)的工作原理及配置BGP/MPLSVPN的工作原理BGP/MPLSVPN的配置示例目录VPN简介BGP/MPLSVPNIPSec基础71EasyVPN的特点EasyVPNRemoteEasyVPNServer端到端模式下,两端路由器都要进行较复杂的配置EasyVPN模式下,Remote只需要进行简单的配置,其余大部分参数由Server端直接推送给它EasyVPN模式常用于用户的远程接入Remote可以是ciscovpnclient,server端可以是路由器,其IOS要求高于或等于12.2(8)TEasyVPN的特点EasyVPNRemoteEasy72流程1--client向server发送IKEpolicyRemotePCwithEasyRemoteVPNClient3.xIOSrouter12.2(8)T
EasyVPNServerPolicy1,Policy2,Policy3EasyVPN由client触发ciscovpnclient中内置了多个IKEpolicyclient触发EasyVPN后,会把内置的IKEpolicy全部发送到server端流程1--client向server发送IKEpolicy73流程2--server找到匹配的policyserver把client发送来的IKEpolicy与自己的policy相比较找到匹配值后成功建立IKESARemotePCwithEasyRemoteVPNClient3.xIOSrouter12.2(8)T
EasyVPNServerPolicy1检查后发现policy1匹配流程2--server找到匹配的policyserver74流程3--server要client输入用户/口令RemotePCwithEasyRemoteVPNClient3.xIOSrouter12.2(8)T
EasyVPNServerUsername/passwordAAAcheckingUsername/passwordchallenge如果配置了扩展认证Xauth,server端将要求client端发送用户名/口令进行身份认证配置Xauth将获得更高的安全性,因此建议server端配置Xauth流程3--server要client输入用户/口令Rem75流程4--server向client推送参数RemotePCwithEasyRemoteVPNClient3.xIOSrouter12.2(8)T
EasyVPNServerClient请求配置参数Server推送配置参数身份认证通过后,client将向server请求其余的配置参数Server向client推送的参数至少要包含分配给client的IP地址流程4--server向client推送参数RemoteP76流程5--server进行反向路由注入RemotePCwithEasyRemoteVPNClient3.xIOSrouter12.2(8)T
EasyVPNServer创建RRI静态路由Server进行反向路由注入(ReverseRouteInjeciton,RRI),为刚分配的client端IP地址产生一条静态路由,以便正确地路由发送给client端的数据包流程5--server进行反向路由注入RemotePCw77流程6--建立IPSecSARemotePCwithEasyRemoteVPNClient3.xIOSrouter12.2(8)T
EasyVPNServer建立IPSecSAVPNtunnelClient收到配置参数,双方建立IPSecSA流程6--建立IPSecSARemotePCwith78EasyVPN在server端的配置步骤vpngate1创建IKE策略集,该策略集至少要能与vpnclient的一个内置策略集相匹配,以便在server和client之间建立IKESA定义要推送给client的组属性,其中包含分配给client的地址池、pre-sharekey等定义IPSec变换集(只用于client触发建立IPSecSA时,如果是server触发建立IPSecSA就不需要使用)启用DPD死亡对端检测配置Xauth扩展认证把cryptomap应用到路由器端口上EasyVPN在server端的配置步骤vpngate1创79创建IKE策略集vpngate1(config)#cryptoisakmpenablevpngate1(config)#cryptoisakmppolicy1vpngate1(config-isakmp)#authenpre-sharevpngate1(config-isakmp)#encryption3desvpngate1(config-isakmp)#group2vpngate1(config-isakmp)#exitAuthen:PresharedkeysEncryption:3-DESDiffie-Hellman:Group2Othersettings:DefaultPolicy1vpngate1创建IKE策略集vpngate1(config)#cryp80Ciscovpnclient内置的部分策略集DESMD5DH2Pre-share3DESMD5DH2Pre-share3DESSHADH2Pre-sharevpngate1Ciscovpnclient内置的部分策略集DES3DE81定义分配给client的地址池router(config)#iplocalpool{default|pool-name
low-ip-address[high-ip-address]}vpngate1(config)#iplocalpoolremote-pool10.0.1.10010.0.1.150vpngate1Remoteclientremote-pool10.0.1.100to10.0.1.150Pool地址池中的地址将分配给client端定义分配给client的地址池router(config)#82定义推送给client的组属性router(config)#cryptoisakmpclientconfigurationgroup{group-name|default}vpngate1(config)#cryptoisakmpclientconfigurationgroupvpngroup1vpngate1(config-isakmp-group)#keymyvpnkeyvpngate1(config-isakmp-group)#poolremote-poolKey:myvpnkeyPoolname:remote-poolGroup:vpngroup1vpngate1Remoteclient可定义多个组,每个组使用自己的pre-sharekey和地址池定义推送给client的组属性router(config)#83配置组属性的查询模式router(config)#aaaauthorizationnetworkgroup-namelocalgroupradiusvpngate1(config)#aaanew-modelvpngate1(config)#aaaauthorizationnetwork
vpn-remote-accesslocalvpngate1Remoteclientvpn-remote-accessGrouprouter(config)#aaanew-model定义查询模式vpn-remote-access,表明是在路由器本地查询配置组属性的查询模式router(config)#aaaa84把组属性查询模式与cryptomap关联router(config)#cryptomapmap-nameisakmpauthorizationlistlist-namevpngate1(config)#cryptomapdynmapisakmpauthorizationlistvpn-remote-accessvpngate1Remoteclientvpn-remote-accessGroup把组属性查询模式与cryptomap关联router(co85配置路由器响应client的IP地址申请router(config)#cryptomapmap-nameclientconfigurationaddress{initiate|respond}vpngate1(config)#cryptomapdynmapclientconfigurationaddressrespondvpngate1Remoteclient配置路由器响应client的IP地址申请router(con86创建IPSec变换集router(config)#cryptoipsectransform-settransform-set-name
transform1[transform2[transform3]]vpngate1(config)#cryptoipsectransform-setvpntransformesp-3desesp-sha-hmacvpngate1(cfg-crypto-trans)#exitvpntransformTransformsetnamevpngate1Remoteclient创建IPSec变换集router(config)#crypt87创建动态cryptomaprouter(config)#cryptodynamic-mapdynamic-map-name
dynamic-seq-numvpngate1(config)#cryptodynamic-mapmaptemplate1vpngate1(config-crypto-map)#settransform-setvpntransformvpngate1(config-crypto-map)#reverseroutevpngate1(config-crypto-map)#exitmaptemplate1Cryptomapname/sequence#vpngate1创建动态cryptomaprouter(config)#c88动态cryptomap与静态cryptomap静态cryptomap中要配置保护流量的ACL等EasyVPN模式下client的地址是变化的,定义保护流量的ACL比较困难,所以不适宜直接使用静态cryptomap动态cryptomap中不需要配置全部参数,缺少的参数可以在后续动态地配置动态cryptomap与静态cryptomap静态cry89把动态map与静态map相关联router(config)#cryptomapmap-name
seq-numipsec-isakmpdynamicdynamic-map-namevpngate1(config)#cryptomapdynmap1
ipsec-isakmpdynamicmaptemplatevpngate1Remoteclientdynmap1Cryptomapname/sequence#把动态map与静态map相关联router(config)#90启用IKE的DPD死亡对端检测vpngate1router(config)#cryptoisakmpkeepalivesecsretries
vpngate1(config)#cryptoisakmpkeepalive20101)DPDSend:Areyouthere?2)DPDReply:YesIamhere.2)DPDReply:YesIamhere.Secs:发送DPD消息的时间间隔,取值范围是10-3600秒Retries:DPD失败后隔多长时间重发,取值范围是2-60秒启用IKE的DPD死亡对端检测vpngate1router(91启用AAA登录认证router(config)#aaaauthenticationloginlist-namemethod1[method2…]vpngate1(config)#aaaauthenticationloginvpnuserslocalvpngate1(config)#usernameuser1passwordpass1vpngate1(config)#usernameuser2passwordpass2vpngate1RemoteclientvpnusersVPNusergroup启用AAA登录认证router(config)#aaaau92定义扩展认证Xauth的超时时间router(config)#cryptoisakmpxauthtimeoutsecondsvpngate1(config)#cryptoisakmpxauthtimeout20vpngate1RemoteclientvpnusersVPNusergroup20seconds定义扩展认证Xauth的超时时间router(config)93把Xauth认证方式与cryptomap关联router(config)#cryptomapmap-nameclientauthenticationlistlist-namevpngate1(config)#cryptomapdynmapclientauthenticationlistvpnusersvpngate1RemoteclientvpnusersVPNusergroupdynmap1Cryptomapname把Xauth认证方式与cryptomap关联router(94把cryptomap应用到路由器的端口vpngate1(config)#interfaceethernet0/1vpngate1(config-if)#cryptomapdynmapvpngate1(config-if)#exitdynmap1Cryptomapnamevpngate1Remotecliente0/1把cryptomap应用到路由器的端口vpngate1(c95EasyVPN在client端的配置步骤1点击“new”创建一个新条目EasyVPN在client端的配置步骤1点击“new”创96EasyVPN在client端的配置步骤2设置EasyVPNserver的IP地址EasyVPN在client端的配置步骤2设置EasyV97EasyVPN在client端的配置步骤3设置组名和对应的pre-sharekeyEasyVPN在client端的配置步骤3设置组名和对应的98Xauth扩展认证如果设置了Xauth扩展认证,在连接的过程中会提示输入用户名/口令Xauth扩展认证如果设置了Xauth扩展认证,在连接的过程99连接成功后的状态信息连接成功后的状态信息100目录VPN简介IPSecVPNBGP/MPLSVPNIPSec基础端到端IPSecVPN的工作原理及配置EasyVPN(远程接入VPN)的工作原理及配置BGP/MPLSVPN的工作原理BGP/MPLSVPN的配置示例目录VPN简介BGP/MPLSVPNIPSec基础101VPN中的角色CECECECEPEPEPP运营商网络用户网络用户网络CE(CustomEdgeRouter),用户边缘路由器,直接与运营商网络相连PE(ProviderEdgeRouter),运营商边缘路由器,与CE相连,主要负责VPN业务的接入。P(ProviderRouter):运营商核心路由器,主要完成路由和快速转发功能。VPN中的角色CECECECEPEPEPP运营商网络用户网络102对IPSecVPN的回顾CECECECEPEPEPPIPSec隧道在CE与CE之间建立,需要用户自己创建并维护VPNIPSecVPN的创建以及相关用户路由的配置等都需要手工完成扩展不方便,如果用户VPN网络中新增一个节点,需要完成以下工作:1.在这个新增结点上建立与所有已存在的N个结点的隧道及相关的路由;2.对于已存在的N个结点,需要在每个结点上都建立一个与新增结点之间的隧道及相关的路由。VPN_AVPN_AVPN_BVPN_B10.1.0.010.1.0.010.3.0.010.3.0.0IPSecVPNtunnelVPN_A10.4.0.0对IPSecVPN的回顾CECECECEPEPEPPIPS103BGP/MPLSVPN要达到的目标CECECECEPEPEPP隧道在PE与PE之间建立,用户不需要自己维护VPN把VPN隧道的部署及路由发布变为动态实现VPN_AVPN_AVPN_BVPN_B10.1.0.010.1.0.010.3.0.010.3.0.0VPNtunnelBGP/MPLSVPN要达到的目标CECECECEPEPE104要解决的主要问题CECECECEPEPEPP提供一种动态建立的隧道技术解决不同VPN共享相同地址空间的问题VPN_AVPN_AVPN_BVPN_B10.1.0.010.1.0.010.3.0.010.3.0.0MPLSBGPVPNtunnel要解决的主要问题CECECECEPEPEPP提供一种动态建立105动态隧道----MPLS动态隧道----MPLS106MPLS与动态隧道MPLS(MultiProtocollabelSwitch,多协议标签交换)是根据标签对数据包进行转发,因此在三层数据包中可以使用私有地址,从而形成了一种天然的隧道。MPLS标签的分发可以通过LDP等协议动态完成,所以MPLS能够提供动态的隧道。三层包头MPLS标签二层包头MPLS与动态隧道MPLS(MultiProtocolla107MPLS包头结构MPLS包头通常有32Bit:20Bit用作标签(Label)3个Bit的EXP,协议中没有明确,通常用作COS1个Bit的S,用于标识是否是栈底,表明MPLS的标签可以嵌套。理论上,标记栈可以无限嵌套,从而提供无限的业务支持能力。8个Bit的TTL2层头部MPLS头部IP头部数据标签EXPSTTL32Bit020232432MPLS包头结构MPLS包头通常有32Bit:2层头部MPL108MPLS标签的生成1R1R2R3R4172.16.1/24路由器发现有直连路由时就会向外发送标签172.16.1/24Label20In20MPLS标签的生成1R1R2R3R4172.16.1/24路109MPLS标签的生成2R1R2R3R4172.16.1/24路由器发现自己有直连路由时就会向外发送标签收到下游到某条路由的标签并且该路由生效(也就是说,在本地已经存在该条路由,并且路由的下一跳和标签的下一跳相同)时会发送标签。172.16.1/24Label20In20172.16.1/24In20out20172.16.1/24In30out20Label30Label40Label50172.16.1/24out30MPLS标签的生成2R1R2R3R4172.16.1/24路110MPLS标签生成的要点R1R2R3R4172.16.1/24运行MPLS的路由器中必须同时运行普通路由协议通过标签形成的路经,与查找路由表形成的路径是相同的In标签是由本地路由器发给其他路由器的,Out标签是由其他路由器发给自己的。172.16.1/24Label20In20172.16.1/24In20out20172.16.1/24In30out20Label30Label40Label50172.16.1/24out30MPLS标签生成的要点R1R2R3R4172.16.1/24111MPLS数据包转发R1R2R3R4172.16.1/24172.16.1/24In20172.16.1/24In30out20172.16.1/24out30172.16.1.21302172.16.1.2303172.16.1.2204172.16.1.2205172.16.1.26172.16.1.2MPLS数据包转发R1R2R3R4172.16.1/2417112MPLS的优化1R1R2R3R4172.16.1/24172.16.1/24In20172.16.1/24In30out20172.16.1/24out30172.16.1.21302172.16.1.2303172.16.1.2204172.16.1.2205172.16.1.26172.16.1.2最后一跳路由器收到数据包后,并不需要进行标签转发,所做的只是去掉标签,然后送交IP层。最好在倒数第二跳路由器就去掉标签,直接把IP报文发送给最后一跳路由器。问题:路由器怎么知道自己是倒数第二跳?MPLS的优化1R1R2R3R4172.16.1/24172113MPLS的优化2R1R2R3R4172.16.1/24172.16.1/24In3172.16.1/24In30out3172.16.1/24out30172.16.1.21302172.16.1.2303172.16.1.24172.16.1.25172.16.1.2最后一跳路由器向倒数第二跳分配一个特殊的标签3。路由器查看标签转发表,如果发现out标签是3,就认为自己是倒数第二跳路由器。标签分配方式(优化前)标签分配方式(优化后)转发方式(优化前)转发方式(优化后)倒数第一跳随机分配分配特定的标签3标签弹出,IP路由转发IP路由转发倒数第二跳随机分配随机分配标签交换标签弹出MPLS的优化2R1R2R3R4172.16.1/24172114地址冲突----BGP地址冲突----BGP115地址冲突的细分CECECECEPEPEPP本地路由冲突问题,即在同一台PE上如何区分不同VPN的相同路由。(PE发时)路由在网络中的传播问题,即在PE上接收到来自不同VPN的两条相同路由时,如何进行辨别(PE收时)数据包的转发问题,即使成功解决了路由表的冲突,但在PE接收到一个IP数据包时,怎么知道该发给那个VPN?因为IP数据包头中唯一可用的信息就是目的地址,而很多VPN中都可能存在这个地址。VPN_AVPN_AVPN_BVPN_B10.1.0.010.1.0.010.3.0.010.3.0.0地址冲突的细分CECECECEPEPEPP本地路由冲突问题,116解决本地路由冲突的思路CECEPE在PE上同时维护多张相互独立路由表一张全局路由表(公网路由表)为每个VPN建立一个路由表由于每个VPN使用自己独立的路由表,因此可以有效地解决本地路由冲突。VPN_AVPN_B10.1.0.010.1.0.0GlobalRoutingTableVRFforVPN-AVRFforVPN-BVPNRoutingTableIGP&/orBGP解决本地路由冲突的思路CECEPE在PE上同时维护多张相互独117VRFVRF(VPNRouting&ForwardingInstance,VPN路由转发实例)可以看作虚拟的路由器,该虚拟路由器包括以下元素:一张独立的路由表,从而包括了独立的地址空间;一组归属于这个VRF的路由器接口的集合;一组只用于本VRF的路由协议。问题:VRF实现了不同VPN之间路由的隔离,这并不够,如何实现VRF之间的路由发布和交互呢?VRFVRF(VPNRouting&Forwardin118RT(Routetarget)PE2PE1Vrf1:exportredimportredVrf2:exporty
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语文学科核心素养观照下的小学习作教学衔接策略
- 2026三年级数学上册 两位数乘一位数口算
- 2026二年级数学 北师大版儿童乐园时间认识
- 护理感染预防的实践指南
- 打架斗殴责任制度
- 扫黑除恶主体责任制度
- 承销商法律责任制度
- 抗震质量责任制度
- 护路联防部门责任制度
- 指挥中心工作责任制度
- 第一单元《写作:考虑目的和对象》八年级语文下册同步课件(统编版新教材)
- 2025~2026学年新版教科版六年级下册科学教学计划
- 2026上海烟草机械有限责任公司招聘9人笔试参考题库及答案解析
- 2026银行间市场数据报告库(上海)股份有限公司招聘30人笔试参考题库及答案解析
- 2026年吉安幼儿师范高等专科学校单招综合素质考试题库含答案详解(巩固)
- 电梯应急处置预案和应急救援措施方案
- 妇科妇科肿瘤靶向治疗护理
- 2026及未来5年中国凝血酶行业市场供需态势及未来趋势研判报告
- 雨课堂学堂在线学堂云《短视频创意与制作(北京邮电)》单元测试考核答案
- (2026年)心理健康中小学生主题班会课件
- 2024年首都医科大学辅导员招聘考试真题汇编附答案
评论
0/150
提交评论