演示:基于思科IOS路由器场对场的IPSec-×××的配置

博文对应的录像:http://edu.51cto.com/lecturer/user_id-7648423.html

演示目标:基于思科IOS路由器完成场对场IPSec-×××的配置。

演示环境:图8.125所示的演示环境。

143043999.png

演示背景:如上图8.125所示的演示环境,已经明确区分出私有网络AB,以及Internet网部分,现在要求在路由器R1R2上使用环回接口192.168.1.1192.168.2.1来模拟两个私网的IP地址,要求私网A192.168.1.0/24与私网B192.168.2.0/24的通信经过IPSec-×××进行加密,要求IPSecAH使用哈希SHA;ESP使用AES完成加密;IKE的安全策略集的加密方式为AES;Hash验证为SHA;对等端的认证方式为共享;使用1536比特素数的Diffie-Hellman组;要求IKE的生存周期为40000。根据上述安全参数的要求配置路由器R1和R2基于IOS的IPSec-×××。

演示步骤:

第一步:首先在路由器R1、ISP、R2上完成×××之前的基础配置,其中包括为各个网络设备配置接口IP,启动路由,确保公共网络部分的路由学习正常。

路由器R1的基本配置

R1(config)#interfacee1/0

R1(config-if)#ipaddress202.202.1.1255.255.255.0

R1(config-if)#noshutdown

R1(config)#interfaceloopback1

R1(config-if)#ipaddress192.168.1.1255.255.255.0

R1(config)#routerrip

R1(config-router)#noauto-summary

R1(config-router)#version2

R1(config-router)#network202.202.1.0

R1(config-router)#exit

路由器ISP的基本配置

ISP(config)#interfacee1/0

ISP(config-if)#ipaddress202.202.1.2255.255.255.0

ISP(config-if)#noshutdown

ISP(config-if)#exit

ISP(config)#interfacee1/1

ISP(config-if)#ipaddress202.202.2.1255.255.255.0

ISP(config-if)#noshutdown

ISP(config-if)#exit

ISP(config)#routerrip

ISP(config-router)#noauto-summary

ISP(config-router)#version2

ISP(config-router)#network202.202.1.0

ISP(config-router)#network202.202.2.0

ISP(config-router)#exit

路由器R2的基本配置

R2(config)#interfacee1/0

R2(config-if)#ipaddress202.202.2.2255.255.255.0

R2(config-if)#noshutdown

R2(config)#interfaceloopback1

R2(config-if)#ipaddress192.168.2.1255.255.255.0

R2(config)#routerrip

R2(config-router)#noauto-summary

R2(config-router)#version2

R2(config-router)#network202.202.2.0

R2(config-router)#exit

第二步当完成上述配置后,正常情况下,路由器R1的公共网络接口IP202.202.1.1应该能成功的ping通路由器R2的公共网络接口IP202.202.2.2;下图8.126所示。

143239888.png

注意:现在私络A192.168.1.0无法与私网B192.168.2.0通信,在实际工程应用中也是如此,因为这两个网络没有被动态路由协议所公告,事实上,在实际工程应用中,也不会在路由器上使用动态路由来公告这两个子网,因为它们是RFC1918所定义的私有网络专用地址,这样做是为了让实验环境更真实!

第三步开始配置路由器R1和R2上的IPSec-×××,在这里给出一个配置思路:

n首先定义一个IPSec的变换集。

n然后定义一个IKE的安全策略集。

n由于IKE的安全策略集使用了共享密钥,所以这里需要配置共享密钥的字符串。

n然后通过ACL列表定义感兴趣的加密流量。

n然后定义一个加密图,将IPSec的变换集、IKE的安全策略集、感兴趣的加密流量、×××的对端IP地址全部关联到加密图中。

n指定×××的静态路由。

n将加密图应用到对应的物理接口。

在路由器R1上定义IPSec的变换集:

R1(config)#cryptoipsectransform-set***ah-sha-hmacesp-aes

*定义IPsec的变换集,AH安全算法为sha-hmacESP使用AES完成加密。

在路由器R1上定义IKE的安全策略集:

R1(config)#cryptoisakmppolicy1*定义IKE安全策略集1.

R1(config-isakmp)#encryptionaes*IKE的加密方式为AES

R1(config-isakmp)#hashsha*IKEHASH验证为SHA

R1(config-isakmp)#authenticationpre-share*IKE验证方式为预共享密钥。

R1(config-isakmp)#group5*IKE使用Diffie-Hellman的组5.

R1(config-isakmp)#lifetime40000*定义IKE的生存周期。

R1(config-isakmp)#exit

