前几次我们聊过了 SITE-TO-SITE ***拓扑如下
![](https://i-blog.csdnimg.cn/blog_migrate/9b0580b53829541a0060b62b15290512.png)
上述拓扑是因为公司只有一个分公司,所以可以创建*** 但是如果公司规模越来越大,分支机构数目越来越多,网络拓扑发生了变化 如下
![](https://i-blog.csdnimg.cn/blog_migrate/fb81794ebeb1c780bd475353163c5b70.png)
在普通的 IPSec site-to-site ***中,需要为每一个peer定义一个密码,在定义 crypto map 时候也需要定义peer,以此来定义加密数据发往对端,随着***邻居的增加,这样重复的配置也会增加,最终导致总公司的网络设备变得难以管理不可维护 所以普通的 ipsec site-to-site ***在有多个分公司的情况下是不可取的
如果其中一个分公司的上网方式是ADSL那么每次得到的IP地址都不一样,那就没有办法指定 peer,s所以我们使用 动态 site-to-site ***来解决这个问题, 在总公司的网络设备上只要配置一个 dynamic map 以及一次认证密码,就可以和多个***邻居进行关联
dynamic site-to-site *** 能够接受任何地址的连接,分为 HUB 端和 SPOKE端 HUB端使用 dynamic map SPOKE端的配置保持不变
注意事项:
HUB端的IP地址必须为固定的 SPOKE端的IP地址可以是任意的。
开始配置首先将第二张图片上的网络拓扑做通,实现任意一个私网地址可以和任意一个公网地址进行通信,方法略
实验配置开始:
由于该实验思科PT模拟器不能做,所以通过GNS3模拟器将拓扑简化,进行实验
![](https://i-blog.csdnimg.cn/blog_migrate/6b1d34f866d4cf3cf4f39aa30089f13d.png)
最终实现内网互通即可
配置IKE阶段
R2(config)#crypto isakmp policy 10
R2(config-isakmp)#encryption 3
R2(config-isakmp)#authentication p
R2(config-isakmp)#hash md5
R2(config-isakmp)#group 2
R2(config-isakmp)#exit
配置通配符认证方法
R2(config)#crypto keyring abc
R2(conf-keyring)#pre-shared-key add
R2(conf-keyring)#pre-shared-key address 0.0.0.0 0.0.0.0 key 0 cisco
R2(conf-keyring)#exit
R2(config)#crypto isakmp profile ppp
R2(conf-isa-prof)#keyring abc
R2(conf-isa-prof)#match identity address 0.0.0.0 0.0.0.0
R2(conf-isa-prof)#exit
配置了名为ppp的isakmp profile 并定义任何IP地址的密码为cisco
配置 IPsec transform
R2(config)#crypto ipsec transform-set test esp-3des esp-md5-hmac
配置 dynamic MAP
R2(config)#crypto dynamic-map dymap 10
R2(config-crypto-map)#set transform-set test
R2(config-crypto-map)#set isakmp-profile ppp
R2(config-crypto-map)#exit
定义了名为 dymap 的动态map 调用名为test 的transform-set 和 名为 ppp 的isakmp-profile
创建 crypto nap
R2(config)#crypto map mymap 10 ipsec-isakmp dynamic dymap
将配置应用到接口
R2(config)#int f1/0
R2(config-if)#crypto map mymap
R2(config-if)#
*Nov 15 23:17:58.623: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
绕过NAT
我们把NAT的ACL进行一下修改
R2#show ip access-lists nat
Extended IP access list nat
10 deny ip host 2.2.2.2 host 3.3.3.3
20 deny ip host 2.2.2.2 host 4.4.4.4
30 permit ip host 2.2.2.2 any
HUB端配置成功
下面我们进行SPOKE端的配置
R3(config)#crypto isakmp policy 10
R3(config-isakmp)#en 3
R3(config-isakmp)#au p
R3(config-isakmp)#hash md5
R3(config-isakmp)#group 2
R3(config-isakmp)#exit
R3(config)#crypto isakmp key cisco address 12.1.1.2
R3(config)#crypto ipsec transform-set test esp-3des esp-md5-hmac
R3(cfg-crypto-trans)#exit
定义感兴趣流量
R3(config)#ip access-list extended ***
R3(config-ext-nacl)#permit ip host 3.3.3.3 host 2.2.2.2
R3(config-ext-nacl)#exit
R3(config)#crypto map mymap 10 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
R3(config-crypto-map)#set peer 12.1.1.2
R3(config-crypto-map)#set tran
R3(config-crypto-map)#set transform-set test
R3(config-crypto-map)#mat
R3(config-crypto-map)#match add
R3(config-crypto-map)#match address ***
R3(config-crypto-map)#exit
R3(config)#interface f1/0
R3(config-if)#cry
R3(config-if)#crypto map mymap
R3(config-if)#
*Nov 15 23:33:51.511: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
应用成功
修改SPOKE的NAT列表
R3#show ip access-lists
Extended IP access list nat
20 deny ip host 3.3.3.3 host 2.2.2.2
30 deny ip host 3.3.3.3 host 4.4.4.4
40 permit ip host 3.3.3.3 any
Extended IP access list ***
10 permit ip host 3.3.3.3 host 2.2.2.2
20 permit ip host 3.3.3.3 host 4.4.4.4
对访问控制列表进行修改。
此时我们的R2和R3的内网之间就应该可以通信了
R3#ping ip 2.2.2.2 source 3.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 204/256/308 ms
自此动态的 SITE-TO-SITE *** 我们就配置成功了