EIGRP Static Neighbor

(Rene Molenaar) #1

This topic is to discuss the following lesson:

0 Likes

(Syed A) #2

Hi Renee,

How do I inject one or two specific static routes (originating from a remote s2s/l2l tunnel) into my EIGRP domain without advertising the static default route?
Example: Internet->ASA-> R1-> R2 -> R3-> R4

ip route 192.168.2.0 255.255.255.0
ip route 192.168.3.0 255.255.255.0 (needs to be routed via EIGRP all the way to R4)
ip route 192.168.4.0 255.255.255.0
ip route 192.168.5.0 255.255.255.0 (needs to be routed via EIGRP all the way to R4)
ip route 0.0.0.0 0.0.0.0 1.1.1.1

I want to propagate these two specific static routes all the way to R4 so network behind R4 can reach 192.168.3.x and 192.168.5.x through the ASA on the other side of the tunnel.

Thanks!
Syed

0 Likes

(Andrew P) #3

Hi Syed,
You mentioned these are static routes, and unless you say otherwise, I will assume they are on R1. Since they are static routes, we can assume they were not learned by EIGRP. Therefore, the easiest solution to your problem is advertise only those static routes in EIGRP like this (substitute the autonomous-system “1” below with whatever you are actually using for EIGRP):

R1(config)#router eigrp 1
R1(config-router)#network 192.168.3.0 0.0.0.255
R1(config-router)#network 192.168.5.0 0.0.0.255

The solution above assumes that you don’t want R2 or R3 to learn about any of the other static routes either.

Let’s suppose, however, you want R1, R2, and R3 to know about all the routes, but R4 should only know about the two routes. You would accomplish this by having R1 redistribute its static routes in EIGRP, then apply a Distribute-List on R3 to filter the routes so only the two you want will show up to R4. Here’s the config for this:

R1(config)#router eigrp 1
R1(config-router)#redistribute static metric 10000 10 255 1 1500

The command above takes all static routes on R1, injects them into the EIGRP autonomous-system using the specified metrics. Now, R2, R3, and R4 (assuming they are all running EIGRP) will see these. The last step is to filter out the routes, so R4 will only see what you want. This last step happens on R3.

R3(config)#ip access-list standard ACL_FILTER-FOR-R4
R3(config-std-nacl)#permit 192.168.3.0 0.0.0.255
R3(config-std-nacl)#permit 192.168.5.0 0.0.0.255
R3(config-std-nacl)#exit
R3(config)#router eigrp 1
R3(config-router)#distribute-list ACL_FILTER-FOR-R4 out FastEthernet 0/1

Obviously, in the command above, substitute “FastEthernet 0/1” for whatever interface connects R3 to R4.

0 Likes

(Syed A) #4

Hi Andrew,

First off, Thank you for extending your help!

I want to accomplish this WITHOUT distributing or redistributing into EIGRP neighbors within the same AS. I actually tried your recommendation (below) last week in my lab, thinking it would work, but apparently it didn’t!

R1(config)#router eigrp 1
R1(config-router)#network 192.168.3.0 0.0.0.255
R1(config-router)#network 192.168.5.0 0.0.0.255

Here’s what R1 has in its RIB table as static:

ip route 192.168.2.0 255.255.255.0 192.168.24.4
ip route 192.168.3.0 255.255.255.0 192.168.24.4 (needs to be routed via EIGRP all the way to R4)
ip route 192.168.4.0 255.255.255.0 192.168.24.4
ip route 192.168.5.0 255.255.255.0 192.168.24.4 (needs to be routed via EIGRP all the way to R4)
ip route 0.0.0.0 0.0.0.0 1.1.1.1

Also, I tried the following lab on actual Cisco routers and created 4 static routes on Carl, advertised two out of 5 static routes from Carl by using “network 192.168.3.0 0.0.0.255” and “192.168.5.0 0.0.0.255” thinking they’d show up on Kingkong, Preston, and Ann. But no luck. I made up the default static route to see if I could advertise only two specific static routes.

Andrew, please let me know if you have any questions. Much Appreciated!

Thanks!
Syed

0 Likes

(Andrew P) #5

Hi Syed,
The solution I gave you should work, so something else must be going on. Would you mind tells us what configuration you used for the other routers for EIGRP, and what is in the RIB for each of those?

--Andrew

0 Likes

(Andrew P) #6

Also, when you tested this in your lab, did you confirm your EIGRP neighbor relationship? For example, if you haven’t statically configured R1 and R2 as being neighbors, you must include the network segment they share as part of the network statement under the EIGRP process.

You can verify your routers have neighbors by doing the following:

R2#sh ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(1)
H   Address                 Interface              Hold Uptime   SRTT   RTO  Q  Seq
                                                   (sec)         (ms)       Cnt Num
0   10.1.1.1                Fa0/0                    13 00:00:06    1  3000  0  1

0 Likes

(Syed A) #7

Hi Andrew,

