​Junos RIP Configuration Part 1

In this post, we’re going to walk through the process for configuring RIP on Junos-based devices.

There are a couple of key points to remember:

  • RIP configuration uses groups
  • We specify what interfaces to run RIP on
  • The default import policy for RIP is to import all RIP routes
  • The default export policy for RIP is to reject all routes, including those learned via RIP. We will need to add a policy to advertise RIP routes.

Lab Setup

The following diagram details the lab.

A couple of things to note with the lab:

  • A mix of vSRX, vMX, and vQFX devices are used. This is done solely to show that the configuration is the same across devices.
  • Each device has a loopback address in the 172.16.0.x range, where x is the router number.
  • Each vSRX has been put into packet mode, so it will act as a router.
    • This is done with the ‘set security forwarding-options family mpls mode packet-based’ command. You may need to delete the security policies stanza for this to commit. Depending on the version you may also need to reboot the device for packet mode to take effect.
  • R1 and R4 will be configured with two groups under RIP, instead of just one.

RIP Configuration

Router R1

We will configure the following:

  • Interfaces
  • RIP protocol with two groups
  • Routing policy to advertise both direct and RIP routes

There are a couple of things worth noting with the below configuration.

  • When specifying the IP Address for loopback 0 (lo0), the /32 could have been left off. If no mask is specified a /32 is assumed
  • When configuring the neighbors under RIP we specify the interfaces in two different ways. For the first interface, we do not specify the logical unit, so Junos assumes we mean unit 0. For the second interface, we do specify the logical unit, which in this case is 0 anyway. This is important when dealing with interfaces with multiple logical units.
lab@vsrx-R1> edit 
Entering configuration mode

[edit]
lab@vsrx-R1# set interfaces lo0 unit 0 family inet address 172.16.0.1/32 

[edit]
lab@vsrx-R1# set interfaces ge-0/0/0 unit 0 family inet address 10.100.1.1/24 

[edit]
lab@vsrx-R1# set interfaces ge-0/0/1 unit 0 family inet address 10.100.3.1/24 

[edit]
lab@vsrx-R1# set policy-options policy-statement my-rip-export term export-rip-and-direct from protocol rip 

[edit]
lab@vsrx-R1# set policy-options policy-statement my-rip-export term export-rip-and-direct from protocol direct 

[edit]
lab@vsrx-R1# set policy-options policy-statement my-rip-export term export-rip-and-direct then accept             

[edit]
lab@vsrx-R1# set protocols rip group my-group-1 neighbor ge-0/0/0 

[edit]
lab@vsrx-R1# set protocols rip group my-group-2 neighbor ge-0/0/1.0  

[edit]
lab@vsrx-R1# set protocols rip group my-group-1 export my-rip-export 

[edit]
lab@vsrx-R1# set protocols rip group my-group-2 export my-rip-export    

[edit]
lab@vsrx-R1# show | compare 
[edit interfaces]
+   ge-0/0/0 {
+       unit 0 {
+           family inet {
+               address 10.100.1.1/24;
+           }
+       }
+   }
+   ge-0/0/1 {
+       unit 0 {
+           family inet {
+               address 10.100.3.1/24;
+           }
+       }
+   }
+   lo0 {
+       unit 0 {
+           family inet {
+               address 172.16.0.1/32;
+           }
+       }
+   }
[edit]
+  policy-options {                     
+      policy-statement my-rip-export {
+          term export-rip-and-direct {
+              from protocol [ rip direct ];
+              then accept;
+          }
+      }
+  }
+  protocols {
+      rip {
+          group my-group-1 {
+              export my-rip-export;
+              neighbor ge-0/0/0.0;
+          }
+          group my-group-2 {
+              export my-rip-export;
+              neighbor ge-0/0/1.0;
+          }
+      }
+  }

[edit]
lab@vsrx-R1# commit and-quit 
commit complete
Exiting configuration mode

lab@vsrx-R1>  

Router R2

We will configure the following:

  • Interfaces
  • RIP protocol with one group
  • Routing policy to advertise both direct and RIP routes
{master:0}
lab@vqfx-R2> edit 
Entering configuration mode

