mirror of
https://github.com/vyos/vyos-documentation.git
synced 2025-10-26 08:41:46 +01:00
258 lines
9.4 KiB
ReStructuredText
258 lines
9.4 KiB
ReStructuredText
:lastproofread: 2021-10-04
|
||
|
||
.. _rip:
|
||
|
||
###
|
||
RIP
|
||
###
|
||
|
||
:abbr:`RIP (Routing Information Protocol)` is a widely deployed interior gateway
|
||
protocol. RIP was developed in the 1970s at Xerox Labs as part of the XNS
|
||
routing protocol. RIP is a distance-vector protocol and is based on the
|
||
Bellman-Ford algorithms. As a distance-vector protocol, RIP router send updates
|
||
to its neighbors periodically, thus allowing the convergence to a known
|
||
topology. In each update, the distance to any given network will be broadcast
|
||
to its neighboring router.
|
||
|
||
Supported versions of RIP are:
|
||
|
||
- RIPv1 as described in :rfc:`1058`
|
||
- RIPv2 as described in :rfc:`2453`
|
||
|
||
General Configuration
|
||
---------------------
|
||
|
||
.. cfgcmd:: set protocols rip network <A.B.C.D/M>
|
||
|
||
This command enables RIP and sets the RIP enable interface by NETWORK.
|
||
The interfaces which have addresses matching with NETWORK are enabled.
|
||
|
||
.. cfgcmd:: set protocols rip interface <interface>
|
||
|
||
This command specifies a RIP enabled interface by interface name. Both
|
||
the sending and receiving of RIP packets will be enabled on the port
|
||
specified in this command.
|
||
|
||
.. cfgcmd:: set protocols rip neighbor <A.B.C.D>
|
||
|
||
This command specifies a RIP neighbor. When a neighbor doesn’t understand
|
||
multicast, this command is used to specify neighbors. In some cases, not
|
||
all routers will be able to understand multicasting, where packets are
|
||
sent to a network or a group of addresses. In a situation where a neighbor
|
||
cannot process multicast packets, it is necessary to establish a direct
|
||
link between routers.
|
||
|
||
.. cfgcmd:: set protocols rip passive-interface interface <interface>
|
||
|
||
This command sets the specified interface to passive mode. On passive mode
|
||
interface, all receiving packets are processed as normal and VyOS does not
|
||
send either multicast or unicast RIP packets except to RIP neighbors
|
||
specified with neighbor command.
|
||
|
||
.. cfgcmd:: set protocols rip passive-interface interface default
|
||
|
||
This command specifies all interfaces to passive mode.
|
||
|
||
|
||
Optional Configuration
|
||
----------------------
|
||
|
||
.. cfgcmd:: set protocols rip default-distance <distance>
|
||
|
||
This command change the distance value of RIP. The distance range is 1 to 255.
|
||
|
||
.. note:: Routes with a distance of 255 are effectively disabled and not
|
||
installed into the kernel.
|
||
|
||
.. cfgcmd:: set protocols rip network-distance <A.B.C.D/M> distance <distance>
|
||
|
||
This command sets default RIP distance to a specified value when the routes
|
||
source IP address matches the specified prefix.
|
||
|
||
.. cfgcmd:: set protocols rip network-distance <A.B.C.D/M> access-list <name>
|
||
|
||
This command can be used with previous command to sets default RIP distance
|
||
to specified value when the route source IP address matches the specified
|
||
prefix and the specified access-list.
|
||
|
||
.. cfgcmd:: set protocols rip default-information originate
|
||
|
||
This command generate a default route into the RIP.
|
||
|
||
.. cfgcmd:: set protocols rip distribute-list access-list <in|out> <number>
|
||
|
||
This command can be used to filter the RIP path using access lists.
|
||
:cfgcmd:`in` and :cfgcmd:`out` this is the direction in which the access
|
||
lists are applied.
|
||
|
||
.. cfgcmd:: set protocols rip distribute-list interface <interface> access-list <in|out> <number>
|
||
|
||
This command allows you apply access lists to a chosen interface to
|
||
filter the RIP path.
|
||
|
||
.. cfgcmd:: set protocols rip distribute-list prefix-list <in|out> <name>
|
||
|
||
This command can be used to filter the RIP path using prefix lists.
|
||
:cfgcmd:`in` and :cfgcmd:`out` this is the direction in which the prefix
|
||
lists are applied.
|
||
|
||
.. cfgcmd:: set protocols rip distribute-list interface <interface> prefix-list <in|out> <name>
|
||
|
||
This command allows you apply prefix lists to a chosen interface to
|
||
filter the RIP path.
|
||
|
||
.. cfgcmd:: set protocols rip route <A.B.C.D/M>
|
||
|
||
This command is specific to FRR and VyOS. The route command makes a static
|
||
route only inside RIP. This command should be used only by advanced users
|
||
who are particularly knowledgeable about the RIP protocol. In most cases,
|
||
we recommend creating a static route in VyOS and redistributing it in RIP
|
||
using :cfgcmd:`redistribute static`.
|
||
|
||
.. cfgcmd:: set protocols rip timers update <seconds>
|
||
|
||
This command specifies the update timer. Every update timer seconds, the
|
||
RIP process is awakened to send an unsolicited response message containing
|
||
the complete routing table to all neighboring RIP routers. The time range
|
||
is 5 to 2147483647. The default value is 30 seconds.
|
||
|
||
.. cfgcmd:: set protocols rip timers timeout <seconds>
|
||
|
||
This command specifies the timeout timer. Upon expiration of the timeout,
|
||
the route is no longer valid; however, it is retained in the routing table
|
||
for a short time so that neighbors can be notified that the route has been
|
||
dropped. The time range is 5 to 2147483647. The default value is 180
|
||
seconds.
|
||
|
||
.. cfgcmd:: set protocols rip timers garbage-collection <seconds>
|
||
|
||
This command specifies the garbage-collection timer. Upon expiration of
|
||
the garbage-collection timer, the route is finally removed from the
|
||
routing table. The time range is 5 to 2147483647. The default value is 120
|
||
seconds.
|
||
|
||
|
||
Redistribution Configuration
|
||
----------------------------
|
||
|
||
.. cfgcmd:: set protocols rip redistribute <route source>
|
||
|
||
This command redistributes routing information from the given route source
|
||
into the RIP tables. There are five modes available for route source: bgp,
|
||
connected, kernel, ospf, static.
|
||
|
||
.. cfgcmd:: set protocols rip redistribute <route source> metric <metric>
|
||
|
||
This command specifies metric for redistributed routes from the given route
|
||
source. There are five modes available for route source: bgp, connected,
|
||
kernel, ospf, static. The metric range is 1 to 16.
|
||
|
||
.. cfgcmd:: set protocols rip redistribute <route source> route-map <name>
|
||
|
||
This command allows to use route map to filter redistributed routes from
|
||
the given route source. There are five modes available for route source:
|
||
bgp, connected, kernel, ospf, static.
|
||
|
||
.. cfgcmd:: set protocols rip default-metric <metric>
|
||
|
||
This command modifies the default metric (hop count) value for redistributed
|
||
routes. The metric range is 1 to 16. The default value is 1. This command
|
||
does not affect connected route even if it is redistributed by
|
||
:cfgcmd:`redistribute connected`. To modify connected routes metric
|
||
value, please use :cfgcmd:`redistribute connected metric`.
|
||
|
||
|
||
Interfaces Configuration
|
||
------------------------
|
||
|
||
.. cfgcmd:: set interfaces <inttype> <intname> ip rip authentication plaintext-password <text>
|
||
|
||
This command sets the interface with RIP simple password authentication.
|
||
This command also sets authentication string. The string must be shorter
|
||
than 16 characters.
|
||
|
||
.. cfgcmd:: set interfaces <inttype> <intname> ip rip authentication md5 <id> password <text>
|
||
|
||
This command sets the interface with RIP MD5 authentication. This command
|
||
also sets MD5 Key. The key must be shorter than 16 characters.
|
||
|
||
.. cfgcmd:: set interfaces <inttype> <intname> ip rip split-horizon disable
|
||
|
||
This command disables split-horizon on the interface. By default, VyOS does
|
||
not advertise RIP routes out the interface over which they were learned
|
||
(split horizon).3
|
||
|
||
.. cfgcmd:: set interfaces <inttype> <intname> ip rip split-horizon poison-reverse
|
||
|
||
This command enables poison-reverse on the interface. If both poison reverse
|
||
and split horizon are enabled, then VyOS advertises the learned routes
|
||
as unreachable over the interface on which the route was learned.
|
||
|
||
|
||
Operational Mode Commands
|
||
-------------------------
|
||
|
||
.. opcmd:: show ip rip
|
||
|
||
This command displays RIP routes.
|
||
|
||
.. code-block:: none
|
||
|
||
Codes: R - RIP, C - connected, S - Static, O - OSPF, B - BGP
|
||
Sub-codes:
|
||
(n) - normal, (s) - static, (d) - default, (r) - redistribute,
|
||
(i) - interface
|
||
|
||
Network Next Hop Metric From Tag Time
|
||
C(i) 10.0.12.0/24 0.0.0.0 1 self 0
|
||
C(i) 10.0.13.0/24 0.0.0.0 1 self 0
|
||
R(n) 10.0.23.0/24 10.0.12.2 2 10.0.12.2 0 02:53
|
||
|
||
.. opcmd:: show ip rip status
|
||
|
||
The command displays current RIP status. It includes RIP timer, filtering,
|
||
version, RIP enabled interface and RIP peer information.
|
||
|
||
.. code-block:: none
|
||
|
||
Routing Protocol is "rip"
|
||
Sending updates every 30 seconds with +/-50%, next due in 11 seconds
|
||
Timeout after 180 seconds, garbage collect after 120 seconds
|
||
Outgoing update filter list for all interface is not set
|
||
Incoming update filter list for all interface is not set
|
||
Default redistribution metric is 1
|
||
Redistributing:
|
||
Default version control: send version 2, receive any version
|
||
Interface Send Recv Key-chain
|
||
eth0 2 1 2
|
||
eth2 2 1 2
|
||
Routing for Networks:
|
||
10.0.12.0/24
|
||
eth0
|
||
Routing Information Sources:
|
||
Gateway BadPackets BadRoutes Distance Last Update
|
||
10.0.12.2 0 0 120 00:00:11
|
||
Distance: (default is 120)
|
||
|
||
|
||
Configuration Example
|
||
---------------------
|
||
|
||
Simple RIP configuration using 2 nodes and redistributing connected interfaces.
|
||
|
||
**Node 1:**
|
||
|
||
.. code-block:: none
|
||
|
||
set interfaces loopback address 10.1.1.1/32
|
||
set protocols rip network 192.168.0.0/24
|
||
set protocols rip redistribute connected
|
||
|
||
**Node 2:**
|
||
|
||
.. code-block:: none
|
||
|
||
set interfaces loopback address 10.2.2.2/32
|
||
set protocols rip network 192.168.0.0/24
|
||
set protocols rip redistribute connected
|