在路由器R1上定义预共享密钥字符串

R1(config)#cryptoisakmpkeyccnaaddress202.202.2.2

*在R1上定义与R2(202.202.2.2)协商的预共享密钥字符串为“ccna”。

在路由器R1上定义感兴趣的加密流量:

R1(config)#access-list101permitip192.168.1.00.0.0.255192.168.2.00.0.0.255

*定义感兴趣的加密流量,加密源子网192.168.1.0到目标子网192.168.2.0的流量。

在路由器R1上定义加密图IPSec的变换集、IKE的安全策略集、感兴趣的加密流量、×××的对端IP地址全部关联到加密图中

R1(config)#cryptomapccna_***1ipsec-isakmp*定义加密图ccna_***

R1(config-crypto-map)#settransform-set****在加密图中调用IPsec的变换集***。

R1(config-crypto-map)#setpeer202.202.2.2*在加密图中设置×××的对端IP地址。

R1(config-crypto-map)#matchaddress101*在加密图中申明感兴趣的加密流量列表101

R1(config-crypto-map)#exit

指定×××的静态路由

R1(config)#iproute192.168.2.0255.255.255.0e1/0

*配置×××的静态路由到目标192.168.2.0通过本地路由器R1E1/0接口转发。

将加密图应用到对应的物理接口:

R1(config)#interfacee1/0

R1(config-if)#cryptomapccna_****在接口上应用加密图。

R1(config-if)#exit

关于路由器R2IPSec-×××的完整配置

R2(config)#cryptoipsectransform-set***ah-sha-hmacesp-aes

R2(config)#cryptoisakmppolicy1

R2(config-isakmp)#encryptionaes

R2(config-isakmp)#hashsha

R2(config-isakmp)#authenticationpre-share

R2(config-isakmp)#group5

R2(config-isakmp)#lifetime40000

R2(config-isakmp)#exit

R2(config)#cryptoisakmpkeyccnaaddress202.202.1.1

R2(config)#access-list101permitip192.168.2.00.0.0.255192.168.1.00.0.0.255

R2(config)#cryptomapccna_***1ipsec-isakmp

R2(config-crypto-map)#settransform-set***

R2(config-crypto-map)#setpeer202.202.1.1

R2(config-crypto-map)#matchaddress101

R2(config-crypto-map)#exit

R2(config)#iproute192.168.1.0255.255.255.0e1/0

R2(config)#interfacee1/0

R2(config-if)#cryptomapccna_***

R2(config-if)#exit

注意路由器R2上的×××配置基本上与路由器R1的配置相似所以,这里不再重复描述但是必须强调路由器R1与R2上的IPSec变换集和IKE安全策略所使用的各项安全参数必须同相,否则,×××将无法正常工作!

第四步现在来测试×××配置完成后的连通性,并查看路由器R1或者R2使用IPSec加密或者解密的情况。使用扩展的Ping命令完成连通性测试,如下8.127所示,在ping时,目标地址为192.168.2.1;源地址为192.168.1.1;并要求连续发送10个ping包,完成该指令后,显示10个ping包,有9个成功通信。

143444380.png

注意:在这里必须使用扩展的ping命令来完成×××的检测,其主要目标在于申明源地址为192.168.1.1;如果不使用扩展的ping,那么路由器R1将使用距离目标192.168.2.2最近接口上的IP地址来作为源地址(202.202.1.1),那么,这样就不满足×××中感兴趣的加密条件,达不到测试×××的目的。

在完成上述的测试后,可以在路由器R1上通过执行showcryptoipsecsa来查看IPSecSA的状态,以及路由器执行加解密数据的情况,如下8.128所示,可看出分别已经有9个数据包被加解密。然后,可以通过执行showcryptoisakmpsa来查看IKE的SA状态,如下8.129所示,可以看出两个×××隧道端点的IP地址,以及隧道协商成功的状态。最后可以通过在路由器R1和R2上执行showcryptoisakmppolicy来查看两台路由器正在使用的安全策略,如下8.130所示,两台路由器使用的IKE安全策略完全一致,当然,这也是必须的,否则,基于IPSec的×××无法正常工作。

143647200.png

143759734.png

第五步现在可以通过捕获建立IPSec-×××后的通信数据帧,来验证发送的数据包将会被IPSec验证与加密,如下8.131所示,是成功通信的9个ping包,被ESP封装的状态,因为ping是一种往返通信过程,所以9个ping包将产生18个ESP的封装;拆分任意一个ESP包文,可以得到如下8.132所示的报文,可看出ping(ICMP)没有被申明,因为它被加密,已经具备私密性。

144010115.png