{master:0}[edit]
lab@vqfx-R2# set interfaces lo0 unit 0 family inet address 172.16.0.2 

{master:0}[edit]
lab@vqfx-R2# set interfaces xe-0/0/0 unit 0 family inet address 10.100.1.2/24 

{master:0}[edit]
lab@vqfx-R2# set interfaces xe-0/0/1 unit 0 family inet address 10.100.2.1/24 

{master:0}[edit]
lab@vqfx-R2# set policy-options policy-statement my-rip-export term export-rip-and-direct from protocol rip 

{master:0}[edit]
lab@vqfx-R2# set policy-options policy-statement my-rip-export term export-rip-and-direct from protocol direct 

{master:0}[edit]
lab@vqfx-R2# set policy-options policy-statement my-rip-export term export-rip-and-direct then accept 

{master:0}[edit]
lab@vqfx-R2# set protocols rip group my-group-1 neighbor xe-0/0/0 

{master:0}[edit]
lab@vqfx-R2# set protocols rip group my-group-1 neighbor xe-0/0/1    

{master:0}[edit]
lab@vqfx-R2# set protocols rip group my-group-1 export my-rip-export 

{master:0}[edit]
lab@vqfx-R2# show | compare 
[edit interfaces]
+   xe-0/0/0 {
+       unit 0 {
+           family inet {
+               address 10.100.1.2/24;
+           }
+       }
+   }
+   xe-0/0/1 {
+       unit 0 {
+           family inet {
+               address 10.100.2.1/24;
+           }
+       }
+   }
+   lo0 {
+       unit 0 {
+           family inet {
+               address 172.16.0.2/32;
+           }
+       }
+   }
[edit]
+  policy-options {                     
+      policy-statement my-rip-export {
+          term export-rip-and-direct {
+              from protocol [ rip direct ];
+              then accept;
+          }
+      }
+  }
[edit protocols]
+   rip {
+       group my-group-1 {
+           export my-rip-export;
+           neighbor xe-0/0/0.0;
+           neighbor xe-0/0/1.0;
+       }
+   }

{master:0}[edit]
lab@vqfx-R2# commit and-quit 
configuration check succeeds
commit complete
Exiting configuration mode

{master:0}
lab@vqfx-R2>

Now that we have at least two routers configured, we can do a quick check to ensure things are working as expected. First, we can check RIP neighbors.

{master:0}
lab@vqfx-R2> show rip neighbor 
                  Local  Source          Destination     Send   Receive   In
Neighbor          State  Address         Address         Mode   Mode     Met 
--------          -----  -------         -----------     ----   -------  --- 
xe-0/0/0.0           Up 10.100.1.2      224.0.0.9       mcast  both       1
xe-0/0/1.0           Up 10.100.2.1      224.0.0.9       mcast  both       1

{master:0}
lab@vqfx-R2>

The output for this command is a bit misleading. The ‘Local State’ Field is only talking about the state of the interface. It does not mean that we have a neighbor on that interface. At this stage, we haven’t configured R3 yet, so R2 can’t have a neighbor on interface xe-0/0/1.0. This can be seen when we look at the statistics. We only see received updates on xe-0/0/0.0, not xe-0/0/1.0.

{master:0}
lab@vqfx-R2> show rip statistics  
RIPv2 info: port 520; holddown 120s. 
    rts learned  rts held down  rqsts dropped  resps dropped
              3              0              0              0

xe-0/0/0.0:  3 routes learned; 4 routes advertised; timeout 180s; update interval 30s
Counter                         Total   Last 5 min  Last minute
-------                   -----------  -----------  -----------
Updates Sent                       29           11            2
Triggered Updates Sent              2            0            0
Responses Sent                      0            0            0
Bad Messages                        0            0            0
RIPv1 Updates Received              0            0            0
RIPv1 Bad Route Entries             0            0            0
RIPv1 Updates Ignored               0            0            0
RIPv2 Updates Received             30           11            2
RIPv2 Bad Route Entries             0            0            0
RIPv2 Updates Ignored               0            0            0
Authentication Failures             0            0            0
RIP Requests Received               0            0            0
RIP Requests Ignored                0            0            0
RIP Update Acks Received            0            0            0

