登录站点

用户名

密码

IPSec VPN配置总结 4

热5已有 21 次阅读  21小时前   标签:  IPSec  VPN 

1.      用路由器实现到动态地址的DMVPN

在笔者实施这次VPN的时候,由于有的改制单位使用的是ADSL拨号的方式接入到互联网的,因此笔者在这些地方又尝试了固定地址到动态地址的DMVPN的配置。

DMVPN是Cisco推出的动态多点VPN,是为了适应不断扩展的小型分支机构和总部之间的连接而设计的一种技术。多点的意思就是在总部只有一个点,但可以针对多个分支机构建立IPSec VPN连接,动态的意思就是分支机构的IP地址是不确定的,没有固定的IP地址。DMVPN结合GRE(通用路由封装)、NHRP(下一条地址解析协议)以及IPSec技术实现,可以承载路由协议,因而可以构建一个全网互通的VPN网络。

在DMVPN技术里面,最重要的是要理解NHRP协议。在NHRP协议中,总部的路由器被配置为NHRP服务器,分支机构的路由器被配置为NHRP客户端,作为服务器的中心路由器需要维护一个包含所有客户端路由器公网地址的数据库,每个客户端的路由器在获得了公网的地址后,会向服务器端路由器发送NHRP的注册信息,注册信息中就包括了客户端路由器动态获得的IP地址,这样服务器端的路由器就可以和客户端的路由器建立起VPN的连接了。而客户端的路由器之间需要通讯时,也可以通过作为NHRP服务器端的路由器查询到其他客户端的IP地址,从而两个客户端的路由器之间也可以动态的建立IPSec隧道了。

下面看看笔者单位和各改制单位的网络,和前面的EZVPN的拓扑其实是一样的,如图三所示:

 

图3

图中武汉总部的路由器就充当了NHRP服务器的角色,而改制单位的路由器就是客户端了。具体配置如下:

总部路由器的配置。

首先还是配置统一的ISAKMP的策略:

ZB(config)#crypto isakmp policy 10                                                              //建立ISAKMP策略,优先级为10,其它的参数与前面的一样

ZB(config-isakmp)#encryption 3des

ZB(config-isakmp)#authentication pre-share

ZB(config-isakmp)#group 2

ZB(config-isakmp)#hash sha

ZB(config-isakmp)#exit

ZB(config)#crypto isakmp key cjgsvpn address 0.0.0.0                                   //建立预共享密钥在指定对端的地址时与前面不同,由于改制单位的IP地址是动态的,因此在这里就不能明确的指定对端的IP地址

ZB(config)#crypto ipsec transform-set cjgs_vpnset esp-3des esp-sha-hmac   //转换集的参数也和前面的一样

ZB(cfg-crypto-trans)#mode transport                                                             //在这里使用了传输模式是由于要使用GRE封装,因此就没有必要再使用隧道模式

ZB(config)#crypto ipsec profile cjgs-vpnpro                                           //建立名称为cjgs-vpnpro的配置文件

ZB(ipsec-profile)#set transform-set cjgs_vpnset                                       //指定变换集

下面是配置DMVPN的关键部分。

ZB(config)#int t0                                                                                     //建立隧道接口,接口名称为Tunnel0

ZB(config-if)#ip add 172.19.255.1 255.255.255.0                                         //给隧道接口配置IP地址

ZB(config-if)#ip nhrp authentication cjgs                                                   //配置NHRP的认证字符串,只有认证字符串相同的才能够互相通信

ZB(config-if)#ip nhrp map multicast dynamic                                                  //允许NHRP服务器端路由器能够动态添加客户端路由器到多点NHRP映射

ZB(config-if)#ip nhrp network-id 10                                                               //为NBMA(非广播多路访问)网络指定一个网络标识符

ZB(config-if)#tunnel source fa0/0                                                                    //指定隧道接口的源地址

ZB(config-if)#tunnel key 100                                                                          //指定隧道接口的密钥

ZB(config-if)#tunnel mode gre multipoint                                                 //将隧道接口配置成mGRE(多点GRE)隧道模式

ZB(config-if)#tunnel protection ipsec profile cjgs-vpnpro                          //将隧道接口和IPSec配置文件关联起来

ZB(config-if)#ip ospf network broadcast                                                  //在笔者单位使用的OSPF路由协议,由于这里是一个NBMA的网络,因此需要将接口配置成广播型的网络

最后根据需要配置好相应的路由协议就可以了。

再看看改制单位的配置。

改制单位的路由器作为NHRP的客户端路由器,在ISAKMP策略和转换集的配置上和总部的配置是一样的。

GZ1(config)#crypto isakmp policy 10

GZ1(config-isakmp)#encr 3des

GZ1(config-isakmp)#authen pre

GZ1(config-isakmp)#hash sh

GZ1(config-isakmp)#group 2

GZ1(config)#crypto isakmp key cjgsvpn add 0.0.0.0                               //配置预共享密钥和对端地址

GZ1(config)#crypto ipsec transform-set cjgs_vpnset esp-3 esp-sha-hmac //建立转换集

GZ1(cfg-crypto-trans)#mode tran                                                                   //使用传输模式

GZ1(config)#crypto ipsec profile cjgs-vpnpro                                                 //建立名称为cjgs-vpnpro的IPSec配置文件

GZ1(ipsec-profile)#set transform-set cjgs_vpnset

GZ1(ipsec-profile)#exit

配置隧道接口和NHRP客户端:

GZ1(config)#int t0                                                                                          //建立隧道接口

GZ1(config-if)#ip add 172.19.255.2 255.255.255. 0                                      //配置隧道接口的IP地址

GZ1(config-if)#ip nhrp authentication cjgs                                                       //配置NHRP的验证字符串,和总部的要一致

GZ1(config-if)#ip nhrp map multicast 59.175.234.100                             //在总部和改制单位使用动态路由协议,告诉客户端路由器发送组播数据包到服务器端的路由器

GZ1(config-if)#ip nhrp map 172.19.255.1 59.175.234.100                            //建立服务器端路由器的隧道接口的地址和公网地址的映射关系

GZ1(config-if)#ip nhrp network-id 10                                                             //为NBMA网络指定网络标识符,和总部的路由器保持一致

GZ1(config-if)#ip nhrp nhs 172.19.255.1                                                        //指定NHRP服务器的地址,即总部路由器隧道接口的地址

GZ1(config-if)#tunnel sour fa0/0                                                                     //指定隧道接口的源地址

GZ1(config-if)#tunnel mode gre multipoint                                               //将隧道接口配置为多点GRE模式

GZ1(config-if)#tunnel key 100                                                                 //隧道接口的密钥,必须与总部的保持一致

GZ1(config-if)#tunnel protection ipsec profile cjgs-vpnpro                        //将IPSec配置文件和隧道接口关联

GZ1(config-if)#ip ospf net br                                                                          //将接口配置成广播型

最后再配置好相应的路由协议,这样就完成了一个改制单位的配置,其余的改制单位与此类似。全部配置完成后,可以在路由器上使用sh ip nhrp命令查看NHRP的缓存,在该命令的输出中就可以看到各个路由器的注册信息。这样不仅实现了改制单位与总部之间的通信,同时也实现了改制单位之间的通信。至于是否需要改制单位之间通信可以根据需要来进行进一步的设置。

分享 举报

发表评论 评论 (3 个评论)

涂鸦板