CCIE
当前位置:网站首页>CCIE
使用ccna培训知识实现DVTI容纳N个SVTI
发布日期:2019-06-11 11:46:15 发布者:
    之前介绍过 15.0的新版本VPN的特性,发现它与老版本相比不在使用传统的crypto map配置了,而是使用SVTI的方式直接建立VPN,那么如果有这么种情况,有10个站点需要建立VPN,那么就需要建立10个不同的SVTI,这样就非常的不方便了,那么这种情况下可以使用DVTI,它非常像VPDN的虚拟模板,当一个站点成功建立VPN后,就自动建立一个虚拟接口,这样无论多少个站点连接中心,它都只需要配置一个模板即可,建立的虚拟接口就自动继承虚拟模板里面的配置。

这里的虚拟模板与传统的VPDN模板不一样,VPDN的模板是 interface virtual-template 1 直接回车了,而DVTI使用是 interface virtual-template 1 type tunnel,以tunnel的形式存在,应用在IPSec VPN中,比如后续要介绍的EZVPN特性,可以在中心和分支之间直接建立动态路由协议。

在此之前,介绍一个特性,关于OSPF的,我们都知道 OSPF建立邻居关系必须匹配几个条件,其中一个就是必须处于同一网段中,但是,在新版介绍的时候,当满足了某些条件后,OSPF是可以不处于同一网段的,这个特性我查询了RFC描述才明白。

12.1.1.0/24 23.1.1.0/24

R1(1)——-(2)R2(1)——–(2)R3

拓扑很简单,R1和R3直接建立邻居,使用的是R1、R3的物理接口,这里主要给出R1和R3的配置

R1

interface Tunnel0

ip unnumbered FastEthernet0/0

ip ospf 1 area 0

tunnel source FastEthernet0/0

tunnel destination 23.1.1.2

!

interface FastEthernet0/0

ip address 12.1.1.1 255.255.255.0

!

ip route 0.0.0.0 0.0.0.0 12.1.1.2

router ospf 1

log-adjacency-changes

R3

interface Tunnel0

ip unnumbered FastEthernet0/0

ip ospf 1 area 0

tunnel source FastEthernet0/0

tunnel destination 12.1.1.1

interface FastEthernet0/0

ip address 23.1.1.2 255.255.255.0

!

ip route 0.0.0.0 0.0.0.0 23.1.1.1

router ospf 1

log-adjacency-changes

这里我没有配置OSPF 的RID哦,所以它自动的用接口ID作为RID,这里建立邻居是通过R1的接口12.1.1.1 和R3的接口23.1.1.2直接建立的邻居,这是不是很违背我们在RS学习的理论, 其实我之前也一直认为不可能的事情,但是,RFC和IE课程中有介绍,RFC规定在point-to-point的网络类型中,并不是严格检查网段是否处于相同网段,主要是为了点对点接口,除了我就是你,向点对点就会产生32位的主机路由, 另外一个条件就是 接口地址必须是unnumbered方式,在IE课程中介绍了,这个是为了节省IP地址的方式,有朋友会疑问,那怎么宣告,这就是Cisco为特殊OSPF提供的一种解决方案,直接在接口下宣告 ip ospf 1 area 0 (很像IPV6的方式),这种主要是解决unnumbered的方式IP进行宣告,这种特性只有OSPF拥有, H3C和HW也对应的支持这种宣告方式

总结下:要想OSPF不同网段建立邻居关系的条件: 1、接口类型点对点 2、地址形式必须是unnumbered

tunnel接口默认就是point-to-point

当把tunnel的OSPF类型改为broadcost后,邻居立马down了,并且没有任何收到邻居的信息,show ip ospf neighbor是空的

知道了这个特性,那么理解DVTI的话,就容易多了

实验环境:地址已经配置好了,按图上面进行配置,每个路由器上都有一条缺省指向intenet(intenet是没有路由的),Cente采用DVTI的方式配置,而Branch使用SVTI方式

Cisco-Center (DVTI)

Cisco-Center(config)#crypto keyring DVTI

Cisco-Center(conf-keyring)#pre-shared-key address 23.1.1.2 key cisco

Cisco-Center(conf-keyring)#pre-shared-key address 23.1.1.3 key h3c

Cisco-Center(config)#crypto isakmp profile isakmpprofile

% A profile is deemed incomplete until it has match identity statements

