《基于h3c路由器的.ppt》由会员分享,可在线阅读,更多相关《基于h3c路由器的.ppt(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于h3c路由器的IPSEC VPN目 录 VPN简介 IPSec VPNIPSec基础端到端IPSec VPN的工作原理及配置VPN背景总公司租用专线我们有很多分公司,如果用租用专线的方式把他们和总公司连起来,需要花很多钱想节约成本的话,可以用VPN来连接分公司分公司分公司VPN简介 IP VPN(Virtual Private Network,虚拟专用网)就是利用开放的公众IP/MPLS网络建立专用数据传输通道,将远程的分支机构、移动办公人员等连接起来。IP/MPLS网中心站点分支机构移动办公人员隧道机制 IP VPN可以理解为:通过隧道技术在公众IP/MPLS网络上仿真一条点到点的专线。
2、隧道是利用一种协议来传输另外一种协议的技术,共涉及三种协议,包括:乘客协议、隧道协议和承载协议。被封装的原始IP包 新增加的IP头 IPSec头乘客协议隧道协议 承载协议原始IP包经过IPSec封装后 乘客协议被封装的协议,如PPP、SLIP;封装协议隧道的建立、维持和断开,如L2TP、IPSec等;承载协议承载经过封装后的数据包的协议,如IP和ATM等。目前因特网上较为常见的隧道协议大致有两类:第二层隧道协议PPTP、L2F、L2TP和第三层隧道协议GRE、IPSec。第二层和第三层隧道协议的区别主要在于用户数据在网络协议栈的第几层被封装。其中GRE和IPSec主要用于实现专线VPN业务,L
3、2TP主要用于实现拨号VPN业务,也可用于实现专线VPN业务。隧道带来的好处 隧道保证了VPN中分组的封装方式及使用的地址与承载网络的封装方式及使用地址无关 Internet被封装的原始IP包 新增加的IP头 IPSec头私网地址公网地址中心站点分支机构Internet根据这个地址路由可以使用私网地址,感觉双方是用专用通道连接起来的,而不是Internet隧道按隧道类型对VPN分类 隧道协议如下:第二层隧道协议,如L2TP 第三层隧道协议,如IPSec 介于第二层和第三层之间的隧道协议,如MPLS VPNL2TP L2TP封装的乘客协议是位于第二层的PPP协议。原始数据包新增加的IP头 L2T
4、P头可以是IP、IPX和AppleTalkPPP封装原始数据包PPP头L2TP封装原始数据包PPP头可以是IP、ATM和帧中继 L2TP没有对数据进行加密。L2TP的典型应用-VPDNL2TP连接 PPP连接用户发起PPP连接到接入服务器接入服务器封装用户的PPP会话到L2TP隧道,L2TP隧道穿过公共IP网络,终止于电信VPDN机房的LNS用户的PPP session经企业内部的认证服务器认证通过后即可访问企业内部网络资源IPSec IPSec只能工作在IP层,要求乘客协议和承载协议都是IP协议被封装的原始IP包 新增加的IP头 IPSec头必须是IP协议 必须是IP协议 IPSec可以对被
5、封装的数据包进行加密和摘要等,以进一步提高数据传输的安全性MPLS VPN的基本工作模式 在入口边缘路由器为每个包加上MPLS标签,核心路由器根据标签值进行转发,出口边缘路由器再去掉标签,恢复原来的IP包。MPLS网P1 P2PE1PE2CE1CE2MPLS标签MPLS VPN的特点 MPLS标签位于二层和三层之间三层包头MPLS 标签二层包头二层包头 三层包头MPLS封装三种VPN的比较L2TP IPSec MPLS VPN隧道协议类型 第二层 第三层 第二层和第三层之间是否支持数据加密不支持 支持 不支持对设备的要求 只要求边缘设备支持L2TP只要求边缘设备支持IPSec要求边缘设备和核心
6、设备都支持MPLS目 录 VPN简介 IPSec VPN BGP/MPLS VPNIPSec基础端到端IPSec VPN的工作原理及配置Easy VPN(远程接入VPN)的工作原理及配置BGP/MPLS VPN的工作原理BGP/MPLS VPN的配置示例IPSec概述 IPSec是一种开放标准的框架结构,特定的通信方之间在IP 层通过加密和数据摘要(hash)等手段,来保证数据包在Internet 网上传输时的私密性(confidentiality)、完整性(data integrity)和真实性(origin authentication)。IPSec只能工作在IP层,要求乘客协议和承载协议
7、都是IP协议被封装的原始IP包 新增加的IP头 IPSec头必须是IP协议 必须是IP协议通过加密保证数据的私密性 私密性:防止信息泄漏给未经授权的个人 通过加密把数据从明文变成无法读懂的密文,从而确保数据的私密性Internet4ehIDx67NMop9eRU78IOPotVBn45TR土豆批发价两块钱一斤实在是看不懂加密4ehIDx67NMop9eRU78IOPotVBn45TR解密土豆批发价两块钱一斤对称加密 如果加密密钥与解密密钥相同,就称为对称加密 对称加密 由于对称加密的运算速度快,所以IPSec使用对称加密算法来加密数据对数据进行hash运算来保证完整性 完整性:数据没有被非法篡
8、改 通过对数据进行hash运算,产生类似于指纹的数据摘要,以保证数据的完整性土豆两块钱一斤Hash4ehIDx67NMop9土豆两块钱一斤4ehIDx67NMop9土豆三块钱一斤4ehIDx67NMop9我偷改数据Hash2fwex67N32rfee3两者不一致代表数据已被篡改对数据和密钥一起进行hash运算 攻击者篡改数据后,可以根据修改后的数据生成新的摘要,以此掩盖自己的攻击行为。通过把数据和密钥一起进行hash运算,可以有效抵御上述攻击。土豆两块钱一斤Hashfefe23fgrNMop7土豆两块钱一斤fefe23fgrNMop7土豆三块钱一斤2fwex67N32rfee3我同时改数据和摘
9、要两者还是不一致Hashfergergr23frewfgh对称密钥交换 对称加密和hash都要求通信双方具有相同的密钥问题:怎样在双方之间安全地传递密钥?密钥哈哈,要是敢直接传递密钥,我就只好偷看了密钥DH算法的基本原理Router A Router B生成一个整数 p 生成一个整数 q把 p发送到对端p把 q发送到对端q根据p、q生成g 根据p、q生成g生成密钥Xa 生成密钥Xb把 Ya=g Xa发送到对端把 Yb=g Xb发送到对端YaYbKey=YbXa=g(Xb*Xa)Key=YaXb=g(Xa*Xb)最后得到的对称密钥双方没有直接传递密钥通过身份认证保证数据的真实性 真实性:数据确实
10、是由特定的对端发出 通过身份认证可以保证数据的真实性。常用的身份认证方式包括:Pre-shared key,预共享密钥RSA Signature,数字签名预共享密钥 预共享密钥,是指通信双方在配置时手工输入相同的密钥。Hash_L+路由器名等本地Hash共享密钥远端生成的Hash_LHash=+对端路由器名Internet共享密钥接收到的Hash_L数字证书 RSA密钥对,一个是可以向大家公开的公钥,另一个是只有自己知道的私钥。用公钥加密过的数据只有对应的私钥才能解开,反之亦然。数字证书中存储了公钥,以及用户名等身份信息。数字证书 我是Router A,我的公钥是.数字签名认证+ID Info
11、rmation加密加密Hash_I解密解密 Hash_I私钥公钥本地 远端Hash=+身份信息Hash对称密钥数字签名+身份信息Hash12数字证书+Internet对称密钥数字签名数字证书IPSec框架结构ESP AHDES 3DES AESMD5 SHADH1 DH2IPSec框架可选择的算法IPSec安全协议加密数据摘要对称密钥交换IPSec安全协议 AH(Authentication Header)只能进行数据摘要(hash),不能实现数据加密ah-md5-hmac、ah-sha-hmac ESP(Encapsulating Security Payload)能够进行数据加密和数据摘要
12、(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头hashESP trailer ESP auth ESP加密hashIPSec封装模式 IPSec支持两种封装模式:传输模式和隧道模式隧道模式:增加新的IP头,通常用于私网与私网之间通过公网进行
13、通信。IP头数据 原始IP包IP头数据新IP头 AHhashIP头数据ESP头hashESP trailer ESP auth ESP加密hashAH头新IP头IPSec与NAT AH模式无法与NAT一起运行AH对包括IP地址在内的整个IP包进行hash运算,而NAT会改变IP地址,从而破坏AH的hash值。IP头数据AH头hash hashNAT:我要修改源/目的IP地址AH:不行!我对IP地址也进行了hashIPSec与NAT ESP模式下:只进行地址映射时,ESP可与它一起工作。进行端口映射时,需要修改端口,而ESP已经对端口号进行了加密和/或hash,所以将无法进行。IP头 数据 ES
14、P头 ESP trailer ESP auth加密TCP/UDP端口NAT:端口号被加密了,没法改,真郁闷IPSec与NAT ESP模式下:启用IPSec NAT穿越后,会在ESP头前增加一个UDP头,就可以进行端口映射。IP头 数据 ESP头 ESP trailer ESP auth加密TCP/UDP端口NAT:可以改端口号了,太棒了新UDP头目 录 VPN简介 IPSec VPN BGP/MPLS VPNIPSec基础端到端IPSec VPN的工作原理及配置Easy VPN(远程接入VPN)的工作原理及配置BGP/MPLS VPN的工作原理BGP/MPLS VPN的配置示例对上一节的回顾
15、IPSec协议框架包括加密、hash、对称密钥交换、安全协议等四个部分,这些部分都可以采用多种算法来实现。问题1:要成功建立IPSec VPN,两端路由器必须采用相同 的加密算法、hash算法和安全协议等,但IPSec协议中并没有描述双方应如何协商这些参数。问题2:IPSec协议中没有定义通信双方如何进行身份认证,路由器有可能会和一个假冒的对端建立IPSec VPN。端到端IPSec VPN的工作原理 需要保护的流量流经路由器,触发路由器启动相关的协商过程。启动IKE(Internet key exchange)阶段1,对通信双方进行身份认证,并在两端之间建立一条安全的通道。启动IKE阶段2,
16、在上述安全通道上协商IPSec参数。按协商好的IPSec参数对数据流进行加密、hash等保护。Host A Host BRouter A Router B 什么是端到端的VPN?IKE阶段1Host A Host BRouter A Router B IKE 阶段 1协商建立IKE安全通道所使用的参数协商建立IKE安全通道所使用的参数IKE阶段1 协商建立IKE安全通道所使用的参数,包括:加密算法Hash算法DH算法身份认证方法存活时间IKE阶段1Policy 10DESMD5DH1Pre-sharelifetimePolicy 15DESMD5DH1Pre-sharelifetimeRout
17、er A Router Bhost A host BPolicy 203DESSHADH1Pre-sharelifetimePolicy 253DESSHADH2Pre-sharelifetime双方找到相同的策略集上述IKE参数组合成集合,称为IKE policy。IKE协商就是要在通信双方之间找到相同的policy。IKE阶段1Host A Host BRouter A Router B IKE 阶段 1协商建立IKE安全通道所使用的参数交换对称密钥双方身份认证建立IKE安全通道协商建立IKE安全通道所使用的参数交换对称密钥双方身份认证建立IKE安全通道IKE阶段2Host A Host
18、BRouter A Router B IKE 阶段2协商IPSec安全参数 协商IPSec安全参数IKE阶段2 双方协商IPSec安全参数,称为变换集transform set,包括:加密算法Hash算法安全协议封装模式存活时间Transform 10DESMD5ESPTunnellifetimeTransform 203DESSHAESPTunnellifetimeIKE与IPSec安全参数的比较加密算法Hash算法存活时间DH算法身份认证安全协议封装模式IKE IPSecIKE阶段2Host A Host BRouter A Router B IKE 阶段2协商IPSec安全参数建立IPS
19、ec SA协商IPSec安全参数建立IPSec SA 安全联盟 SA 安全联盟 SA,记录每条 IP安全通路的策略和策略参数。安全联盟是 IPSec 的基础,是通信双方建立的一种协定,决定了用来保护数据包的协议、转码方式、密钥以及密钥有效期等。AH和 ESP都要用到安全联盟,IKE的一个主要功能就是建立和维护安全联盟。IPSec SA IPSec SA(安全关联,Security Association):SA由SPD(security policy database)和SAD(SA database)组成。两端成功协商IPSec参数加密算法hash算法封装模式lifetime安全协议SPD加
20、密SPI Hash封装模式lifetimeSAD目的IP地址 SPI安全协议IPSec SA IPSec SA(安全关联,Security Association):SPI(Security Parameter Index),由IKE自动分配发送数据包时,会把SPI插入到IPSec头中接收到数据包后,根据SPI值查找SAD和SPD,从而获知解密数据包所需的加解密算法、hash算法等。一个SA只记录单向的参数,所以一个IPSec连接会有两个IPSec SA。IPSec SA IPSec SA(安全关联,Security Association):使用SPI可以标识路由器与不同对象之间的连接。B
21、A N KSPI12ESP/3DES/SHAtunnel28800 SPI39ESP/DES/MD5tunnel28800InternetIPSec SA IPSec SA(安全关联,Security Association):达到lifetime以后,原有的IPSec SA就会被删除如果正在传输数据,系统会在原SA超时之前自动协商建立新的SA,从而保证数据的传输不会因此而中断。SA示例端到端IPSec VPN的配置流程 配置IPSec前的准备工作 配置IKE参数 配置IPSec参数 测试并验证IPSec是否正常工作端到端IPSec VPN的配置步骤1 配置IPSec前的准备工作确认在配置IP
22、Sec之前,网络是通的。确认AH流量(IP协议号为50)、ESP流量(IP协议号为51)和ISAKMP流量(UDP的端口500)不会被ACL所阻塞。配置IPSec前的准备工作 在RouterA上ping路由器RouterB RouterA上要有到site2的路由,RouterB上有到site1的路由 有必要的情况下,在路由器中添加类似以下的ACL条目:RouterA#show access-lists access-list 102 permit ahpaccess-list 102 permit espaccess-list 102 permit udp host 172.30.2.2 ho
23、st 172.30.1.2 eq isakmpSite 1 Site 2A BInternetRouterA RouterB端到端IPSec VPN的配置步骤2 配置IKE参数启用IKE创建IKE策略集policy配置IKE身份认证的相关参数验证IKE配置启用IKERouterA(config)#no crypto isakmp enable RouterA(config)#crypto isakmp enablerouter(config)#no crypto isakmp enable 默认情况下,IKE 处于开启状态 IKE在全局模式下对所有端口启用 对于不希望使用IKE的端口,可以用A
24、CL屏蔽UDP的500端口,达到阻断IKE的目的创建IKE策略crypto isakmp policy priorityrouter(config)#RouterA(config)#crypto isakmp policy 110RouterA(config-isakmp)#encryption desRouterA(config-isakmp)#hash md5RouterA(config-isakmp)#group 1RouterA(config-isakmp)#authentication pre-shareRouterA(config-isakmp)#lifetime 86400Aut
25、hentication-身份认证方式Encryption-加密算法Group-DH算法组Hash-摘要算法Lifetime-IKE生存期IKE策略集的取值86400 秒 86400 秒 IKE SA生存期DH Group 2 DH Group 1密钥交换算法Rsa-sig Pre-share身份认证方式SHA-1 MD5摘要算法3DES DES加密算法更安全的取值 安全的取值 参数(56bit密钥)(3次DES运算)(128bit密钥)(160bit密钥)(768bit密钥)(1024bit密钥)(共享密钥)(数字签名)IKE策略集的优先级crypto isakmp policy 100 ha
26、sh md5 authentication pre-sharecrypto isakmp policy 200 authentication rsa-sig hash shacrypto isakmp policy 300 authentication pre-share hash md5RouterA(config)#RouterB(config)#crypto isakmp policy 100 hash md5 authentication pre-sharecrypto isakmp policy 200 authentication rsa-sig hash shacrypto is
27、akmp policy 300 authentication rsa-sig hash md5Priority表示策略集的优先级,该值越小表示优先级越高路由器将首先比较优先级最高的策略集是否匹配,因此本例中虽然三个策略集都匹配,但路由器只会采用policy 100建议把最安全的策略集设为最高优先级使用共享密钥进行身份认证RouterA(config)#crypto isakmprouter(config)#crypto isakmp key keystring address peer-addresscrypto isakmp key keystring hostname hostnamero
28、uter(config)#共享密钥Cisco1234Site 1 Site 2A BInternetRouterA RouterB两端路由器使用的共享密钥必须相同可以用IP地址 或或 主机名来指定对端验证IKE配置RouterA#show crypto isakmp policyProtection suite of priority 110 encryption algorithm:DES-Data Encryption Standard(56 bit keys).hash algorithm:Message Digest 5 authentication method:Pre-Shared
29、 Key Diffie-Hellman group:#1(768 bit)lifetime:86400 seconds,no volume limitDefault protection suite encryption algorithm:DES-Data Encryption Standard(56 bit keys).hash algorithm:Secure Hash Standard authentication method:Rivest-Shamir-Adleman Signature Diffie-Hellman group:#1(768 bit)lifetime:86400
30、seconds,no volume limitshow crypto isakmp policy router#显示已配置的和缺省的策略集端到端IPSec VPN的配置步骤3 配置IPSec参数配置IPSec变换集用ACL定义需要IPSec保护的流量创建crypto map把crypto map 应用到路由器的端口上配置IPSec变换集crypto ipsec transform-set transform-set-name transform1 transform2 transform3router(cfg-crypto-trans)#router(config)#RouterA(confi
31、g)#crypto ipsec transform-set mine esp-desRouterA(cfg-crypto-trans)#mode tunnel每个变换集中可以包含AH变换、ESP变换和封装模式(隧道模式或传输模式)每个变换集中最多可以有一个AH变换和两个ESP变换IOS支持的变换RouterA(config)#crypto ipsec transform-settransform-set-name?ah-md5-hmac AH-HMAC-MD5 transformah-sha-hmac AH-HMAC-SHA transformesp-3des ESP transform us
32、ing 3DES(EDE)cipher(168 bits)esp-des ESP transform using DES cipher(56 bits)esp-md5-hmac ESP transform using HMAC-MD5 authesp-sha-hmac ESP transform using HMAC-SHA authesp-null ESP transform w/o cipher用ACL定义需要IPSec保护的流量access-list access-list-number dynamic dynamic-name timeout minutes deny|permit p
33、rotocol source source-wildcard destination destination-wildcard precedence precedencetos tos logrouter(config)#RouterA(config)#access-list 110 permit iSite 1 Site 2A B10.0.1.3 10.0.2.3InternetRouterA RouterB10.0.1.0 10.0.2.0 加密定义哪些流量需要IPSec保护Permit=要保护/deny=不用保护两端路由器要配置对称的ACLRouterA(config)#access-l
34、ist 110 permit iRouterB(config)#access-list 101 permit ip E0/1 172.30.1.2Site 1 Site 2E0/1 172.30.2.2A B10.0.1.3 10.0.2.3InternetRouterA RouterBCrypto map的主要配置参数 需要IPSec保护的流量的ACL VPN对端的IP地址 使用的IPSec变换集 协商建立IPSec SA的方式(手工或通过IKE)IPSec SA的存活期创建crypto mapcrypto map map-name seq-num ipsec-manualcrypto ma
35、p map-name seq-num ipsec-isakmp dynamic dynamic-map-namerouter(config)#Site 1Site 2ABInternetRouterARouterBRouterA(config)#crypto map mymap 110 ipsec-isakmpSite3BRouterC每个路由器端口只能应用一个crypto map当一个端口有多个VPN对端时,就使用seq-num来区分Crypto map 配置示例RouterA(config)#crypto map mymap 110 ipsec-isakmpRouterA(config-c
36、rypto-map)#match address 110RouterA(configRouterA(configRouterA(config-crypto-map)#set pfs group1RouterA(config-crypto-map)#set transform-set mineRouterA(config-crypto-map)#set security-association lifetime 86400Site 1 Site 2A BRouterA RouterBBRouterCInternet可配置多个vpn对端进行冗余应用crypto map到路由器端口上RouterA(
37、config)#interface ethernet0/1RouterA(config-if)#crypto map mymapSite 1 Site 2ABInternetRouterA RouterBmymaprouter(config-if)#crypto map map-name在出口上应用crypto map端到端IPSec VPN的配置步骤4 测试并验证IPSec是否正常工作_1 显示 IKE策略 show crypto isakmp policy 显示IPSec变换集 show crypto ipsec transform-set 显示 crypto mapsshow crypt
38、o map端到端IPSec VPN的配置步骤4 测试并验证IPSec是否正常工作_2 显示IPSec SA的状态 show crypto ipsec sa debug IPSec 事件 debug crypto ipsec debug ISAKMP 事件 debug crypto isakmp端到端IPSec VPN的配置示例RouterA#show runcrypto isakmp policy 110 hash md5 authentication pre-sharecrypto isakmp!crypto ipsec transform-set mine esp-des!crypto m
39、ap mymap 10 ipsec-isakmpset transform-set minematch address 110!interface Ethernet 0/1ipno ip directed-broadcastcrypto map mymap!access-list 110 permit tcpSite 1 Site 2A BInternetRouterA RouterBRouterB#show runcrypto isakmp policy 110 hash md5 authentication pre-sharecrypto isakmp!crypto ipsec transform-set mine esp-des!crypto map mymap 10 ipsec-isakmpset transform-set minematch address 101!interface Ethernet 0/1ipno ip directed-broadcastcrypto map mymap!access-list 101 permit tcp非常感谢!