My lab is setup exactly as follows

Only difference is that I added 6 static routes on Carl and attempted to advertise 2 out of 6 from Carl so they would show up on other EIGRP routers. No LUCK! What am I missing?

However, it works with discard route (tested successfully), distribute-list / redistribution (as you suggested earlier). But it just wouldn’t work / propagate with a simple static and network cmd to other routers.

Please take a look at the attached file.

Thanks!
Syed

0 Likes

(Syed A) #8

CARL: where I added 6 static routes and wanted to advertise 192.168.3.x/24 192.168.5.x/24

R4-Carl#sh ip route
C    192.168.12.0/24 is directly connected, GigabitEthernet0/0
D    192.168.13.0/24 [90/30720] via 192.168.12.1, 00:01:07, GigabitEthernet0/0
C    192.168.24.0/24 is directly connected, GigabitEthernet0/1
S    192.168.4.0/24 [1/0] via 192.168.24.4
S    192.168.5.0/24 [1/0] via 192.168.24.4
D    192.168.34.0/24 [90/30720] via 192.168.24.4, 00:01:07, GigabitEthernet0/1
S    192.168.0.0/24 [1/0] via 192.168.24.4
S    192.168.1.0/24 [1/0] via 192.168.24.4
S    192.168.2.0/24 [1/0] via 192.168.24.4
S    192.168.3.0/24 [1/0] via 192.168.24.4
R4-Carl#sh ip protocols
Routing Protocol is "eigrp 1"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Default networks flagged in outgoing updates
  Default networks accepted from incoming updates
  EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
  EIGRP maximum hopcount 100
  EIGRP maximum metric variance 1
  Redistributing: eigrp 1
  EIGRP NSF-aware route hold timer is 240s
  Automatic network summarization is not in effect
  Maximum path: 4
  Routing for Networks:
    192.168.3.0
    192.168.5.0
    192.168.12.0
    192.168.24.0
  Routing Information Sources:
    Gateway         Distance      Last Update
    Gateway         Distance      Last Update
    192.168.12.1          90      00:02:02
    192.168.24.4          90      00:02:02
  Distance: internal 90 external 170
R4-Carl#sh ip eigrp nei
IP-EIGRP neighbors for process 1
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0   192.168.12.1            Gi0/0             12 00:03:18 1276  5000  0  73
1   192.168.24.4            Gi0/1             12 00:19:20    1   200  0  102
R4-Carl#sh ip route eigrp
D    192.168.13.0/24 [90/30720] via 192.168.12.1, 00:03:31, GigabitEthernet0/0
D    192.168.34.0/24 [90/30720] via 192.168.24.4, 00:03:31, GigabitEthernet0/1

Kingkong:

R2-KingKong#sh ip route eigrp
        Codes: L - local, C - connected, S - static, 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
               i - IS-IS, su - IS-IS summary, 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, H - NHRP, l - LISP
               + - replicated route, % - next hop override
        Gateway of last resort is not set
        D     192.168.24.0/24 [90/30720] via 192.168.12.2, 00:02:32, FastEthernet0/0
        D     192.168.34.0/24 [90/30720] via 192.168.13.3, 00:02:32, FastEthernet0/1
        R2-KingKong#sh ip eigrp nei
        EIGRP-IPv4 Neighbors for AS(1)
        H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                                    (sec)         (ms)       Cnt Num
        0   192.168.12.2            Fa0/0             12 00:11:22    3   200  0  64
        1   192.168.13.3            Fa0/1             13 01:08:07    1   200  0  70

PRESTON

R3-Preston#sh ip eigrp nei
        IP-EIGRP neighbors for process 1
        H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                                    (sec)         (ms)       Cnt Num
        0   192.168.24.2            Fa0/1             10 00:29:48    1   200  0  62
        1   192.168.34.3            Fa0/0             14 01:10:56    1   200  0  71
        R3-Preston#sh ip route eigrp
        D    192.168.12.0/24 [90/30720] via 192.168.24.2, 00:13:57, FastEthernet0/1
        D    192.168.13.0/24 [90/30720] via 192.168.34.3, 00:13:55, FastEthernet0/0

ANN

 R1-ANN#sh ip eigrp nei
        EIGRP-IPv4 Neighbors for AS(1)
        H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                                    (sec)         (ms)       Cnt Num
        1   192.168.13.1            Fa0/1             13 01:11:35    1   200  0  74
        0   192.168.34.4            Fa0/0             13 01:12:00    1   200  0  103
        R1-ANN#
        R1-ANN#
        R1-ANN#sh ip route eigrp
        Codes: L - local, C - connected, S - static, 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
               i - IS-IS, su - IS-IS summary, 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, H - NHRP, l - LISP
               + - replicated route, % - next hop override
        Gateway of last resort is not set
        D     192.168.12.0/24 [90/30720] via 192.168.13.1, 00:15:02, FastEthernet0/1
        D     192.168.24.0/24 [90/30720] via 192.168.34.4, 00:15:00, FastEthernet0/0
        R1-ANN#
