需求描述
p_w_picpath
3家公司之间所有的流量必须通过IPSec ×××实现加密传输
3家公司各自访问Internet 的流量通过NAT技术实现
实现思路
在R1与R2之间配置IPSec ×××
在R1与R3之间配置IPSec ×××
在R2与R3之间配置IPSec ×××
配置PAT实现内网访问Internet
说明
Router1 F0/0 <----> Router4 F0/0
Router2 F0/0 <----> Router4 F1/0
Router3 F0/0 <----> Router4 F2/0
各接口地址与书上一致,配置过程省略。R4模拟ISP
在R1与R2之间配置IPSec ×××
r1(config)#ip route 0.0.0.0 0.0.0.0 200.0.10.2 //配置一条默认路由,用于香港访问公
配置ISAKMP策略阶段一
r1(config)#crypto isakmp policy 1 //建立管理连接策略
r1(config-isakmp)#encryption 3des //指定管理连接建立后的最后两个数据报文(用于身份验证)采用何种加密算法
r1(config-isakmp)#hash sha //验证过程中采用HMAC的功能
r1(config-isakmp)#authentication pre-share //指定身份验证的方式
r1(config-isakmp)#group 2 // 路由器默认组1 防火墙默认组2 最后越大越安全
r1(config-isakmp)#lifetime 10000 //管理连接的生存周期,其他厂商设备这个值必须设置一样
r1(config-isakmp)#exit
r1(config)#crypto isakmp key 0 benet address 200.0.20.1 //配置预共享密钥0 代表明文密码为benet 对等体的地址为R2的F0/0接口地址。
阶段一配置结束。
阶段二配置命令
r1(config)#access-list 100 permit ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255 //定义何种数据流需要被保护
r1(config)#crypto ipsec transform-set benet-set esp-des ah-sha-hmac //定义传输集以及加密和验证的方式
r1(config)#crypto ipsec security-association lifetime seconds 1800 //设定生存周期
r1(config)#crypto map mymap 1 ipsec-isakmp //配置加密映射,映射名为mymap
序列号为
1 数值越小优先级越高
r1(config-crypto-map)#set peer 200.0.20.1 //对等体地址
r1(config-crypto-map)#set transform-set benet-set //指定传输集名称
r1(config-crypto-map)#match address 100 //调用指定的匹配数据流
r1(config)#int f0/0
r1(config-if)#crypto map mymap //在接口上应用映射
R2配置:
r2(config)#ip route 0.0.0.0 0.0.0.0 200.0.20.2
r2(config)#crypto isakmp policy 1
r2(config-isakmp)#encryption 3des
r2(config-isakmp)#hash sha
r2(config-isakmp)#authentication pre-share
r2(config-isakmp)#group 2
r2(config-isakmp)#lifetime 10000
r2(config-isakmp)#exit
r2(config)#crypto isakmp key 0 benet address 200.0.10.1 //该密码应该与R1中设置的密码一致
r2(config)#access-list 100 permit ip 2.2.2.0 0.0.0.255 1.1.1.0 0.0.0.255
r2(config)#crypto ipsec transform-set benet-set esp-des ah-sha-hmac
r2(config)#crypto ipsec security-association lifetime seconds 1800
r2(config)#crypto map mymap 1 ipsec-isakmp
r2(config-crypto-map)#set peer 200.0.10.1
r2(config-crypto-map)#set transform-set benet-set
r2(config-crypto-map)#match address 100
r2(config-crypto-map)#exit
r2(config)#int f0/0
r2(config-if)#crypto map mymap
在R1与R3之间配置IPSec ×××
R3配置
r3(config)#ip route 0.0.0.0 0.0.0.0 200.0.30.2
r3(config)#crypto isakmp policy 1
r3(config-isakmp)#encryption 3des
r3(config-isakmp)#hash sha
r3(config-isakmp)#authentication pre-share
r3(config-isakmp)#group 2
r3(config-isakmp)#lifetime 10000
r3(config-isakmp)#exit
r3(config)#crypto isakmp key 0 benet address 200.0.10.1 //该密码应该与R1中设置的密码一致
r3(config)#access-list 100 permit ip 3.3.3.0 0.0.0.255 1.1.1.0 0.0.0.255
r3(config)#crypto ipsec transform-set benet-set esp-des ah-sha-hmac
r3(cfg-crypto-trans)#exit
r3(config)#crypto ipsec security-association lifetime seconds 1800
r3(config)#crypto map mymap 1 ipsec-isakmp
r3(config-crypto-map)#set peer 200.0.10.1
r3(config-crypto-map)#set transform-set benet-set
r3(config-crypto-map)#match address 100
r3(config-crypto-map)#exit
r3(config)#int f0/0
r3(config-if)#crypto map mymap
R1配置:
R1的参数和R2已经配置过,不需要重新配置,只需要添加与R3有关的参数即可
r1(config)#crypto isakmp key 0 benet address 200.0.30.1 //配置R1与R3的预共享密钥
r1(config)#access-list 100 permit ip 1.1.1.0 0.0.0.255 3.3.3.0 0.0.0.255 // 添加去R3 的受保护数据流
r1(config)#crypto map mymap 1 ipsec-isakmp
r1(config-crypto-map)#set peer 200.0.30.1 //添加一个对等体
在R2与R3之间配置IPSec ×××
R2上的配置:
r2(config)#crypto isakmp key 0 accp address 200.0.30.1
r2(config)#access-list 100 permit ip 2.2.2.0 0.0.0.255 3.3.3.0 0.0.0.255
r2(config)#crypto map mymap 1 ipsec-isakmp
r2(config-crypto-map)#set peer 200.0.30.1
r2(config-crypto-map)#exit
R1上的配置:
r3(config)#access-list 100 permit 3.3.3.0 0.0.0.255 2.2.2.0 0.0.0.255
r3(config)#crypto isakmp key 0 accp address 200.0.20.1
r3(config)#crypto map mymap 1 ipsec-isakmp
r3(config-crypto-map)#set peer 200.0.20.1
r3(config-crypto-map)#exit
配置PAT实现内网访问Internet
R1的配置:
r1(config)#access-list 101 deny ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255
r1(config)#access-list 101 deny ip 1.1.1.0 0.0.0.255 3.3.3.0 0.0.0.255
r1(config)#access-list 101 permit ip 1.1.1.0 0.0.0.255 any
r1(config)#ip nat inside source list 101 interface f0/0 overload
r1(config)#int f0/0
r1(config-if)#ip nat outside
r1(config)#int loopback 0
r1(config-if)#ip nat inside
R2的配置:
r2(config)#access-list 101 deny ip 2.2.2.0 0.0.0.255 1.1.1.0 0.0.0.255
r2(config)#access-list 101 deny ip 2.2.2.0 0.0.0.255 3.3.3.0 0.0.0.255
r2(config)#access-list 101 permit ip 2.2.2.0 0.0.0.255 any
r2(config)#ip nat inside source list 101 interface f0/0 overload
r2(config)#int f0/0
r2(config-if)#ip nat outside
r2(config)#int loopback 0
r2(config-if)#ip nat inside
R3的配置:
R3(config)#access-list 101 deny ip 3.3.3.0 0.0.0.255 2.2.2.0 0.0.0.255
R3(config)#access-list 101 deny ip 3.3.3.0 0.0.0.255 1.1.1.0 0.0.0.255
R3(config)#access-list 101 permit ip 3.3.3.0 0.0.0.255 any
R3(config)#ip nat inside source list 101 interface f0/0 overload
R3(config)#int f0/0
R3(config-if)#ip nat outside
R3(config)#int loopback 0
R3(config-if)#ip nat inside
验证效果,在ISP 上开启一个loopback接口配置一个4.4.4.4模拟外网,全网互通。
阶段2
北京到上海的×××流量间接访问北京公司内网不能直接访问上海公司内网
流量必须经过香港的网关路由器
实现思路
清除R2与R3之间的IPSec ×××配置
修改R1的ACL配置
清除R2与R3之间的IPSec ×××配置
r2(config)#no crypto isakmp key 0 accp address 200.0.30.1
r2(config)#crypto map mymap 1 ipsec-isakmp
r2(config-crypto-map)#no set peer 200.0.30.1
r3(config)#no crypto isakmp key 0 accp address 200.0.20.1
r3(config)#crypto map mymap 1 ipsec-isakmp
r3(config-crypto-map)#no set peer 200.0.20.1
修改R1的ACL配置
r1(config)#access-list 100 permit ip 2.2.2.0 0.0.0.255 3.3.3.0 0.0.0.255 //在R1 上修改保护的数据流量,转发R2访问R3的数据流
r1(config)#access-list 100 permit ip 3.3.3.0 0.0.0.255 2.2.2.0 0.0.0.255 //转发R3 访问R2 的数据流量
验证实验效果