Showing posts with label GRE. Show all posts
Showing posts with label GRE. Show all posts

Thursday, March 17, 2011

LAB: Reliable backup interface with GRE


requirements:
- The static routes on R4 and R5 via the Frame Relay circuit should have a
higher administrative distance than those out the point-to-point link.
- Create a GRE tunnel between R4 and R5 using the addresses
10.0.0.Y/24 that is sourced from and destined to the Frame Relay
connection between them, and enable GRE keepalives.
- Configure the backup interface feature on R5 such that if the tunnel
between R4 and R5 goes down the point-to-point Serial link between them
is activated.
- To verify this configuration ensure that traffic between the Loopback0
interfaces of R4 and R5 is routed out the Frame Relay link between them,
but if R4’s Frame Relay interface is shut down this traffic is rerouted out
the point-to-point link.

Note: Creating the backup interface command at Physical int serial 0/0 connected via frame relay will not work. Since the line protocol status of this interface is based on the LMI keepalive status from the local Frame Relay switch, not the end-to-end PVC status, R5 cannot trigger the backup link when there is a failure of the circuit to R4. While the Frame Relay circuit is up we can see that R5 routes across this link to reach R4’s Loopback0 network. This is due to the fact that the route with the lower administrative distance via Serial0/1 cannot be installed because this
link is in standby state.

Solution:

the backup interface feature can become reliable by using a GRE tunnel and tunnel keepalives. By configuring a tunnel with keepalives between R4 and R5 sourced from the Frame Relay interface, these routers will be able to detect if end-to-end IP transport is lost between these interfaces. Furthermore if the backup interface command is configured on the tunnel interface, instead of the main Serial0/0 interface, R5 will be able to switch to the backup link if there is a failure anywhere in the end-to-end transit of the Frame Relay PVC.

R4:

ip route 150.1.5.0 255.255.255.0 155.1.0.5 20
ip route 150.1.5.0 255.255.255.0 155.1.45.5 10
!
interface Tunnel0
ip address 10.0.0.4 255.255.255.0
tunnel source 155.1.0.4
tunnel destination 155.1.0.5
keepalive 1 3

R5:

ip route 150.1.4.0 255.255.255.0 155.1.0.4 20
ip route 150.1.4.0 255.255.255.0 155.1.45.4 10
!
interface Tunnel0
ip address 10.0.0.5 255.255.255.0
tunnel source 155.1.0.5
tunnel destination 155.1.0.4
keepalive 1 3
backup interface Serial0/1

LAB: GRE Tunneling and Recursive Routing


A recursive routing error is when a lookup for prefix X points at prefix Y, and a
lookup for prefix Y points at prefix X. For tunnel interfaces this occurs when the
tunnel destination is dynamically learned in the tunnel interface itself. This
problem can be easily identified by the IOS log message %TUN-5-
RECURDOWN: Tunnel0 temporarily disabled due to recursive routing.

problem:

With the reception of a new RIP route for 150.1.9.0/24 with a metric of 1, the old route with a metric of 5 is flushed out. The recursive error now occurs because 150.1.9.0/24 is reachable via 10.34.0.9, but 10.34.0.9 is the tunnel reachable via 150.1.9.9. The router detects this error, disables the tunnel, and all routes learned via the tunnel are flushed.

%LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state
to up

RT: del 150.1.9.0/24 via 155.1.108.8, rip metric [120/5]
RT: SET_LAST_RDB for 150.1.9.0/24
OLD rdb: via 13.11.13.11
RT: SET_LAST_RDB for 150.1.9.0/24
NEW rdb: via 10.34.0.9
RT: add 150.1.9.0/24 via 10.34.0.9, rip metric [120/1]


Solution:


SW3:

ip routing
!
interface Tunnel0
ip address 10.34.0.9 255.255.255.0
tunnel source Loopback0
tunnel destination 150.1.10.10
!
interface Loopback1
ip address 172.16.0.9 255.255.255.255
!
ip route 172.16.0.10 255.255.255.255 Tunnel0
!
router rip
version 2
no auto-summary
network 10.0.0.0
network 150.1.0.0
network 155.1.0.0
distribute-list prefix STOP_RECURSIVE_ERROR out Tunnel0
!
ip prefix-list STOP_RECURSIVE_ERROR seq 5 deny 150.1.9.0/24
ip prefix-list STOP_RECURSIVE_ERROR seq 10 permit 0.0.0.0/0 le 32


SW4:

ip routing
!
interface Tunnel0
ip address 10.34.0.10 255.255.255.0
tunnel source Loopback0
tunnel destination 150.1.9.9
!
interface Loopback1
ip address 172.16.0.10 255.255.255.255
!
ip route 172.16.0.9 255.255.255.255 Tunnel0
!
router rip
version 2
no auto-summary
network 10.0.0.0
network 150.1.0.0
network 155.1.0.0

distribute-list prefix STOP_RECURSIVE_ERROR out Tunnel0
!
ip prefix-list STOP_RECURSIVE_ERROR seq 5 deny 150.1.10.0/24
ip prefix-list STOP_RECURSIVE_ERROR seq 10 permit 0.0.0.0/0 le 32