xe-0/0/1.0:  0 routes learned; 6 routes advertised; timeout 180s; update interval 30s
Counter                         Total   Last 5 min  Last minute
-------                   -----------  -----------  -----------
Updates Sent                       30           11            2
Triggered Updates Sent              0            0            0
Responses Sent                      0            0            0
Bad Messages                        0            0            0
RIPv1 Updates Received              0            0            0
RIPv1 Bad Route Entries             0            0            0
RIPv1 Updates Ignored               0            0            0
RIPv2 Updates Received              0            0            0
RIPv2 Bad Route Entries             0            0            0
RIPv2 Updates Ignored               0            0            0
Authentication Failures             0            0            0
RIP Requests Received               0            0            0
RIP Requests Ignored                0            0            0
RIP Update Acks Received            0            0            0

{master:0}
lab@vqfx-R2>

We can also check what RIP routes we have learned.

{master:0}
lab@vqfx-R2> show route protocol rip    

inet.0: 12 destinations, 13 routes (12 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.0/24         [RIP/100] 00:15:34, metric 2, tag 0
                    >  to 10.100.1.1 via xe-0/0/0.0
10.100.3.0/24      *[RIP/100] 00:15:34, metric 2, tag 0
                    >  to 10.100.1.1 via xe-0/0/0.0
172.16.0.1/32      *[RIP/100] 00:15:34, metric 2, tag 0
                    >  to 10.100.1.1 via xe-0/0/0.0
224.0.0.9/32       *[RIP/100] 00:22:11, metric 1
                       MultiRecv

inet6.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)

{master:0}
lab@vqfx-R2>

The portion that is [RIP/100] tells us the protocol is RIP, and the preference for this route is 100, which is the default for RIP routes.

Things look good so far, so let’s move on to R3.

Router R3

We will configure the following:

  • Interfaces
  • RIP protocol with one group
  • Routing policy to advertise both direct and RIP routes
lab@vsrx-R3> edit 
Entering configuration mode

[edit]
lab@vsrx-R3# set interfaces lo0 unit 0 family inet address 172.16.0.3 

[edit]
lab@vsrx-R3# set interfaces ge-0/0/0 unit 0 family inet address 10.100.2.2/24 

[edit]
lab@vsrx-R3# set interfaces ge-0/0/1 unit 0 family inet address 10.100.4.1/24 

[edit]
lab@vsrx-R3# set policy-options policy-statement my-rip-export term export-rip-and-direct from protocol rip 

[edit]
lab@vsrx-R3# set policy-options policy-statement my-rip-export term export-rip-and-direct from protocol direct 

[edit]
lab@vsrx-R3# set policy-options policy-statement my-rip-export term export-rip-and-direct then accept 

[edit]
lab@vsrx-R3# set protocols rip group my-group-1 neighbor ge-0/0/0 

[edit]
lab@vsrx-R3# set protocols rip group my-group-1 neighbor ge-0/0/1    

[edit]
lab@vsrx-R3# set protocols rip group my-group-1 export my-rip-export 

[edit]
lab@vsrx-R3# commit and-quit 
commit complete
Exiting configuration mode

lab@vsrx-R3>

Router R4

We will configure the following:

  • Interfaces
  • RIP protocol with two groups
  • Routing policy to advertise both direct and RIP routes

Since the configuration is almost the same as the other devices, I’ll just show the ‘show | compare’ before the commit.

