loo      E0/0           E0/1  E0/0         e0/1     loo
-----------------r1--------------------r2------------------r3---------------
10.10.10.1            20.20.20.0             30.30.30.0          40.40.40.1


第一部分: 全网互连

 

r1
enable
conf t
hostname r1
no ip domain lookup
line con 0
no exec-t
logg syn
exit
int loo 1
ip add 10.10.10.1 255.255.255.0
int e0/0
ip add 20.20.20.1 255.255.255.0
no shu
exit
router rip
ver 2
no auto-su
net 10.0.0.0
net 20.0.0.0
exit
ip route 0.0.0.0 0.0.0.0 e0/0
end
write

-------------------
r2

enable
conf t
hostname r2
no ip domain lookup
line con 0
no exec-t
logg syn
exit
int e0/0
ip add 30.30.30.1 255.255.255.0
no shu
int e0/1
ip add 20.20.20.2 255.255.255.0
no shu
exit
router rip
ver 2
no auto-su
net 20.0.0.0
exit
ip route 0.0.0.0 0.0.0.0 e0/0
end
write
 
------------
r3

enable
conf t
hostname r3
no ip domain lookup
line con 0
no exec-t
logg syn
exit
int loo 1
ip add 40.40.40.1 255.255.255.0
int e0/1
ip add 30.30.30.2 255.255.255.0
no shu
exit
ip route 10.10.10.0 255.255.255.0 e0/1
ip route 20.20.20.0 255.255.255.0 e0/1
end
write

 

-----------------------------------------------------------------------

第二部分: 定义ACL保护内网安全

1,分析网络当中的流量
    (1)×××连接时的流量分为阶段1的IKE协议流量和阶段2的AH或ESP流量
            ---permit udp any any eq 500
            ---permit ah any any
            ---permit esp any any
    (2)不允许外网流量进入内网---deny ip any any

2,创建并应用ACL
   r2(config)# access-list 100 permit udp any any eq 500
   r2(config)# access-list 100 permit ah any any
   r2(config)# access-list 100 permit esp any any
   r2(config)# access-list 100 deny ip any any
   r2(config)# interface e0/0
   r2(config-if)# ip access-group 100 in
注意:当应用此ACL后,由内网用户发起的连接将不能够建立,原因在于完成连接的返回流量被ACL拒绝,即内网用户不能访问外网.


第三部分:启用CBAC允许来自内网的连接

1,定义审查的规则
   r2(config)# ip inspect name spring tcp
   r2(config)# ip inspect name spring udp
   r2(config)# ip inspect name spring icmp
   //定义了一个名为spring的CBAC审查规则,其中审查的流量类型为TCP,UDP,ICMP

2,应用CBAC
   r2(config)# interface  e0/0
   r2(config)# ip inspect spring out   //将spring审查规则应用在接口上,并在流量转发出去时进行审查,以允许其返回流量能够返回内网


第四部分:创建×××连接---预共享×××

一,建立IKE策略
1,定义阶段1的参数,即IKE的安全关联的参数
   r2(config)# crypto isakmp policy 100             //定义IKE策略的优先级,值越小,优先级越高
   r2(config-isakmp)# authentication pre-share      //定义对等体之间使用预共享密码进行身份认证
   r2(config-isakmp)# encryption 3des               //定义加密算法的类型
   r2(config-isakmp)# hash sha                      //定义HASH算法的类型
   r2(config-isakmp)# group 2                       //定义生成共享密钥的算法
   r2(config-isakmp)# lifetime 3600                 //定义IKE的安全关联的生命周期

2,建立预共享密码
   r2(config)# crypto isakmp key cisco123 address 30.30.30.2
                                                    //由于在IKE策略中选择以预共享密码来进行对等体的身份认证,所以在此必须配置共享密码

3,查看各种参数

二,建立IPSEC的安全关联的参数
1,建立变换集,变换集定义了数据流量如何被保护,必须定义唯一的名称.(定义变换集即定义IPSec的安全关联
1(config)# crypto ipsec transform-set spring_# esp-3des esp-sha-hmac  
                                                     //定义IPSec安全关联的安全协议ESP,及其使用的加密算法3DES,HASH算法HMAC-SHA-1
   r2(cfg-crypto-trans)# mode tunnel                 //定义安全协议的工作模式:隧道模式

2,加密ACL
   r2(config)# access-list 101 permit ip host 10.10.10.1 host 40.40.40.1
                                                     //在×××中定义哪些数据流量需要加密

3,定义安全关联的生命周期
   r2(config)# crypto ipsec security-association lifetime seconds 3600
                                                     //定义IPSEC的安全关联的生命周期为3600秒

4,建立加密映射
加密映射将所有IKE阶段2的信息联系在一起,来建立到远程对等体的数据连接。
   r2(config)# crypto map summer_# 1922 ipsec-isakmp      //定义加密映射的名称为summer_#,并采用IKE协议协商IPSEC的安全关联
   r2(config-crypto-map)# set peer 30.30.30.2             //定义对等体的地址
   r2(config-crypto-map)# match address 101               //应用加密ACL
   r2(config-crypto-map)# set transform-set spring_#      //应用变换集

5,应用加密映射
   r2(config)# interface e0/0
   r2(config-if)# crypto map summer_#   //在接口上启用×××连接

------------------------------------------------------------------

R3

相同配置


6,测试
(1)R1上使用命令ping 40.40.40.1 source 10.10.10.1能够成功且在R3上每个方向上有一个SA

(2)R3上使用命令clear crypto sa,然后在R1上ping 40.40.40.1 source 20.20.20.1,能够成功但R3上没有SA建立


(3)R3上使用命令clear crypto sa,然后在R3上ping 20.20.20.1 source 40.40.40.1,不能够成功

(4)R3上使用命令clear crypto sa,然后在R3上ping 10.10.10.1 source 40.40.40.1能够成功且在R3上每个方向上有一个SA

上述现象皆有,则预共享×××创建成功!!!