今天我为大家简单介绍一下实验内容。
通过下面的拓扑图我想大家一定非常疑惑,疑惑我为什么会在两个内网中间搭建画出一个红色的通道线。这也是我今天实验的重点及目的。首先就是如何确保局域网外之间的信息交流是安全的?又是通过什么办法才能使它们之间通信的信息不被恶意的不法分子所窃取的呢?下面就给大家介绍一种方法。那就是通过IPsec×××的路由配置在两个局域网中间的ISP运营商网络(Inetnet公用网络)上搭建一个安全的虚拟专用的隧道tunnel,供它们之间的数据流量安全通过防止被恶意窃取盗用。
至于IPsec×××的具体理论部分我就不跟大家细说了,大家可以同过查阅资料了解,我主要的就是实验操作。
实验顺序
一、看清拓扑图中所给的信息(IP地址可以根据具体情况配置)
二、为各个路由器配置好端口地址
三、配置默认路由(由于是直连的,所以配置好后内网应该能ping同。)
四、在R2、R4路由上配置IPsec×××。(搭建虚拟安全网络隧道)
五、测试两地内网连通性
实验过程详解
一、为路由器端口配置上相应的IP地址并在R1、R2、R4、R5上配置默认路由(蓝色部分)
R1
R1>en R1#conf t R1(config)#int fa0/0 R1(config-if)#ip add 192.168.10.1 255.255.255.0 R1(config-if)#no shut R1(config-if)#ex R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.10.2
R2
R2>en R2#conf t R2(config)#int fa0/1 R2(config-if)#ip add 192.168.10.2 255.255.255.0 R2(config-if)#no shut R2(config-if)#ex R2(config)#int fa0/0 R2(config-if)#ip add 192.168.20.1 255.255.255.0 R2(config-if)#no shut R2(config-if)#ex R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.20.2
ISP
ISP>en ISP#conf t ISP(config)#int fa0/1 ISP(config-if)#ip add 192.168.20.2 255.255.255.0 ISP(config-if)#no shut ISP(config-if)#ex ISP(config)#int fa0/0 ISP(config-if)#ip add 192.168.30.2 255.255.255.0 ISP(config-if)#no shut
R4
R4>en R4#conf t R4(config)#int fa0/1 R4(config-if)#ip add 192.168.30.1 255.255.255.0 R4(config-if)#no shut R4(config-if)#ex R4(config)#int fa0/0 R4(config-if)#ip add 192.168.40.2 255.255.255.0 R4(config-if)#no shut R4(config-if)#ex R4(config)#ip route 0.0.0.0 0.0.0.0 192.168.30.2
R5
R5>en R5#conf t R5(config)#int fa0/1 R5(config-if)#ip add 192.168.40.1 255.255.255.0 R5(config-if)#no shut R5(config-if)#ex R5(config)#ip route 0.0.0.0 0.0.0.0 192.168.40.2
二、在R2、R4路由上配置IPsec×××。(搭建虚拟安全网络隧道有两个阶段)红色部分注释说明
R1
ISAKMP/IKE阶段1管理链接配置
R2(config)#crypto isakmp policy 1#建立管理链接策略(policy的值1~10000) R2(config-isakmp)#encryption 3des#用于管理最后两个数据报文(用于身份验证)采用何种加密算法( des | 3des | aes 这三种对称加密算法aes支持256位秘钥长度最安全其次是3des168位,des支持56位) 对称加密的优点:1、加密解密速度都快2、加密长度紧凑3、效率高 对称加密的缺点:1、两端秘钥相同(不安全)2、不支持身份验证3、秘钥管理复杂。 非对称加密算法的优缺点正好与对称加密相反 R2(config-isakmp)#hash sha#指定验证过程采用HMAC功能( sha | md5 其中SHA安全散列算法 MD5信息-摘要算法) R2(config-isakmp)#group 2#指定DH秘钥组,默认DH1组( 1 | 2 | 5 组号越大算法越安全) R2(config-isakmp)#authentication pre-share#指定设备身份验证方式( pre-share | rsa-encr | rsa-sig ) R2(config-isakmp)#lifetime 60#指定管理链接的生存周期,默认24小时,这里以秒为单位。 R2(config-isakmp)#ex R2(config)#crypto isakmp key 6 benet-key address 192.168.30.1#配置预共享秘钥(key秘钥值,1表示明文、6表示密文,keystring表示秘钥具体内容这里的秘钥内容是benet-key,address后面的IP地址表示对等体设备的地址也就是对端外网端口的IP地址后面可以加掩码。)
ISAKMP/IKE阶段2数据链接配置
R2(config)#access-list 111 permit ip 192.168.10.0 0.0.0.255 192.168.40.0 0.0.0.255#制定感兴趣流量ACL访问控制列表,允许192.168.10.0段IP地址的访问192.168.40.0段的IP。 R2(config)#crypto ipsec transform-set ipsec-set esp-3des esp-sha-hmac#定义传输集,ipsec-set是名称,该设定的名称具有唯一性。esp-3des是ESP六个加密中的一种,esp-sha-hmac是ESP验证还有一种是esp-md5-hmac。(传输集有AH和ESP两种其中AH不支持加密) R2(cfg-crypto-trans)#mode tunnel#模式(tunnel隧道,transfer传输) R2(cfg-crypto-trans)#ex R2(config)#crypto map ipsec-map 1 ipsec-isakmp#配置map策略图(一个路由只对应一个map)ipsec-map是名称。seq-num序列号范围1~65535,数值越小级别越高。 % NOTE: This new crypto map will remain disabled until a peer and a valid access list have been configured. R2(config-crypto-map)#set peer 192.168.30.1#匹配对端地址指定对等体设备 R2(config-crypto-map)#set transform-set ipsec-set#指定对等体设备与谁建立连接(名称要与定义传输集的名称相同) R2(config-crypto-map)#match address 111#这里指定感兴趣流量ACL的名称 R2(config-crypto-map)#ex R2(config)#int fa0/0#作用在外网端口 R2(config-if)#crypto map ipsec-map#将map作用在这个端口上(map通常有静态与动态,在构建L2L会话时通常用静态的) R2(config-if)# *Mar 1 00:25:19.799: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R4
R4(config)#crypto isakmp policy 1 R4(config-isakmp)#encryption 3des R4(config-isakmp)#hash sha R4(config-isakmp)#lifetime 60 R4(config-isakmp)#group 2 R4(config-isakmp)#authentication pre-share R4(config-isakmp)#ex R4(config)#crypto isakmp key 6 benet-key address 192.168.20.1 R4(config)#access-list 111 permit ip 192.168.40.0 0.0.0.255 192.168.10.0 0.0.0.255 R4(config)#crypto ipsec transform-set ipsec-set esp-3des esp-sha-hmac R4(cfg-crypto-trans)#mode tunnel R4(cfg-crypto-trans)#ex R4(config)#crypto map ipsec-map 1 ipsec-isakmp % NOTE: This new crypto map will remain disabled until a peer and a valid access list have been configured. R4(config-crypto-map)#set peer 192.168.20.1 R4(config-crypto-map)#set transform-set ipsec-set R4(config-crypto-map)#match address 111 R4(config-crypto-map)#ex R4(config)#int fa0/1 R4(config-if)#crypto map ipsec-map R4(config-if)# *Mar 1 00:34:41.607: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
三、测试两地内网连通性
测试
R1
R1(config)#do ping 192.168.40.1#R5的地址 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.40.1, timeout is 2 seconds: .!!!!#点号表示不通感叹号表示通了 Success rate is 80 percent (4/5), round-trip min/avg/max = 80/120/204 ms
R5
R5(config)#do ping 192.168.10.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds: !!!!! Success rate is 100 p R5(config)#do ping 192.168.10.1
查看
R2
R2(config)#do show crypto isakmp sa#查看管理连接SA的状态 IPv4 Crypto ISAKMP SA dst #目标IP src #源IP state #模式 conn-id slot status#状态 192.168.30.1 192.168.20.1 QM_IDLE#表示管理链接建立成功1001 0 ACTIVE IPv6 Crypto ISAKMP SA R2(config)#do show crypto ipsec sa#显示数据连接SA的细节信息 interface: FastEthernet0/0 Crypto map tag: ipsec-map, local addr 192.168.20.1 #本地地址 protected vrf: (none) local ident (addr/mask/prot/port): (192.168.10.0/255.255.255.0/0/0) remote ident (addr/mask/prot/port): (192.168.40.0/255.255.255.0/0/0) #local ident和remote ident指定了基于感兴趣流量的ACL需要被保护的流量 current_peer 192.168.30.1 port 500指定远程对等体设备地址 PERMIT, flags={origin_is_acl,} #pkts encaps: 5, #pkts encrypt: 5, #pkts digest: 5 #pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 9, #recv errors 0 local crypto endpt.: 192.168.20.1, remote crypto endpt.: 192.168.30.1 path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0作用端口 current outbound spi: 0xA5B199B7(2779879863) #inbound和outbound指定每条SA的具体参数 inbound esp sas: spi: 0xD584FDA4(3582262692) transform: esp-3des esp-sha-hmac ,传输集 in use settings ={Tunnel, }隧道模式 conn id: 1, flow_id: 1, crypto map: ipsec-map sa timing: remaining key lifetime (k/sec): (4572513/3560) IV size: 8 bytes replay detection support: Y Status: ACTIVE inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0xA5B199B7(2779879863) transform: esp-3des esp-sha-hmac , in use settings ={Tunnel, } conn id: 2, flow_id: 2, crypto map: ipsec-map sa timing: remaining key lifetime (k/sec): (4572513/3558) IV size: 8 bytes replay detection support: Y Status: ACTIVE outbound ah sas: outbound pcp sas:
R4
R4(config)#do show crypto isakmp sa IPv4 Crypto ISAKMP SA dst src state conn-id slot status 192.168.30.1 192.168.20.1 QM_IDLE 1001 0 ACTIVE
补充命令语句
Route(config-crypto-map)#set pfs { group1 | group2 | group5 }#PFS(perfect forward secrecy ,完美转发保密)保证两个阶段的秘钥只能使用一次,进一步增强了安全性,但使用pfs的设备会占用更多的资源。 Route(config-crypto-map)#set security-association idle-time seconds#设定空闲超时计时器,范围60~86400秒。默认情况下是关闭的。空闲超时计时器的作用是用来关闭一些暂时没有实际意义的SA。
Show crypto isakmp policy查看ISAKMP协商策略的配置结果
Show crypto isakmp sa 查看管理连接的sa状态
Show crypto ipsec transform-set 查看ipsec变换集
Show crypto ipsec security-association lifetime查看数据连接建立的生存周期
Show crypto map 查看Map信息