[edit]
lab@vmx-R4# show | compare 
[edit interfaces]
+   ge-0/0/0 {
+       unit 0 {
+           family inet {
+               address 10.100.5.1/24;
+           }
+       }
+   }
+   ge-0/0/1 {
+       unit 0 {
+           family inet {
+               address 10.100.3.2/24;
+           }
+       }
+   }
+   lo0 {
+       unit 0 {
+           family inet {
+               address 172.16.0.4/32;
+           }
+       }
+   }
[edit]
+  policy-options {                     
+      policy-statement my-rip-export {
+          term export-rip-and-direct {
+              from protocol [ rip direct ];
+              then accept;
+          }
+      }
+  }
[edit protocols]
+   rip {
+       group my-group-1 {
+           export my-rip-export;
+           neighbor ge-0/0/1.0;
+       }
+       group my-group-2 {
+           export my-rip-export;
+           neighbor ge-0/0/0.0;
+       }
+   }

[edit]
lab@vmx-R4#

Router R5

We will configure the following:

  • Interfaces
  • RIP protocol with one group
  • Routing policy to advertise both direct and RIP routes

Again, I’ll just show the ‘show | compare’ before the commit.

[edit]
lab@vmx-R5# show | compare 
[edit interfaces]
+   ge-0/0/0 {
+       unit 0 {
+           family inet {
+               address 10.100.5.2/24;
+           }
+       }
+   }
+   ge-0/0/1 {
+       unit 0 {
+           family inet {
+               address 10.100.4.2/24;
+           }
+       }
+   }
+   lo0 {
+       unit 0 {
+           family inet {
+               address 172.16.0.5/32;
+           }
+       }
+   }
[edit]
+  policy-options {                     
+      policy-statement my-rip-export {
+          term export-rip-and-direct {
+              from protocol [ rip direct ];
+              then accept;
+          }
+      }
+  }
[edit protocols]
+   rip {
+       group my-group-1 {
+           export my-rip-export;
+           neighbor ge-0/0/0.0;
+           neighbor ge-0/0/1.0;
+       }
+   }

[edit]
lab@vmx-R5#

Verifying RIP Operation

Now that RIP is configured, how do we verify it is working as expected? The following looks at R1.

We can look at RIP neighbors and RIP statistics. As noted earlier, the RIP neighbors output can be slightly misleading as it does not show you whether a neighbor is up on an interface, only that the local state of the interface is up.

When looking at the statistics we are mainly looking for the updates sent and received counters to increment over time.

lab@vsrx-R1> show rip neighbor 
                  Local  Source          Destination     Send   Receive   In
Neighbor          State  Address         Address         Mode   Mode     Met 
--------          -----  -------         -----------     ----   -------  --- 
ge-0/0/0.0           Up 10.100.1.1      224.0.0.9       mcast  both       1
ge-0/0/1.0           Up 10.100.3.1      224.0.0.9       mcast  both       1

lab@vsrx-R1> show rip statistics 
RIPv2 info: port 520; holddown 120s. 
    rts learned  rts held down  rqsts dropped  resps dropped
              9              0              0              0

ge-0/0/0.0:  6 routes learned; 6 routes advertised; timeout 180s; update interval 30s
Counter                         Total   Last 5 min  Last minute
-------                   -----------  -----------  -----------
Updates Sent                      139           11            2
Triggered Updates Sent              3            0            0
Responses Sent                      0            0            0
Bad Messages                        0            0            0
RIPv1 Updates Received              0            0            0
RIPv1 Bad Route Entries             0            0            0
RIPv1 Updates Ignored               0            0            0
RIPv2 Updates Received             69           11            2
RIPv2 Bad Route Entries             0            0            0
RIPv2 Updates Ignored               0            0            0
Authentication Failures             0            0            0
RIP Requests Received               1            0            0
RIP Requests Ignored                0            0            0
RIP Update Acks Received            0            0            0

ge-0/0/1.0:  5 routes learned; 7 routes advertised; timeout 180s; update interval 30s
Counter                         Total   Last 5 min  Last minute
-------                   -----------  -----------  -----------
Updates Sent                      139           11            3
Triggered Updates Sent              6            1            0
Responses Sent                      0            0            0
Bad Messages                        0            0            0
RIPv1 Updates Received              0            0            0
RIPv1 Bad Route Entries             0            0            0
RIPv1 Updates Ignored               0            0            0
RIPv2 Updates Received             17           11            2
RIPv2 Bad Route Entries             0            0            0
RIPv2 Updates Ignored               0            0            0
Authentication Failures             0            0            0
RIP Requests Received               1            0            0
RIP Requests Ignored                0            0            0
RIP Update Acks Received            0            0            0