0 Likes

(Andrew P) #9

Hi Syed,
I have an answer for you. Your detailed information was very helpful, so thanks for that. EIGRP does NOT advertise static routes (except if you tell it to do redistribution), unless it considers the route to be connected to a local interface. To understand this, you should know that static routes can be defined two different ways:

  1. The route can point to a next hop address, as you have done: ip route 192.168.4.0 255.255.255.0 192.168.24.4
  2. The route can point to an interface such as: ip route 192.168.4.0 255.255.255.0 serial0/0/0

When you use an interface as the destination, the router assumes this is a point-to-point connect so there is only one possible destination (the router on the other side). In an multi-access environment, such as Ethernet, this will not work because there could be multiple devices on the other end of the connection.

Now, let’s tie this back to EIGRP. As odd as it may seem, EIGRP considers any static route with an interface as a destination to be “directly connected” and thus eligible for advertisement within EIGRP via a “Network” statement. You can test this by doing the following:

no ip route 192.168.4.0 255.255.255.0 192.168.24.4
ip route 192.168.4.0 255.255.255.0 null0

By changing the static route from using a next hop destination to an interface destination (null 0 counts as an interface), you should see this route being shared within EIGRP.

Now that you know this, you can solve your original problem where you had Internet->ASA-> R1-> R2 -> R3-> R4. You have to cheat a bit to do it, though. If you are determined not to use static route redistribution with a distribute-list for filtering, you can create a “fake” summary route on R1 that includes 192.168.2.0 - 192.168.5.0, route that to null0, and it will be advertised via EIGRP. Try this via R1:

R1(config)#ip route 192.168.0.0 255.255.252.0 null0
R1(config)#ip route 192.168.4.0 255.255.254.0 null0
R1(config)#router eigrp 1
R1(config-router)#network 192.168.0.0 0.0.7.255

When you do this, R4 will be able to route to 192.168.3.0/24 and 192.168.5.0/24 without a default route like you wanted, but there will be extra subnets in there as well. If you wanted precisely just the 3 and 5 network, you would have to use redistribution with a distribute-list filter.

--Andrew

0 Likes

(Syed A) #10

Hi Andrew,

Discard route (null0) works, I tested it successfully, in addition to route filtering tools like distribute-list and redistribution to propagate static routes to other EIGRP neighbors.

I’m really happy that you have reinforced my understanding on “network” cmd which is used to activate / enable IGP on INTERFACES that fall within the “network” range. To recap, IGP will not advertise it unless it’s pointed to either a physical or virtual interface. and if it’s not pointed to an interface then route filtering mechanism (distribute-list or redistribution) is the way to go. Am I correct?

The reason I wanted to make it work with “next hop IP” was because I thought whatever you have in your RIB table can be advertised using “network” cmd. Apparently not! IGP is interface / link based.

Andrew, I can’t THANK YOU enough for stepping in and helping me out on this very fundamental yet important concept.

Much appreciated!

Syed

0 Likes

(Andrew P) #11

Syed,
You are correct in your understanding. The network statement tells EIGRP which interfaces should participate in the routing process, not which routes to advertise. Note: The Network command behavior in BGP is quite different. This will cause any matching route in the RIB to be advertised.

It is a subtle, but key distinction.

Take care,
Andrew

0 Likes

(Mohan B) #12

Using EIGRP static neighbor, is it possible to run EIGRP over plain IPSEC tunnel?

0 Likes

(Rene Molenaar) #13

Hi Mohan,

This is possible yes since all EIGRP packets will be unicast:

Wireshark capture EIGRP static neighbors

Keep in mind that your EIGRP neighbors do have to be in the same subnet.

Rene

0 Likes

(Linda J) #14

I tried this config in Packet tracer and GNS3. Everything works until I add the eigrp. Then the adjacency never forms. Do we need to add the broadcast command to the frame relay?

0 Likes

(Lazaros Agapides) #15

Hello Linda!

When you add the EIGRP implementation, make sure you are configuring the static neighbour relationship correctly.

The frame-relay map <em>protocol protocol_address</em> [broadcast] command forwards broadcasts to the specified address when multicast is not enabled. By using static neighbour relationships for EIGRP we are inherently using only unicast so this command would make no difference.

Check your config again and if you still have problems, copy and paste the relevant parts of your config so we can take a look.

I hope this was helpful!

Laz

0 Likes

(Hussein Samir) #16

Hi Rene,

Is there a way to use both eigrp unicast and multicast packets at the same interface ?

0 Likes

(Lazaros Agapides) #17

Hello Hussein.

When you set up a static neighbour on an EIGRP enabled interface of a router, the interface changes to using unicast EIGRP updates to the specific neighbour. This DISABLES multicast updates. You cannot have both unicast and multicast functioning on the same interface. They are mutually exclusive.

I hope this has been helpful!

Laz

1 Like