Routing loop might occur when doing mutual redistribution between routing protocols. Therefore, to help prevent the routing loop, we need to filter routes from being learned by its neighbors. Route-map is the most powerful tools we can use to accomplish this preventing routes redistribute back to the original domain.
Example.
We need to filter route from redistribute back to the original domain eg., preventing EIGRP route from being redistribute back to EIGRP domain from OSPF and RIP. In this scenario. we will use route-map to do this.
To order to fully prevent the route redistribution back which may cause the loop, we require to configure route-map for all routing domain and all direction. See Configuration below.
R1
// deny OSPF learned route redistributed back to OSPF
route-map EIGRP->OSPF deny 10
match tag 300
// Allow RIP learned route redistributed to OSPF
route-map EIGRP->OSPF permit 20
match tag 100
// Allow the rest of routes (EIGRP) redistributed to OSPF and set tag 200
route-map EIGRP->OSPF permit 30
set tag 200
**************
// deny EIGRP learned route redistributed back to EIGRP
route-map OSPF->EIGRP deny 10
match tag 200
// Allow RIP learned route redistributed to EIGRP
route-map OSPF->EIGRP permit 20
match tag 100
// Allow the rest of routes (OSPF) redistributed to EIGRP and set tag 300
route-map OSPF->EIGRP permit 30
set tag 300
!
Redistribution
router eigrp 1
redistribute ospf 1 metric 1000 10 255 1 1500 route-map OSPF->EIGRP
auto-summary
!
router ospf 1
log-adjacency-changes
redistribute eigrp 1 subnets route-map EIGRP->OSPF
R2
route-map EIGRP->RIP deny 10
match tag 100
route-map EIGRP->RIP permit 20
match tag 300
route-map EIGRP->RIP permit 30
set tag 200
route-map RIP->EIGRP deny 10
match tag 200
route-map RIP->EIGRP permit 20
match tag 300
route-map RIP->EIGRP permit 30
set tag 100
Redistribution
router eigrp 1
redistribute rip metric 1000 10 255 1 1500 route-map RIP->EIGRP
auto-summary
!
router rip
version 2
redistribute eigrp 1 subnets route-map EIGRP->RIP
R1
route-map EIGRP->OSPF deny 10
match tag 300
route-map EIGRP->OSPF permit 20
match tag 100
route-map EIGRP->OSPF permit 30
set tag 200
route-map OSPF->EIGRP deny 10
match tag 200
route-map OSPF->EIGRP permit 20
match tag 100
route-map OSPF->EIGRP permit 30
set tag 300
!
Redistribution
router eigrp 1
redistribute ospf 1 metric 1000 10 255 1 1500 route-map OSPF->EIGRP
auto-summary
!
router ospf 1
log-adjacency-changes
redistribute eigrp 1 subnets route-map EIGRP->OSPF
R3
route-map OSPF->RIP deny 10
match tag 100
route-map OSPF->RIP permit 20
match tag 200
route-map OSPF->RIP permit 30
set tag 300
route-map RIP->OSPF deny 10
match tag 300
route-map RIP->OSPF permit 20
match tag 200
route-map RIP->OSPF permit 30
set tag 100
Redistribution
router ospf 1
redistribute rip subnets route-map RIP->OSPF
auto-summary
!
router rip
redistribute ospf 1 metric 3 route-map OSPF-RIP
nice post!
ReplyDeleteAre the route tags propagated? I didn't think they were. For example: you set tag 300 on R3, and evaluate for it on R1. But if the tags are locally significant, R1 will never see a prefix tagged at 300?
ReplyDelete