老的ipsec vpn技术在高扩展上的问题

1.两次加解密

2.两次占用中心带宽

1.ipsec vpn配置过多

2.每个客户端需要维护扩多的ipsec sa

3.每个客户需要固定ip地址dmvpn是一个高扩展性的vpn

1.mgre

多点gre,类似于fr,fr我们需要fr map,一个ip到dlci的映射,mgre环境里边我们需要虚拟ip的映射,这个时候我们就需要nhrp了

mgre是一个nbma的网络,不能运行组播,为了能够让组播正常工作我们需要对组播进行手动映射才行,例如我们需要手动的,让branch1发送组播给center,这样branch就可以和center运行动态路由协议了。

2.nhrp

下一跳解析协议,帮我们解析物理的ip。center是nhs(下一跳解析服务器),所有的branch都需要静态指定nhs的映射,branch会到nhs上去注册,注册虚拟地址所对应的物理地址,所有的branch之间的访问都需要到center上去解析对方虚拟地址的物理地址,只有获取对方的物理地址之后才能直接与对方的branch建立gre通道

3.ipsec vpn

mgre配置:

center:

inter tunnel 0

ip add 172.16.1.100 255.255.255.0

tunnel mode gre multipoint (多点gre)

tunnel source fa0/0 多点gre没有目的

tunnel key 12345(这个必须敲不然多点gre不会up)

branch1:inter tunnel 0

ip add 172.16.1.1 255.255.255.0

tunnel mode gre multipoint

tunnel soutce f0/0

tunnel key 12345

branch2:

inter tunnel 0

ip add 172.16.1.2 255.255.255.0tunnel mode gre multipoint

tunnel souce f0/0

tunnel key 12345

所有的客户端都知道center的物理ip是什么

dranch1:

int tunnel0

ip nhrp ma 172.16.1.100 202.100.1.100(手动映射center虚拟ip和物理ip)

ip nhrp network-id 10(网络id,必须要在同一个网络id里面,才能够进行正常的通信,所有的客户端和中心都要一样)

ip nhrp nhs 172.16.1.100(指定nhrp的服务端的虚拟ip地址)

他会把自己的物理ip和虚拟ip做映射给服务端,服务端维护了一个物理ip和虚拟ip的映射表。

center:

int tunnel0

ip nhrp network-id 10

dranch2:

int tunnel0

ip nhrp map 172.16.1.100 202.100.1.100

ip nhrp nhs 172.16.1.100

ip nhrp network id 10

center:

show ip nhrp

center:

inter tunnel 0

ip nhrp map multicast dynamic(由于mgre不支持组播,组播映射)

branch1:

int tunnel 0

ip nhrp map multicast 202.100.1.100

branch2:

int tunnel 0

ip nhrp map multicast 202.100.1.100

center:

router eigrp 100

no au

net 172.16.1.0 0.0.0.255

net 192.168.100.0 0.0.0.255

branch1:

router eigrp 100

no au

net 172.16.1.0 0.0.0.255

net 192.168.1.0 0.0.0.255

branch2:

router eigrp 100

no au

net 172.16.1.0 0.0.0.255

net 192.168.2.0 0.0.0.255

由于dmvpn有个bug所以必须把所有tunnel接口shutdown,开启的时候由中心开始no shutdown

由于eigrp水平分割,branch1:没有学到branch2的内部网络。需要在center执行。

inter tunnel 0

no ip split-horizon eigrp(关闭水平分割)

no ip next-hop-self eigrp 100(取消eigrp100的下一跳是自己)

dmvpn是一个gre over ipsec的技术

center:

cry isa pol 10

au pre

hash md5

cry isa key 0 cisco address 0.0.0.0

cyr ipsec transform-set cisco esp-des esp-md5-hmac

mode transport

cry ipsec profile cisco

set transform-set cisco

branch1:

crypto isakmp policy 10

hash md5

authentication pre-share

crypto isakmp key cisco address 0.0.0.0 0.0.0.0

crypto ipsec transform-set cisco esp-des esp-md5-hmac

mode trunsport

crypto ipsec profile cisco

set transform-set cisco

branch2:

crypto isakmp policy 10

hash md5

authentication pre-share

cry isakmp key cisco address 0.0.0.0 0.0.0.0

crypto ipsec transform-set cisco esp-des esp-md5-hmac

mode transport

crypto ipsec profile cisco

set transform-set cisco

调用:

center:

inter tunnel 0

tunnel prolection ipsec profile cisco

branch1:

inter tunnel 0

tunnel prolection ipsec profile cisco

branch2:

inter tunnel 0

tunnel prolection ipsec profile cisco

由于对于原始的包加了很多包头,所以又可能造成分片,所以调整我们的mtu.可以设置为1440.或1436.

center:

inter tunnel 0

ip mtu 1440

branch1:

int tunnel 0

ip mtu 1440

branch2:

int tunnel 0

ip mtu 1440