我们知道私有IP地址是不能在公网上进行路由的,现在用户需求是位于总公司的某一个VLAN想要和分部的某一个vlan进行直接的通信。 那么此时我们就通过 site-to-site ×××来解决这个问题

配置 IPsec site-to-site ××× 的几个重要步骤,我们以后的实验过程就按照这几个流程来做

1.配置 IKE 策略

  定义IKE 的策略包括加密算法 hash 认证方式 等

2.定义认证标识

  添加认证信息 如密码等

3.配置 IPsec transform

  定义×××流量中的数据包是受到怎样保护的

4.定义感兴趣流量

  定义哪些流量需要通过×××来进行传输,通过IPSEC来保护

5.创建 crypto map

  将之前定义的ACL加密数据发往对端 以及把 ipsec transform 结合在 crypto 中

6. 将crypto map 应用到接口

 

配置过程如下:

1.配置 IKE 

 

r1(config)#crypto ?

  dynamic-map  Specify a dynamic crypto map template

  ipsec        Configure IPSEC policy

  isakmp       Configure ISAKMP policy

  key          Long term key operations

  map          Enter a crypto map 

r1(config)#crypto is

r1(config)#crypto isakmp po

r1(config)#crypto isakmp policy ?

  <1-10000>  Priority of protection suite

r1(config)#crypto isakmp policy 10 ?

  <cr>

r1(config)#crypto isakmp policy 10  

定义了 ISAKMP policy 10

 

 

r1(config-isakmp)#encryption 3 

r1(config-isakmp)#authentication pre-share 

r1(config-isakmp)#ha

r1(config-isakmp)#hash md5

r1(config-isakmp)#group 1 

定义加密方式为 3des  hash的算法为md5 认证方式为预共享密钥 加密算法 group1

 

2 定义认证标识

r1(config)#crypto isakmp key cisco address 23.1.1.1

因为之前的认证方式为 pre-share 所以此处要配置认证密码 以及认证邻居 也就是和谁进行密码协商

 

3.配置 ipsec transform

r1(config)#crypto ipsec transform-set mytest esp-3des  esp-md5-hmac

配置了 transform-set 为 mytest 数据封装使用 esp-3des  使用 esp-md5-hmac 做hash计算

 

4.定义感兴趣流量

 

 

 

r1(config)#ip access-list extended ***

r1(config-ext-nacl)#permit ip 172.16.2.0 0.0.0.255 172.16.10.0 0.0.0.255 

定义了感兴趣流量

 

5. 创建 crypto map 

 

r1(config)#crypto map mytest_map  10 ipsec-isakmp 

r1(config-crypto-map)#set transform-set mytest

r1(config-crypto-map)#set peer 23.1.1.1 

r1(config-crypto-map)#match address *** 

创建一个名为 mytest_map 的×××  序列号为10 指定对端的IP地址为23.1.1.1 调用 ipsec transform mytest 指定 访问控制列表 ××× 为感兴趣流量

6.将 crypto map 应用到接口

 

r1(config)#int f0/1

r1(config-if)#crypto map mytest_map 

*Jan  3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

总部的路由器配置完成,下面我们要在分公司的边界路由器上进行配置

 

 

r2(config)#crypto isakmp policy 10 

r2(config-isakmp)#encryption  3

r2(config-isakmp)#authentication  p 

r2(config-isakmp)#ha md5 

r2(config-isakmp)#group 1

 

 

 

 

 

 

 

r2(config)#crypto isakmp key cisco address 12.1.1.1 

 

r2(config)#crypto ipsec transform-set mytest esp-3des esp-md5-hmac 

 

 

r2(config)#ip access-list extended ***

r2(config-ext-nacl)#permit ip 172.16.10.0 0.0.0.255 172.16.2.0 0.0.0.255 

 

 

r2(config)#crypto map mytest_map  10 ipsec-isakmp 

r2(config-crypto-map)#set transform-set mytest

r2(config-crypto-map)#set peer 12.1.1.1

r2(config-crypto-map)#match address ***

 

 

r2(config)#int f0/0

r2(config-if)#crypto map mytest_map 

*Jan  3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

 

site-to-site ×××就配置完成,我们先看下此时我们的实验目的能否达到

 

 

 

 

 

 

我们发现 172.16.2.2 此时并不能和 172.16.10.2 进行通信

这是为什么呢?

在多数情况下我们不希望为穿越隧道的流量进行IP地址转换,因为做了NAT之后,内网访问外网时候内网的私有IP地址都被转化成了公网的IP地址,那么这样就无法访问对方的内网,所以我们就必须为穿越×××隧道的想要通信的私网之间的流量建立豁免原则,绕过NAT 也就是说两端私网之间互访时候不进行NAT地址的转换

那么我们需要修改刚才NAT的访问控制列表

将两台路由器的NAT访问控制列表修改为

 

r1#show ip access-lists 

Extended IP access list nat

    deny ip 172.16.2.0 0.0.0.255 172.16.10.0 0.0.0.255

    permit ip 172.16.1.0 0.0.0.255 any

    permit ip 172.16.2.0 0.0.0.255 any

    permit ip 172.16.3.0 0.0.0.255 any

 

将对端的NAT访问控制列表进行修改

 

r2#show ip access-lists 

Extended IP access list nat

    deny ip 172.16.10.0 0.0.0.255 172.16.2.0 0.0.0.255

    permit ip 172.16.10.0 0.0.0.255 any

    permit ip 172.16.20.0 0.0.0.255 any

 

成功建立NAT流量豁免

 

此时两端内网连通性

 

 

 

172.16.2.2 成功和对方 172.16.10.2 进行通信 实验成功