lab@vsrx-R1>

Next, we can look at the routing table. Since we are only interested in RIP routes, we can specify that with the show route command. We should see all the link nets and the loopback addresses of the other routers.

lab@vsrx-R1> show route protocol rip 

inet.0: 16 destinations, 17 routes (16 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.0/24         [RIP/100] 00:09:11, metric 2, tag 0
                       to 10.100.1.2 via ge-0/0/0.0
                    >  to 10.100.3.2 via ge-0/0/1.0
10.100.2.0/24      *[RIP/100] 00:32:58, metric 2, tag 0
                    >  to 10.100.1.2 via ge-0/0/0.0
10.100.4.0/24      *[RIP/100] 00:06:18, metric 3, tag 0
                       to 10.100.1.2 via ge-0/0/0.0
                    >  to 10.100.3.2 via ge-0/0/1.0
10.100.5.0/24      *[RIP/100] 00:09:11, metric 2, tag 0
                    >  to 10.100.3.2 via ge-0/0/1.0
169.254.0.0/24     *[RIP/100] 00:33:01, metric 2, tag 0
                    >  to 10.100.1.2 via ge-0/0/0.0
172.16.0.2/32      *[RIP/100] 00:33:01, metric 2, tag 0
                    >  to 10.100.1.2 via ge-0/0/0.0
172.16.0.3/32      *[RIP/100] 00:13:56, metric 3, tag 0
                    >  to 10.100.1.2 via ge-0/0/0.0
172.16.0.4/32      *[RIP/100] 00:09:11, metric 2, tag 0
                    >  to 10.100.3.2 via ge-0/0/1.0
172.16.0.5/32      *[RIP/100] 00:06:18, metric 3, tag 0
                    >  to 10.100.3.2 via ge-0/0/1.0
224.0.0.9/32       *[RIP/100] 01:07:41, metric 1
                       MultiRecv

inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)

lab@vsrx-R1>

There are a few things worth noting from the above output.

We have a route for 224.0.0.9/32. That is so we can receive the RIP updates that are multicasted to that address.

Also, we have two equal paths to the 10.100.4.0/24 network between R3 and R5. Since we do not have load balancing enabled at this stage, Junos will randomly select which of the two paths is used for forwarding traffic to that destination network.

To further prove our routing is working, we can ping from the loopback of R1 to the loopback of R3 like so:

lab@vsrx-R1> ping 172.16.0.3 source 172.16.0.1 count 5 
PING 172.16.0.3 (172.16.0.3): 56 data bytes
64 bytes from 172.16.0.3: icmp_seq=0 ttl=63 time=106.771 ms
64 bytes from 172.16.0.3: icmp_seq=1 ttl=63 time=106.515 ms
64 bytes from 172.16.0.3: icmp_seq=2 ttl=63 time=106.525 ms
64 bytes from 172.16.0.3: icmp_seq=3 ttl=63 time=106.942 ms
64 bytes from 172.16.0.3: icmp_seq=4 ttl=63 time=111.928 ms

--- 172.16.0.3 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 106.515/107.736/111.928/2.102 ms

lab@vsrx-R1>

Finally, we can show what routes we are sending to or receiving from a particular neighbor.

To see what routes we are receiving, we specify the neighbor who is sending the updates to us.

lab@vsrx-R1> show route receive-protocol rip 10.100.1.2    

