In this lesson, I want to show you a basic configuration of OER (Optimized Edge Routing). If you have no idea what OER is or why you want to use this, take a look at my introduction to OER first.
OER is not a simple topic and the configuration can become quite complex because of all the policies. In this example, I’m going to walk you through a simple scenario where we configure an MC (Master Controller) and BR (Border Router). Let me show you the topology:
There are quite some routers, so let me explain this topology to you:
- R1, R2, and R3 belong together. The serial links on R3 are the “edge” of our network.
- R3 will be configured as the master controller but also as a border router. You can configure both on the same router.
- R3 has two serial links that we will use as “WAN” links. The serial 1/1 interface has a bandwidth of 64 kbps and the serial 1/0 interface has a bandwidth of 1024 kbps.
- R1 and R2 will be used as “traffic generators.”
- R1 will have a TCP connection to the loopback0 interface of R6.
- R2 will send ICMP traffic to the loopback1 interface of R6.
- R4 and R5 are nothing special. They are only used as endpoints for the serial links.
- R6 is only an endpoint for our “traffic generators” R1 and R2.
By default I will send all traffic over the slow 64 kbps link using a static route, we will use a floating static route to use the 1024 kbps link as a backup. The goal of this lab example is to configure OER to automatically switch traffic flows from the slow 64 kbps link to the 1024 kbps link. Sounds like fun right?
Configuration
Let’s get to the configuration part!
To keep things simple, I will use static routes for connectivity:
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.123.3
R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.123.3
R1 and R2 will use a static route pointing to R3.
R3(config)#ip route 0.0.0.0 0.0.0.0 192.168.35.5
R3(config)#ip route 0.0.0.0 0.0.0.0 192.168.34.4 5
R3 has two default routes. The first one points to R5, and this is the static route that we will find in the routing table. The second static route is our floating static route pointing to R4. It has an administrative distance of 5.
R4(config)#ip route 192.168.123.0 255.255.255.0 192.168.34.3
R4(config)#ip route 6.6.6.0 255.255.255.0 192.168.46.6
R4(config)#ip route 66.66.66.0 255.255.255.0 192.168.46.6
R5(config)#ip route 192.168.123.0 255.255.255.0 192.168.35.3
R5(config)#ip route 6.6.6.0 255.255.255.0 192.168.56.6
R5(config)#ip route 66.66.66.0 255.255.255.0 192.168.56.6
On R4 and R5, we will configure static routes so they can reach the 192.168.123.0 /24 network and the loopback interfaces of R6.
R6(config)#ip route 0.0.0.0 0.0.0.0 192.168.46.4
R6(config)#ip route 0.0.0.0 0.0.0.0 192.168.56.5
On R6, we’ll configure two default routes pointing towards R4 and R5. I don’t care which path R6 will use…
Let’s check if R1 and R2 can reach R6:
R1#ping 6.6.6.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 6.6.6.6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/11/12 ms
R1#ping 66.66.66.66
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 66.66.66.66, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/16/32 ms
R2#ping 6.6.6.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 6.6.6.6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/11/12 ms
R2#ping 66.66.66.66
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 66.66.66.66, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/16/32 ms
R1 and R2 can reach R6, so my static routes are working. Let’s check the path that they are currently using:
R1#traceroute 6.6.6.6
Type escape sequence to abort.
Tracing the route to 6.6.6.6
1 192.168.123.3 4 msec 4 msec 4 msec
2 192.168.35.5 8 msec 8 msec 8 msec
3 192.168.56.6 8 msec * 8 msec
We are using the path from R3 to R5. This is because of the default route that I configured on R3:
R3#show ip route static
S* 0.0.0.0/0 [1/0] via 192.168.35.5
So far, so good. The connectivity is working. Before I start with the configuration of OER, I want to change the bandwidth of the serial interfaces on R3:
R3(config)#interface serial 1/1
R3(config-if)#bandwidth 64
R3(config-if)#exit
R3(config)#interface serial 1/0
R3(config-if)#bandwidth 1024
R3(config-if)#exit
R3#show interfaces serial 1/1 | include BW
MTU 1500 bytes, BW 64 Kbit, DLY 20000 usec,
R3#show interfaces serial 1/0 | include BW
MTU 1500 bytes, BW 1024 Kbit, DLY 20000 usec,
R3 now thinks that serial 1/1 is 64kbit and serial 1/0 is 1024 kbit. Of course, this doesn’t change the actual bandwidth, but OER will believe that this is the bandwidth of the interfaces. Now let’s take a look at OER!
When we configure OER, we have to configure the master controller and the border router(s). OER needs to know what the internal and external interfaces are. R3 will be both a border router and the master controller. The FastEthernet 0/0 interface is internal, and the two serial links are external. OER requires authentication, and it has to be done with a key chain, just like EIGRP. Here’s what the configuration looks like:
R3(config)#key chain OER
R3(config-keychain)#key 1
R3(config-keychain-key)#key-string NETWORKLESSONS
I’ll keep it simple. The key chain is called “OER”. The password will be “NETWORKLESSONS”. Now let’s configure the master controller role:
Hi Rene,
first of all a very many thanks for such a beautiful explanation of OER.
But I got a problem that after getting that log message:
%OER_MC-5-NOTICE: Prefix Learning WRITING DATA
i’ve changed OER mode from observe to route control ……But still its not building any information to the routing table and not doing any load balancing as u have shown in the above……Plz help
Hmm couple of things that could go wrong. Do you have a parent route for both links?
yea i had checked that twice…it was there in running-config and i also have done a lot of debugging. anyways i am starting over again with a fresh topology…if it doen’t solve i will let u know…well …thanks for replying
i am using c3660-ik9o3s-mz.124-6.T is that any extra configuration do i have to do with that…
OER is kinda buggy anyway, it’s much more mature on IOS 15 as Pfr (performance routing). I used the 3725 12.4(15)T14 image to do this. You might want to try that one…
hi,
i have tried it again but same result now im copy paste mu running config of R3
... Continue reading in our forum