tunnel(GRE隧道)+VPN配置过程分析tunnel:指保留原始IP数据流的情况下封装成另一种带有新IP报头(注:新IP为tunnel中的source、destination,这两个地址必须是UP状态的接口IP(包括虚接口),且两者能够通讯(包括路由可达、VPN等。VPN原始IP数据流协议为GRE时,两者ping不通,但也能够通讯的))的数据流,从而以新IP数据流路由转发出去;接收端通过tunnel解封装,得到原始IP的数据流。tunnel封装模式有多种,默认情况下指GRE模式。GRE(Genericroutingencapsulation)通用路由封装是一中隧道协议,能够在IP隧道中封装各种网络层协议的分组,从而创建虚拟点到点链路。GRE隧道并不提供加密服务,默认情况下以明文方式离开,所以通常使用GRE通过IPsecvpn隧道传输动态路由协议数据流。封装过程:1、原数据流根据路由表转发进入tunnel中。2、根据tunnel的配置被封装为GRE数据流,之后GRE数据流与tunnel所指定的source、destination地址组成新的IP报头GRE数据流。3、新IP报头的GRE数据流再根据路由表转发到适应的出接口。4、在出接口时,新IP报头的GRE数据流匹配了VPN的加密映射表的ACL,所以新IP报头的GRE数据流被封装进了VPN隧道中,之后形成的VPN数据流转发出接口。解封装过程:1、路由器接收到数据流后判断为VPN数据流,从而进行vpn解封装,之后得到带有”新IP报头“的GRE数据流。2、”新IP报头的GRE数据流被转到tunnel中,去掉”新ip报头”再进行GRE解封装,得到原始数据流。3、原始数据流根据路由表转到目标出口,期间经过从tunnel中出来。tunnel(GRE隧道)与IPsecVPN隧道异同:1、两者都可以保留原始IP数据流情况下进行封装,并异地传输。2、tunnel在异地的两端建立虚拟隧道接口,相当于异地是直连关系(可以建立邻居关系),从而能传输动态协议等数据流,tunnel数据流以明文方式传输;IPsecVPN隧道没有虚接口,只传输单播而不能传输多播和广播,从而使众多路由协议无法建立邻居关系和传输路由更新,由于VPN封装是加密的,所以数据流以密文方式传输。3、两者可以独立使用不相影响。但通常将两者组合使用,达到支持所有数据传输格式与安全,即tunnel被封装进IPSecVPN中。实验目录:1)配置GRE,并观察传输GRE过程。2)配置IPSecVPN3)配置将GRE隧道封装到VPN里边。实验拓扑:实验配置:1)各接口IP配置如上图,并在R3、R2上配置GRE隧道。R3#shruninterfaceTunnel3ipaddress10.10.10.1255.255.255.0\\虚接口地址tunnelsource3.3.3.10tunneldestination2.2.2.10\\作为GRE封装后新的IP报头。!interfaceFastEthernet0/0ipaddress3.3.3.10255.255.255.0duplexautospeedauto!interfaceFastEthernet0/1ipaddress192.168.1.1255.255.255.0speedautofull-duplex!routereigrp100network10.10.10.00.0.0.255network192.168.1.0noauto-summary!iproute0.0.0.00.0.0.03.3.3.3R3#R2#shruninterfaceTunnel2\\与上面的R3的tunnel3对应。ipaddress10.10.10.2255.255.255.0tunnelsource2.2.2.10tunneldestination3.3.3.10!interfaceFastEthernet0/0ipaddress2.2.2.10255.255.255.0duplexautospeedauto!interfaceFastEthernet0/1ipaddress172.16.1.1255.255.255.0duplexautospeedauto!routereigrp100network10.10.10.00.0.0.255network172.16.1.00.0.0.255noauto-summary!iproute0.0.0.00.0.0.02.2.2.1R2#1.1)查看路由R3(config)#doshiprouGatewayoflastresortis3.3.3.3tonetwork0.0.0.03.0.0.0/24issubnetted,1subnetsC3.3.3.0isdirectlyconnected,FastEthernet0/0172.16.0.0/24issubnetted,1subnetsD172.16.1.0[90/297270016]via10.10.10.2,03:50:38,Tunnel3\\目标地址的出口为tunnel310.0.0.0/24issubnetted,1subnetsC10.10.10.0isdirectlyconnected,Tunnel3\\目标地址的出口为tunnel3C192.168.1.0/24isdirectlyconnected,FastEthernet0/1S*0.0.0.0/0[1/0]via3.3.3.3R3(config)#R2#shiprouGatewayoflastresortis2.2.2.1tonetwork0.0.0.02.0.0.0/24issubnetted,1subnetsC2.2.2.0isdirectlyconnected,FastEthernet0/0172.16.0.0/24issubnetted,1subnetsC172.16.1.0isdirectlyconnected,FastEthernet0/110.0.0.0/24issubnetted,1subnetsC10.10.10.0isdirectlyconnected,Tunnel2D192.168.1.0/24[90/297270016]via10.10.10.1,03:54:10,Tunnel2S*0.0.0.0/0[1/0]via2.2.2.1R2#1.2)检测连通性及路由跟踪R3#ping172.16.1.2sou192.168.1.1Typeescapesequencetoabort.Sending5,100-byteICMPEchosto172.16.1.2,timeoutis2seconds:Packetsentwithasourceaddressof192.168.1.1!!!!!Successrateis100percent(5/5),round-tripmin/avg/max=68/90/100msR3#R3#trace172.16.1.2sou192.168.1.1Typeescapesequencetoabort.Tracingtherouteto172.16.1.2110.10.10.284msec96msec60msec2172.16.1.296msec92msec76msecR3#R3#trace172.16.1.1sou192.168.1.1Typeescapesequencetoabort.Tracingtherouteto172.16.1.1110.10.10.292msec56msec72msecR3#已通表明GRE隧道正常,此时异地之间如同处于一个局域网内且可以进行动态路由的更新。3)由于GRE隧道通讯是不安全的,所以将GRE数据流封装进VPN隧道,此时VPN原封不动的加密新IP报头的GRE数据流,并将其传输到异地。注:加密并保留原始IP数据流是VPN的特征,而本次被VPN封装的原始IP数据流指的是新IP报头的GRE隧道。IPsecVPN配置,R3与R2相对应。R3#shruncryptoisakmppolicy1encraesauthenticationpre-sharecryptoisakmpkey6cisco123address2.2.2.10\\这几步都是配置isakmp!!cryptoipsectransform-setgre_vpnesp-3desesp-sha-hmac\\配置ipsec!cryptomapgre_map10ipsec-isakmp\\配置mapsetpeer2.2.2.10settransform-setgre_vpnmatchaddress100access-list100permitgrehost3.3.3.10host2.2.2.10\\将新IP报头的GRE数据流标为VPN封装的感兴趣流。interfaceFastEthernet0/0ipaddress3.3.3.10255.255.255.0duplexautospeedautocryptomapgre_map\\将加密映射表应用于接口R3#查看VPN隧道建立情况R3#shcryptosessionCryptosessioncurrentstatusInterface:FastEthernet0/0Sessionstatus:UP-ACTIVE\\表明VPN隧道建立成功Peer:2.2.2.10port500IKESA:local3.3.3.10/500remote2.2.2.10/500ActiveIPSECFLOW:permit47host3.3.3.10host2.2.2.10\\VPN数据流的原始IP(这里指GRE新报头的IP)。红色标注的”47”很重要,它指出了VPN的原始IP数据流协议为GRE,如果是IP协议,那么”47“会变为ip,这些协议在定义VPN感兴趣流ACL时已经指出来了。ActiveSAs:2,origin:cryptomapR3#查看路由R3#shiprouGatewayoflastresortis3.3.3.3tonetwork0.0.0.03.0.0.0/24issubnetted,1subnetsC3.3.3.0isdirectlyconnected,FastEthernet0/0172.16.0.0/24issubnetted,1subnetsD172.16.1.0[90/297270016]via10.10.10.2,00:21:08,Tunnel310.0.0.0/24issubnetted,1subnetsC10.10.10.0isdirectlyconnected,Tunnel3C192.168.1.0/24isdirectlyconnected,FastEthernet0/1S*0.0.0.0/0[1/0]via3.3.3.3R3#与建立GRE隧道时路由表一样。更加说明VPN隧道不会影响路由的转发。检测链路连通R3#ping172.16.1.2sou192.168.1.1Typeescapesequencetoabort.Sending5,100-byteICMPEchosto172.16.1.2,timeoutis2seconds:Packetsentwithasourceaddressof192.168.1.1!!!!!Successrateis100percent(5/5),round-tripmin/avg/max=104/120/140msR3#trace172.16.1.2sou192.168.1.1Typeescapesequencetoabort.Tracingtherouteto172.16.1.2110.10.10.296msec124msec68msec2172.16.1.2128msec108msec88msecR3#到此GRE隧道+VPN隧道组合建立成功。识扩知展:在虚接口上建立tunnel隧道,实际中比较稳定,在IPV6过渡中