inet.0: 16 destinations, 17 routes (16 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.0/24         [RIP/100] 00:44:08, metric 2, tag 0
                       to 10.100.1.2 via ge-0/0/0.0
                    >  to 10.100.3.2 via ge-0/0/1.0
10.100.2.0/24      *[RIP/100] 01:07:55, metric 2, tag 0
                    >  to 10.100.1.2 via ge-0/0/0.0
10.100.4.0/24      *[RIP/100] 00:41:15, metric 3, tag 0
                       to 10.100.1.2 via ge-0/0/0.0
                    >  to 10.100.3.2 via ge-0/0/1.0
169.254.0.0/24     *[RIP/100] 01:07:58, metric 2, tag 0
                    >  to 10.100.1.2 via ge-0/0/0.0
172.16.0.2/32      *[RIP/100] 01:07:58, metric 2, tag 0
                    >  to 10.100.1.2 via ge-0/0/0.0
172.16.0.3/32      *[RIP/100] 00:48:53, metric 3, tag 0
                    >  to 10.100.1.2 via ge-0/0/0.0

inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)

lab@vsrx-R1>

To show what routes we are advertising, we specify our own address.

lab@vsrx-R1> show route advertising-protocol rip 10.100.1.1    

inet.0: 16 destinations, 17 routes (16 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.0/24        *[Direct/0] 02:07:03
                    >  via fxp0.0
                    [RIP/100] 00:47:18, metric 2, tag 0
                       to 10.100.1.2 via ge-0/0/0.0
                    >  to 10.100.3.2 via ge-0/0/1.0
10.100.3.0/24      *[Direct/0] 01:45:48
                    >  via ge-0/0/1.0
10.100.5.0/24      *[RIP/100] 00:47:18, metric 2, tag 0
                    >  to 10.100.3.2 via ge-0/0/1.0
172.16.0.1/32      *[Direct/0] 01:45:48
                    >  via lo0.0
172.16.0.4/32      *[RIP/100] 00:47:18, metric 2, tag 0
                    >  to 10.100.3.2 via ge-0/0/1.0
172.16.0.5/32      *[RIP/100] 00:44:25, metric 3, tag 0
                    >  to 10.100.3.2 via ge-0/0/1.0

lab@vsrx-R1>

This might seem a bit confusing at first. Why do we look at received routes by specifying the advertiser’s address, and look at the routes we are sending by specifying our own address?

This comes down to how RIP works. RIP doesn’t establish a neighbor relationship or adjacency like other protocols.

On one interface, we could receive RIP updates from several different routers. So we need to specify which particular router we want to show the updates from.

Similarly, when we send an update out an interface we don’t send it to one specific router, we send it to all RIP routers listening on that network. So we only need to specify the interface address we are sending from.

RIP and Routing Instances

We may need to configure RIP under a routing instance. The configuration is almost the same, except it is configured under the routing instance.

We can modify R5 to show this in action. We create a new routing instance of type virtual-router and put the relevant interfaces into the routing instance. We then add RIP. It looks like this:

routing-instances {
    my-routing-instance {
        protocols {
            rip {
                group my-group-1 {
                    export my-rip-export;
                    neighbor ge-0/0/1.0;
                }
                group my-group-2 {
                    export my-rip-export;
                    neighbor ge-0/0/0.0;
                }
            }
        }
        instance-type virtual-router;   
        interface ge-0/0/0.0;
        interface ge-0/0/1.0;
        interface lo0.0;
    }
}

We can run the same show commands as before, but we need to add the ‘instance’ option and specify what routing instance we want to look at.

lab@vmx-R4> show rip neighbor instance my-routing-instance 
                  Local  Source          Destination     Send   Receive   In
Neighbor          State  Address         Address         Mode   Mode     Met 
--------          -----  -------         -----------     ----   -------  --- 
ge-0/0/1.0           Up 10.100.3.2      224.0.0.9       mcast  both       1
ge-0/0/0.0           Up 10.100.5.1      224.0.0.9       mcast  both       1

lab@vmx-R4> show rip statistics instance my-routing-instance 
RIPv2 info: port 520; holddown 120s. 
    rts learned  rts held down  rqsts dropped  resps dropped
              9              0              0              0

ge-0/0/1.0:  6 routes learned; 5 routes advertised; timeout 180s; update interval 30s
Counter                         Total   Last 5 min  Last minute
-------                   -----------  -----------  -----------
Updates Sent                        8            8            2
Triggered Updates Sent              2            2            0
Responses Sent                      0            0            0
Bad Messages                        0            0            0
RIPv1 Updates Received              0            0            0
RIPv1 Bad Route Entries             0            0            0
RIPv1 Updates Ignored               0            0            0
RIPv2 Updates Received              9            9            2
RIPv2 Bad Route Entries             0            0            0
RIPv2 Updates Ignored               0            0            0
Authentication Failures             0            0            0
RIP Requests Received               0            0            0
RIP Requests Ignored                0            0            0
RIP Update Acks Received            0            0            0

ge-0/0/0.0:  5 routes learned; 6 routes advertised; timeout 180s; update interval 30s
Counter                         Total   Last 5 min  Last minute
-------                   -----------  -----------  -----------
Updates Sent                        8            8            2
Triggered Updates Sent              2            2            0
Responses Sent                      0            0            0
Bad Messages                        0            0            0
RIPv1 Updates Received              0            0            0
RIPv1 Bad Route Entries             0            0            0
RIPv1 Updates Ignored               0            0            0
RIPv2 Updates Received              9            8            2
RIPv2 Bad Route Entries             0            0            0
RIPv2 Updates Ignored               0            0            0
Authentication Failures             0            0            0
RIP Requests Received               0            0            0
RIP Requests Ignored                0            0            0
RIP Update Acks Received            0            0            0

To view the routing table for our routing instance, we can either run a ‘show route’ and look through the output for the table we want, or specify the table in the show route command. In this case, the table we are interested in is my-routing-instance.inet.0

lab@vmx-R4> show route table my-routing-instance.inet.0 

my-routing-instance.inet.0: 15 destinations, 15 routes (15 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.0/24        *[RIP/100] 00:04:35, metric 2, tag 0
                       to 10.100.5.2 via ge-0/0/0.0
                    >  to 10.100.3.1 via ge-0/0/1.0
10.100.1.0/24      *[RIP/100] 00:04:52, metric 2, tag 0
                    >  to 10.100.3.1 via ge-0/0/1.0
10.100.2.0/24      *[RIP/100] 00:04:35, metric 3, tag 0
                       to 10.100.5.2 via ge-0/0/0.0
                    >  to 10.100.3.1 via ge-0/0/1.0
10.100.3.0/24      *[Direct/0] 00:04:52
                    >  via ge-0/0/1.0
10.100.3.2/32      *[Local/0] 00:04:52
                       Local via ge-0/0/1.0
10.100.4.0/24      *[RIP/100] 00:04:35, metric 2, tag 0
                    >  to 10.100.5.2 via ge-0/0/0.0
10.100.5.0/24      *[Direct/0] 00:04:52
                    >  via ge-0/0/0.0
10.100.5.1/32      *[Local/0] 00:04:52
                       Local via ge-0/0/0.0
169.254.0.0/24     *[RIP/100] 00:04:52, metric 3, tag 0
                    >  to 10.100.3.1 via ge-0/0/1.0
172.16.0.1/32      *[RIP/100] 00:04:52, metric 2, tag 0
                    >  to 10.100.3.1 via ge-0/0/1.0
172.16.0.2/32      *[RIP/100] 00:04:52, metric 3, tag 0
                    >  to 10.100.3.1 via ge-0/0/1.0
172.16.0.3/32      *[RIP/100] 00:04:35, metric 3, tag 0
                    >  to 10.100.5.2 via ge-0/0/0.0
172.16.0.4/32      *[Direct/0] 00:04:52
                    >  via lo0.0
172.16.0.5/32      *[RIP/100] 00:04:35, metric 2, tag 0
                    >  to 10.100.5.2 via ge-0/0/0.0
224.0.0.9/32       *[RIP/100] 00:04:52, metric 1
                       MultiRecv

Conclusions

Configuring RIP is a simple process on Junos, but you do need to remember to add an export policy to advertise RIP routes to other RIP routers.

In part 2 we will look at authentication, changing the metric values, and changing the route preference value for RIP.

Leave a Comment

Your email address will not be published. Required fields are marked *