# GRE Tunnel Recursive Routing Error

**URL:** https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998
**Category:** Lessons Discussion
**Created:** [December 26, 2016, 5:52pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998 "2016-12-26T17:52:41Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)
#### Post date: [December 26, 2016, 5:52pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/1 "2016-12-26T17:52:41Z")

</div>

This topic is to discuss the following lesson:

[https://networklessons.com/cisco/ccie-enterprise-infrastructuregre-tunnel-recursive-routing-error/](https://networklessons.com/cisco/ccie-enterprise-infrastructuregre-tunnel-recursive-routing-error/)

---

<div class="post-metadata">

### Author: ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)
#### Post date: [September 26, 2013, 2:00pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/2 "2013-09-26T14:00:23Z")

</div>

Hi Rene

Really liking you new website.  
I’m confused about this scenario though. Although I do understand the tunnel is being disabled but when you solve it using offset list to make the route through the tunnel seem worse than through the Fastethernet link, what is the point of being able to reach 1.1.1.1/24 via the fast ethernet link. Does this defeat the object of a tunnel because you are reaching tunnel destination via the fast ethernet link?

i hope i making sense.

---

<div class="post-metadata">

### Author: ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)
#### Post date: [October 6, 2013, 3:34pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/3 "2013-10-06T15:34:23Z")

</div>

Hi Prash,

This scenario is only to demonstrate why recursive routing errors occur. It happens when people advertise the IP addresses that are used for the tunnel interfaces through the tunnel itself. Normally this is just a configuration error that people might make. On the other hand you might encounter it on the CCIE lab exam 🙂

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [October 12, 2013, 3:57am UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/4 "2013-10-12T03:57:42Z")

</div>

please check this ip entries (3.3.3.3)

---

<div class="post-metadata">

### Author: ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)
#### Post date: [October 23, 2013, 9:19am UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/5 "2013-10-23T09:19:06Z")

</div>

What about it? 🙂

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [January 17, 2014, 4:45pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/6 "2014-01-17T16:45:16Z")

</div>

Thank you boss

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [January 29, 2014, 5:48am UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/7 "2014-01-29T05:48:42Z")

</div>

great website.  
keep on the good work,  
really helpful.

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [February 22, 2014, 12:54pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/8 "2014-02-22T12:54:36Z")

</div>

Really useful lessons! Thanks.

Your network diagrams are really beautiful. Do you use Visio? If so, what stencils. Care for sharing them?

---

<div class="post-metadata">

### Author: ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)
#### Post date: [March 10, 2014, 1:26pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/9 "2014-03-10T13:26:36Z")

</div>

Hi Rikard,

Thanks and you are welcome. I use Visio and the stencils from [visiocafe.com](http://visiocafe.com), they make great stuff!

Rene

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [March 20, 2014, 2:47pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/10 "2014-03-20T14:47:29Z")

</div>

Hi Rene,  
Your post is very informative bro…keep it up!!

Would you please help me understand what you really mean by this rule #1?  
(Don’t advertise the tunnel destination IP address on the tunnel interface. Don’t advertise it or use route filtering.)

What if you used the network connected to R2 as the destination IP? like:

```
R1(config)#interface tunnel 1
R1(config-if)#tunnel source fa0/0
R1(config-if)#ip address 192.168.13.1 255.255.255.0
R1(config-if)#tunnel destination 192.168.23.3

```

-

```
R3(config)#interface tunnel 1
R3(config-if)#tunnel source Fa0/0
R3(config-if)#ip address 192.168.13.3 255.255.255.0
R3(config-if)#tunnel destination 192.168.12.1

```

Would we still have the same RR issues?  
Please give me your comment  
Thanks.!

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [March 20, 2014, 5:22pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/11 "2014-03-20T17:22:07Z")

</div>

Hi Rene,  
Very interesting post and topics.

please woul you give me more details on the 1st rule you listed to fix the issues? (Don’t advertise the tunnel destination IP address on the tunnel interface. Don’t advertise it or use route filtering)

What if we set the tunnels this way below, would we have the same rr issue?

```
R1(config)#interface tunnel 1
R1(config-if)#tunnel source fa0/0
R1(config-if)#ip address 192.168.13.1 255.255.255.0
R1(config-if)#tunnel destination 192.168.23.3

```

-

```
R3(config)#interface tunnel 1
R3(config-if)#tunnel source Fa0/0
R3(config-if)#ip address 192.168.13.3 255.255.255.0
R3(config-if)#tunnel destination 192.168.12.1

```

Any comment will be appreciated  
Thanks.

---

<div class="post-metadata">

### Author: ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)
#### Post date: [March 21, 2014, 9:27am UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/12 "2014-03-21T09:27:22Z")

</div>

Hi Thom,

In my example, R1 and R3 learn about each others tunnel destination IP address through R2 with a hop count of 2.

Once the tunnel is established, they learn about each others destination IP address through the tunnel with a hop count of 1.

Since 1 is a better metric than 2, they remove their entry from the routing table that points to R2 and insert an entry that points to the tunnel interface.

The tunnel now collapses…because we are trying to reach the tunnel destination through the tunnel itself. The same problem will occur if you configure OSPF on the tunnel and advertise the tunnel destination IP addresses in OSPF.

OSPF has a lower (better) administrative distance than RIP, so the RIP entries will be removed and the OSPF entries will be installed…and the tunnel collapses.

In your example, when you use the IP addresses on the physical interfaces you will still have some issues because the hop count to the destination IP address will be 1 through R2 and also 1 through the tunnel.

When RIP has two paths with the same metric, it will do load balancing…

So in short, make sure that you never learn the destination IP address of the tunnel through the tunnel itself 🙂

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [March 21, 2014, 5:52pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/13 "2014-03-21T17:52:52Z")

</div>

hey Rene,

i got you bro!! it’s correct.

but i’d off adding both the phys interface and the tunnel in my routing protocol and adjust the cost (higher) on the tunnel interface to deal with the issues. i am wrong?

---

<div class="post-metadata">

### Author: ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)
#### Post date: [March 21, 2014, 11:01pm UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/14 "2014-03-21T23:01:17Z")

</div>

If you increase the metric on the tunnel interface then it will solve your problem since the path through the fastethernet interfaces is better.

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [April 14, 2014, 4:59am UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/15 "2014-04-14T04:59:32Z")

</div>

Hi Rene, thank you for the excellent post.

And if I’m running OSPF instead of RIP, how could I solve this situation since my tunnel has a lower cost than my physical interfaces?

I tried to filter the tunnel destination address (LSA3) with distribute-list IN on the tunnel interface, but it didn’t work. Any idea?

Thanks!

---

<div class="post-metadata">

### Author: ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)
#### Post date: [April 14, 2014, 10:47am UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/16 "2014-04-14T10:47:43Z")

</div>

Hi Alberto,

You can also change the administrative distance for the OSPF routes that you use to reach the tunnel destinations:

> **[How to configure Administrative Distance](https://networklessons.com/ip-routing/how-to-configure-administrative-distance)**
>
> The Administrative Distance is used to choose a source of information (routing protocol) when two of them are giving you information about the same prefix.

Or another simple method, set the OSPF cost on the tunnel interfaces to a very high value…

Rene

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [April 14, 2014, 11:02am UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/17 "2014-04-14T11:02:52Z")

</div>

Hi Rene, thank you for your answer.

But setting the ospf cost on tunnel to a high value will lead to no use this path. And if I would like to use this path?

I think I’m not able to use OSPF as my IGP and use it on tunnel interface for this reason.

Thanks!

---

<div class="post-metadata">

### Author: ![ReneMolenaar](https://cdn-forum.networklessons.com/user_avatar/forum.networklessons.com/renemolenaar/32/488_2.png) [@ReneMolenaar](https://forum.networklessons.com/u/ReneMolenaar)
#### Post date: [April 14, 2014, 11:14am UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/18 "2014-04-14T11:14:32Z")

</div>

Hi Alberto,

Try changing the AD for the tunnel destinations. If you use OSPF to learn the tunnel destinations the routing table might look like this (simplified):

O 3.3.3.0/24 [110/2] (the normal path to reach the tunnel destination)

Once the tunnel comes up:

O 3.3.3.0/24 [110/1]

Since the cost is 1, the previous route is deleted and we have a recursive routing issue. Administrative Distance is checked before we look at the metric so basically you want your router to look like this:

O 3.3.3.0/24 [100/2] (normal path)  
O 3.3.3.0/24 [110/1] (path through tunnel)

Change the AD so the tunnel destination has a lower value. This ensure that when you learn the tunnel destination through the tunnel itself that it won’t be used. You can use the **distance** command under the OSPF process for this.

Once the tunnel comes up

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [April 15, 2014, 4:39am UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/19 "2014-04-15T04:39:58Z")

</div>

Hi Rene,

But when we change the AD for the ospf process, all the routes are affected (normal path and path via tunnel). What do you suggest doing? Create another ospf process would be an alternative?

Thanks!

---

<div class="post-metadata">

### Author: ![system](https://cdn-forum.networklessons.com/uploads/default/original/1X/1d2ef66728c7fbac8377748594345a3f474fce5f.png) [@system](https://forum.networklessons.com/u/system)
#### Post date: [August 29, 2014, 5:11am UTC](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998/20 "2014-08-29T05:11:22Z")

</div>

Hi rene . this example very nice … thank you

[Next page](https://forum.networklessons.com/t/gre-tunnel-recursive-routing-error/998.md?page=2)