Cisco-Center(conf-isa-prof)#keyring DVTI

Cisco-Center(conf-isa-prof)#match identity address 23.1.1.2

Cisco-Center(conf-isa-prof)#match identity address 23.1.1.3

Cisco-Center(conf-isa-prof)#virtual-template 1 关联虚拟模板接口

Cisco-Center(config)#crypto ipsec profile ipsecprofile

Cisco-Center(ipsec-profile)#set isakmp-profile isakmpprofile

Cisco-Center(config)#interface virtual-template 1 type tunnel type必须是tunnel的,传统的是用于VPDN的

Cisco-Center(config-if)#ip unnumbered f0/0

Cisco-Center(config-if)#tunnel mode ipsec ipv4

Cisco-Center(config-if)#tunnel protection ipsec profile ipsecprofi

1、大家仔细看这个tunnel口,没设置tunnel source和destination ,那么这个虚拟模板的虚拟接口怎么建立呢,其实,大家可以想想 SVTI建立的形式,tunnel口是自动建立的,那么这个虚拟接口就利用SVTI的形式自动建立隧道,(SVTI是有明确的源目地址的),所以当DVTI收到一个来自SVTI的隧道建立,就会自动关联上,以SVTI的目的作为自己的源,而SVTI的源作为它的目的,建立一个动态的虚拟接口。

2、isakmp profile是12.4开始支持的新特性,它的作用其实很大,可以调用VRF、QOS、和关联虚拟模板的。

3、第一二阶段策略,还是使用默认的。

Branch端配置

crypto isakmp key cisco address 12.1.1.1

!

crypto ipsec profile ipsecprofile

!

interface Tunnel0

ip unnumbered FastEthernet0/0

tunnel source FastEthernet0/0

tunnel mode ipsec ipv4

tunnel destination 12.1.1.1

tunnel protection ipsec profile ipsecprofile

!

interface FastEthernet0/0

ip address 23.1.1.2 255.255.255.0

!

ip route 0.0.0.0 0.0.0.0 23.1.1.1

Branch2的配置就一个不同的地方 就是crypto isakmp key h3c address 12.1.1.1

虚拟接口自动UP了,是利用虚拟模板的特性,很想VPDN的PPTP和L2TP或者PPPOE自动建立后,就有一个虚拟接口UP了

关于access2接口是目的地址关联23.1.1.2, 之前提到过 是自动关联SVTI的源作为目的地址,目的作为源。

关于access2接口是目的地址关联23.1.1.3

接口全部UP了。

no tunnel protection ipsec initiate:是关闭自动发起特性,因为它只能被动接受

路由和一些注意问题

1、关于DVTI是不支持静态路由的,因为它没有指向虚拟接口的命令

2、之前介绍过关于无编号地址的形式就OSPF可以支持

3、DVTI只支持无编号形式的配置,如果手动配置了地址,那么隧道就起不来

Cisco-Center(config)#interface virtual-template 1 type tunnel

Cisco-Center(config-if)#ip ospf 1 area 0

Branch1(config)#int tunnel 0

Branch1(config-if)#ip os

Branch1(config-if)#ip ospf 1 a

Branch1(config-if)#ip ospf 1 area 0

Branch2(config)#int tun 0

Branch2(config-if)#ip ospf 1 area 0

邻居建立是正常的。

基于这个模型的扩展性

1、我们都知道Dynamic map也能建议gre over ipsec的tunnel隧道,但是peer一多的话,那么需要建立很多个隧道。

2、有了DVTI的特性,那么我们可以把预共享密钥地址匹配为0.0.0.0,这样的话,就能自动双方都能访问,而且Branch端还可以是动态获取地址的。

只需要把配置改为全0.0.0.0 匹配,虽然在Cisco最新版中是严禁使用0.0.0.0的方式,因为非常的不安全,但是,在实际方案中 有时候有必须使用,所以这个方案比传统的dymaic map更为有效,而且Cisco-Center端的配置无需增加,就可以与无数分支建立隧道。

总结

关于OSPF的一个小特性,不同网段建立邻居,只要掌握了满足的条件即可,有时候能帮助在特殊环境下解决一些问题,比如这次介绍的DVTI,还有EZVPN中的网络扩展模式也一样可以利用OSPF的特性建立邻居。 所以,我们学习技术来说,细节决定成败,很多时候的细节问题能解决许多的时。

微信