前面的博文已经介绍过了基本的站点到站点×××,但不管是普通L2L ×××还是GRE、SVTIR技术,都需要互相连接的所有站点都有一个固定的公网IP地址,但是在实际工程中,一些中小型企业,很难满足这样的条件。一些公司总部会使用固定IP地址,但分站往往使用价格低廉的动态IP地址(往往是ADSL接入);还有一些公司站点少,员工少,即使是总部也是使用动态的IP地址。要在这种环境下部署×××,可以使用下面几种解决方案:


动态crypto map

动态crypto map是普通L2L ×××技术的扩展,要求中心站点必须是固定IP地址,且感兴趣流的触发必须由分站发起。


DDNS:

       传统的DNS技术可以将域名解析为IP地址。所谓DDNS,就是动态的DNS(Dynamic Domain Network System),它能够动态地更新域名和IP地址的对应关系。当IP地址变化后,能够即时改变域名和IP的对应,从而使用户能够通过域名访问一个动态IP地址的站点。这一技术常常被用在小型企业、SOHO办公室和家庭中,没有固定的IP地址,但又想实现远程管理的环境。

       通过使用DDNS这个技术在中心站点上,将中心站点的IP地址映射到一个域名上,中心站点域名不会改变,分站就可以和中心站点建立×××了,移动办公用户也可以通过×××接入到公司内网。

笔者从网上和官方文档看到思路的路由器可以直接配置DDNS,但没有配置成功过。鉴于此,读者可以在公司一台不关机的服务器安装DDNS的软件,利用软件来更新IP和域名的对应关系。如果觉得软件不方便,可以购买花生壳提供的DDNS硬件产品——花生棒来提供更新。

常见的DDNS服务提供商:

国内的:花生壳

国外的:dyndns


Ez×××:

Easy×××是思科的私有技术,但需要中心站点是固定IP,分站可以是动态IP,中心站点可以是域名。


DM×××:

DM×××是解决分支站点没有固定IP最好的解决方案,它通过MGRE和NHRP技术,实现了公网IP和内网IP的解析,同时它拥有GRE隧道的特点,能够运行动态路由协议,支持数据控制和QOS等,但它的中心站点需要一个固定IP,且不能是域名。

 


下面来演示动态crypto map的实验:

实验拓扑:

wKiom1YXiI7SQW-DAAE9_7iO3zM478.jpg


基础配置如下(以下配置可以直接刷进路由器):

R1配置:

en

conft

hostR1

intf0/0

ipadd 12.1.1.1 255.255.255.0

noshut

intlo 0

ipadd 1.1.1.1 255.255.255.0

iproute 0.0.0.0 0.0.0.0 12.1.1.2

 

 

R2配置:

en

conft

hostR2

intf0/0

ipadd 12.1.1.2 255.255.255.0

noshut

intf1/0

ipadd 23.1.1.2 255.255.255.0

noshut

ipdhcp pool dhcp-pool

   network 23.1.1.0 255.255.255.0

   default-router 23.1.1.2

 

R3

en

conft

hostR3

intf1/0

ipadd dhcp

noshut

intlo 0

ipadd 3.3.3.3 255.255.255.0

iproute 0.0.0.0 0.0.0.0 23.1.1.2


中心站点(R1)×××配置:

R1(config)#cryptoisakmp policy 10

R1(config-isakmp)#hash md5

R1(config-isakmp)#authentication pre-share

R1(config-isakmp)#cryptoisakmp key cisco address 0.0.0.0 0.0.0.0

//这里的IP地址是用来对验证建立IPSEC ×××的对端路由器进行验证的,由于分支站点是动态IP地址,因此这里只能写8个0表示任意地址,只要是KEY为"cisco",就能建立IPSEC ×××,这样配置并不安全,可以使用证书认证来加强安全。


R1(config)#cryptoipsec transform-set trans esp-des esp-md5-hmac


R1(cfg-crypto-trans)#cryptodynamic-map dymap 10

R1(config-crypto-map)#set transform-set trans

//动态crypto map下只能设置转换集,由于中心站点并不知道对端的IP地址,因此任意的peer和感兴趣流都可以被中心接受。


R1(config-crypto-map)#cryptomap cisco 1000 ipsec-isakmp dynamic dymap

//由于路由器一个接口只能配置一个crypto map,因此如果一台路由器要与多个站点同时建立多个×××,可以通过配置多个crypto map ID来实现。一般动态crypto map的序号应该是最大的一个,这样配置的目的是为了让那些序号小的明细的crypto map策略优先得到匹配,也就是固定IP的在前面。


R1(config)#intf0/0

R1(config-if)#cryptomap cisco


分支站点(R3)×××配置:

分支站点按照普通的L2L ×××配置就可以了。

R3(config)#cryptoisakmp policy 10

R3(config-isakmp)#hash md5

R3(config-isakmp)#authentication pre-share

R3(config-isakmp)#cryptoisakmp key cisco address 12.1.1.1

R3(config)#cryptoipsec transform-set trans esp-des esp-md5-hmac

R3(config)#access-list100 permit ip 3.3.3.0 0.0.0.255 1.1.1.0 0.0.0.255 

R3(config)#cryptomap cisco 10 ipsec-isakmp

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

R3(config-crypto-map)#set transform-set trans

R3(config-crypto-map)#match address 100

R3(config-crypto-map)#intf1/0

R3(config-if)#cryptomap cisco


测试

R3#ping1.1.1.1 source 3.3.3.3

Typeescape sequence to abort.

Sending5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:

Packetsent with a source address of 3.3.3.3

!!!!!

Succe***ate is 100 percent (5/5), round-trip min/avg/max = 48/65/108 ms

 

动态Crypto map总结:

优点:兼容性强,能很好地和其他厂家的设备协同工作,一般厂家都支持。

缺点:1.没有隧道接口,不能配置ACL、QOS等

      2.不能运行动态路由协议

        3.只能由分站触发流量,中心站点不能主动发起×××

建立在和非思科厂家的×××设备连接时使用该技术,如果都是思科设备,推荐使用DM×××、EZ×××技术。