GRE封装时递归路由注意事项

本文介绍了在GRE over IPSec配置中遇到的递归路由问题,导致Tunnel接口循环封装而无法正确路由数据包。通过分析Cisco文档、书籍示例和实际实验,解释了问题的原因和解决方法,包括添加特定静态路由来避免递归错误。通过这些案例,读者可以理解如何防止GRE隧道中出现的递归路由问题,确保数据包正确传输。
摘要由CSDN通过智能技术生成
在做GRE over IPSEC时要注意递归路由的设置,设置不好的话就会引起循环封装,而导致数据包不能路由到正确的地址。 
  做了不少over的实验,从很早知道有这个问题,但一直没太在意,配置的时候也没有过多的想着方面的问题,结果昨天在做双接入链路单IKE身份测试的时候就遇到了这个问题,报错如下 
%TUN-5-RECURDOWN: Tunnel0 temporarily disabled due to recursive routing 
在cisco网站上查了一下,找到了gre_flap.pdf这个文档。常见的问题啊!所以就花了一些时间来把这个东西弄清楚。以下分三部分来说明这个问题如何解决: 
1、 解释cisco文档(有附件) 
2、 解释vpn设计一书中的例子 
3、 解释我做的实验 
这三个问题其实都是一个问题,都是解决递归路由设置错误的问题。觉得烦的话看一个就可以了。 

1、 cisco文档中的例子 
cisco给出了问题的产生原因及解决方法,我就不翻译了,只是简要的叙述一下过程: 
Now, observe the routing table after the tunnel interface goes up, shown below. 
R1# show ip route 
Codes: C − connected, S − static, I − IGRP, R − RIP, M − mobile, B − BGP 
D − EIGRP, EX − EIGRP external, O − OSPF, IA − OSPF inter area 
N1 − OSPF NSSA external type 1, N2 − OSPF NSSA external type 2 
E1 − OSPF external type 1, E2 − OSPF external type 2, E − EGP 
i − IS−IS, L1 − IS−IS level−1, L2 − IS−IS level−2, ia − IS−IS inter area 
* − candidate default, U − per−user static route, o − ODR 
P − periodic downloaded static route 
Gateway of last resort is 172.16.15.2 to network 0.0.0.0 
172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks 
D 172.16.25.0/24 [90/297756416] via 192.168.1.3, 00:00:00, Tunnel0 
C 172.16.15.2/32 is directly connected, Serial0 
C 172.16.15.0/24 is directly connected, Serial0 
10.0.0.0/24 is subnetted, 2 subnets 
D 10.3.3.0 [90/297372416] via 192.168.1.3, 00:00:00, Tunnel0 
C 10.1.1.0 is directly connected, Loopback0 
C 192.168.1.0/24 is directly connected, Tunnel0 
S* 0.0.0.0/0 [1/0] via 172.16.15.2 
此时如果路由器收到要到达10.3.3.0网络的数据包,他将包路由到tunnel0,然后排队,并进行GRE的封装,R1上: 
interface Tunnel0 
ip address 192.168.1.1 255.255.255.0 
tunnel source Loopback0 
tunnel destination 10.3.3.3 
路由器查找到10.3.3.3的的路由,还是发现D 10.3.3.0 [90/297372416] via 192.168.1.3, 00:00:00, Tunnel0 
这个包根本路由不出去。所以出现了递归路由错误。 
解决方法是R1(config)# ip route 10.3.3.3 255.255.255.255 serial 0 

2、 vpn设计一书中的例子 
spoke路由器的设置: 
hostname spoke-2-west 

interface Ethernet0 
 ip address 10.0.65.1 255.255.255.0                                                    

interface Tunnel0 
 ip unnumbered Ethernet0                                                               
 tunnel source 9.1.1.134 
 tunnel destination 9.1.1.22 

interface Serial0 
 ip address 9.1.1.134 255.255.255.252 
 crypto map vpn 

router eigrp 100 
 network 10.0.65.0 0.0.0.255                                                           

spoke-2-west# show ip route 
9.0.0.0/30 is subnetted, 6 subnets 
S       9.1.1.20 [1/0] via 9.1.1.133 
C       9.1.1.132 is directly connected, Serial0 
     10.0.0.0/8 is subnetted, 4 subnets 
D       10.1.0.0 [90/284472576] via 10.1.0.1, 00:00:05, Tunnel0                        
D       10.0.64.0 [90/297272576] via 10.1.0.1, 00:48:22, Tunnel0                       
C       10.0.65.0 is directly connected, Ethernet0 
对于到10.0.64.0网络的数据包,需要经过tunnel0,路由器将包封装,加上9.1.1.22和9.1.1.134的目的地址和源地址。之后路由器找到9.1.1.20网络需要的下一跳为9.1.1.133,又找到9.1.1.132是经过serial0口,随后,它将包路由出serial0口。如果没有配置9.1.1.20这条静态路由,那数据包肯定就发不出去了。 

3、 双链路单IKE身份实验 
拓扑见附件 
需要在R3和R5之间建立ipsec连接,R5和R3的loop接口建立peer关系,这样,如果在R3连接的两条链路有一条断了则会自动切换到另外一条链路,切换时间很短,和路由协议收敛的时间是一样的。 
R3的配置 
r3#sho run 
Building configuration... 

Current co
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值