实验说明:飞龙公司进一步扩大,在上海已经建立分公司,现在要实现通过VPN的配置实现我上海分公司和我北京总公司的内部网络互通,但是是上海分公司是ADSL接入,通过运营商的地址协商获取地址,所以IP地址不确定,下面通过动态单点VPN实验此功能。

实验拓扑:

clip_image002

IP具体配置如下,实验中不做配置

PC1

172.16.237.1/24 网关:172.16.237.50




PC2

172.16.238.1/24 网关:172.16.238.50




R1

F0/0

172.16.237.50

F1/0

地址协商获取

R2

F1/0

100.0.0.2

F2/0

200.0.0.2

R3

F2/0

200.0.0.1

F0/0

172.168.238.50

实验思路:

1 本章不模拟地址协商自动获取 ,通过手动配置IP 模拟环境

2 R1R3 上做默认路由

3 NAT转换 ,定义那些数据的IP 进行转换

4 定义IKE协商参数(管理连接安全联盟)

5 定义IPsec参数(数据连接安全联盟)

6 定义map (对等体是谁,保护的方法,保护谁)

7 map应用到接口

8 测试网络的连通性并查看实验结果

配置步骤如下:

1配置默认路由

R1(config)#ip route 0.0.0.0 0.0.0.0 fastEthernet 1/0(基于接口)

R3 (config)#ip route 0.0.0.0 0.0.0.0 fastEthernet 1/1(基于接口)

2 配置NAT转换所定义的ACL(端口多路复用PAT)

R1(config)#access-list 101 deny ip 192.168.237.0 0.0.0.255 192.168.238.0 0.0.0.255

R1(config)# access-list 101 permit ip any any(先拒绝到私网的,然后允许到公网的)

R3(config)#access-list 101 deny ip 192.168.238.0 0.0.0.255 192.168.237.0 0.0.0.255

R3(config)#access-list 101 permit ip any any(先拒绝到私网的,然后允许到公网的)

3 ACL和端口关联起来,并在端口开启NAT转换

R1(config)#ip nat inside source list 101 interface f1/0 overload(注意)

R1(config)#interface f1/0

R1(config-if)#ip nat outside(在连接外网的接口上)

R1(config)#interface f0/0

R1(config-if)#ip nat inside(在连接内网的接口上)

R3(config)#ip nat inside source list 101 interface f1/1 overload(注意)

R3(config)#interface f1/1

R3(config-if)#ip nat outside(在连接外网的接口上)

R3(config)#interface f0/0

R3(config-if)#ip nat inside(在连接内网的接口上)

4 为了验证VPN是否配置成功 (先给F1/0配置临时IP 100.0.0.1/8 )

c1 ping 100.0.0.2 测试联通没有问题 在路由R1查看

R1#ebug ip nat

IP NAT debugging is on

*Sep 20 12:48:51.855: NAT: s=192.168.237.1->100.0.0.1, d=100.0.0.2 [40]

*Sep 20 12:48:52.015: NAT*: s=100.0.0.2, d=100.0.0.1->192.168.237.1 [40]

*Sep 20 12:48:52.147: NAT*: s=192.168.237.1->100.0.0.1, d=100.0.0.2 [41]

*Sep 20 12:48:52.211: NAT*: s=100.0.0.2, d=100.0.0.1->192.168.237.1 [41]

Pc2 ping 公网也没有问题 NAT转换也成功

NAT 配置成功

5 配置管理连接安全联盟(IKE)

R1onfig)#crypto isakmp policy 1 (数值越小,优先级越高)

R1config-isakmp)#hash md5 (密钥认证所使用的算法)

R1config-isakmp)#encryption 3des(设置加密所使用的算法)

R1config-isakmp)#authentication pre-share(告诉路由要使用预先共享密钥,此密码是手动设置的)

R1config)#crypto isakmp key passwd address 200.0.0.1(设置预共享的密码,两端必须一样.设置对等体)

R3(config)#crypto isakmp policy 1 (数值越小,优先级越高)

R3(config-isakmp)#hash md5 (密钥认证所使用的算法)

R3(config-isakmp)#encryption 3des(设置加密所使用的算法)

R3(config-isakmp)#authentication pre-share(告诉路由要使用预先共享密钥,此密码是手动设置的)

R3onfig)#crypto isakmp key passwd address 0.0.0.0(设置预共享的密码,两端必须一样.这里的对等体地址不确定,所以使用0.0.0.0 后面配置动态TED探测)

6 定义触发IPsec保护感兴趣

R1(config)#access-list 102 permit ip 192.168.237.0 0.0.0.255 192.168.238.0 0.0.0.255

R3(config)#access-list 102 permit ip 192.168.238.0 0.0.0.255 192.168.237.0 0.0.0.255

7配置数据连接安全联盟(IPsec传输模式)

(传输模式定义VPN隧道的认证类型,完整性和负载加密)

R1(config)#crypto ipsec transform-set t33 ah-md5-hmac esp-des esp-md5-hmac(蓝色标记为名字,可以同时使用3种传输模式)(两端配置必须互为镜象

R2(config)#crypto ipsec transform-set t33 ah-md5-hmac esp-des esp-md5-hmac(蓝色标记为名字,可以同时使用3种传输模式) (两端配置必须互为镜象

8定义map,将VPN隧道需要的信息整合到一起,应用到接口上

R1(config)#crypto map zhang 1 ipsec-isakmp

R1(config-crypto-map)#set peer 200.0.0.1 (设置对等体)

R1(config-crypto-map)#set transform-set t33 (将前面设置的transform-set关联起来)

R1(config-crypto-map)#match address 102 (定义map使用的访问列表,保护那些数据)

R3(config)#crypto dynamic-map hao 1 (创建一个动态的map ,这里用dynamic-map动态映射蓝色标识名字紫色标识优先级)

R3(config-crypto-map)#set transform-set t33 (将前面设置的transform-set关联起来)

R3(config-crypto-map)#match address 102 (定义map使用的访问列表,保护那些数据)

R3(config) #crypto map zhang 1 ipsec-isakmp dynamic hao discover(在创建一个静态的map zhang和前面创建的dynamic hao关联起来, discover用于TED终点隧道探测

9map 映射到端口

R1(config)#interface f1/0

R1(config-if)#crypto map zhang (一般都是应用在连接外网的接口上)

R3(config)#interface f1/1

R3(config-if)#crypto map zhang (一般都是应用在连接外网的接口上)

10 模拟环境,为F1/0配置一个IP 100.0.0.5/8(注意必须和所连公网在同一网段)

完成以上步骤之后,测试两个内部网络是否可以正常通讯

PC1#ping 192.168.238.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.238.1, timeout is 2 seconds:

!!!!!

Success rate is 60 percent (5/5), round-trip min/avg/max = 280/354/452 ms

PC2#ping 192.168.237.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.237.1, timeout is 2 seconds:

!!! !!!

Success rate is 40 percent (5/5), round-trip min/avg/max = 356/1154/1952 ms

过测试之后,发现两个私有网络可以互通 ,动态VPN配置成功

11 查看对等体关联状态 show crypto isakmp sa

R1#show crypto isakmp sa

dst                          src                      state                    conn-id slot

200.0.0.1          100.0.0.5                QM_                      IDLE 1 0

R3#show crypto isakmp sa

    dst                       src                      state                   conn-id slot

200.0.0.1          100.0.0.5                QM_                       IDLE  1 0

查看结果为两端的对等建立连接成功

12 模拟环境 更改 R1 上的F1/0接口的IP 查看是否能自动建立成功

R1(config)#interface f1/0

R1(config-if)#ip address 100.0.0.10 255.0.0.0

测试是否可以通讯(结果可以正常通讯)

PC1#ping 192.168.238.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.238.1, timeout is 2 seconds:

!!!!!

Success rate is 60 percent (5/5), round-trip min/avg/max = 280/354/452 ms

PC2#ping 192.168.237.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.237.1, timeout is 2 seconds:

!!! !!!

Success rate is 40 percent (5/5), round-trip min/avg/max = 356/1154/1952 ms

查看对等体关联状态

R1#show crypto isakmp sa(在R1上发现有两条)

dst                                src                                    state                        conn-id slot

200.0.0.1               100.0.0.5                               QM_                       IDLE 1 0

200.0.0.1               100.0.0.10                             QM_                       IDLE 2 0

R3#show crypto isakmp sa(在R3上发现也有两条)

dst                               src                                      state                         conn-id slot

200.0.0.1                 100.0.0.5                               QM_                            IDLE 1 0

200.0.0.1                100.0.0.10                           QM_                             IDLE 2 0

查看结果后发现 ,有两条安全关联,这是因为第一个建立的的老化时间还为到呢,可以用以下命令清除(R3#clear crypto isakmp 1)为安全关联的编号。

实验说明:在模拟动态VPN建立的过程中可能会有些时间延长 ,一般配置没有问题,等一会就可以建立成功了 。这中VPN的配置经常应用于ADSL接入自动协商IP地址的企业里。

相关调试命令 (用于排错)

show crypto isakmp policy(协商的策略以及最后的默认策略设置)

show crypto ipsec transform-set(显示路由上设置的transform-set

show crypto isakmp sa(显示当前安全联盟的设置)

show crypto map(在路由器上配置的map

排错考虑的几点:

查看NAT定义的转换IP的访问列表是否正确

查看IPsec定义保护的数据列表是否正确

查看指定的预共享密钥是否相同

两端IKE协商的参数是否相同

两端IPsec协商的参数是否相同

定义的map是否正确 以及应用端口是否正确

 

 

 

实验配置完成,希望大家能留下宝贵的意见