ripd supports RIP version 2 as described in RFC2453 and RIP version 1 as described in RFC1058
The default configuration file name of ripd's is ripd.conf When invocition ripd searches directory /usr/local/etc If ripd.conf is not there next search current directory.
RIP uses port 521 to send and receive RIP packet. So the user must have the capability to bind the port. Generally this means that the user must have superuser privileges. RIP protocol require interface's information which maintained by zebra daemon. So running zebra is mandatory to run ripd. Thus minimum sequence for running RIP is like below:
# zebra -d # ripd -d
Please note that zebra must be invoked before ripd
To stop ripd Please use kill `cat /var/run/ripd.pid`. Some signals has special means to ripd.
ripd invocation options. Common options that can be specified (See also Common Invocation Options.).
Menu |
---|
RIP netmask |
The netmask feature of ripd supports both version 1 and version 2 of RIP. Version 1 of RIP originally contained no net-mask information. In RIP version 1, network classes were originally used to determine the size of the netmask. Class A networks use 8 bits of mask, Class B networks use 16 bits of masks, while Class C networks use 24 bits of mask. Today, the most widely used method of a network mask is assigned to the packet on the basis of the interface that received the packet. Version 2 of RIP supports a variable length subnet mask (VLSM). By extending the subnet mask, the mask can be divided and reused. Each subnet can be used for different purposes such as large to middle size LANs and WAN links. Zebra ripd does not support the non-sequential netmasks that are included in RIP Version 2.
In a case of similar information with the same prefix and metric, the old
information will be suppressed. Ripd does not currently support equal cost
multipath routing.
RIP can be configured to process either Version 1 or Version 2
packets, the default mode is Version 2. If no version is specified,
then the RIP beast will default to Version 2. In the case that RIP is
set to Version 1, the setting "Version 1" will be displayed, but the
setting "Version 2" will not be displayed whether or not Version 2 is
set explicitly as the version of RIP being used.
This group of commands either enables or disables RIP interfaces
between certain numbers of a specified network address. For
example, if the network for 10.0.0.0/24 is RIP enabled, this would
result in all the addresses from 10.0.0.0 to 10.0.0.255 being
enabled for RIP. The no network command will disable RIP for
the specified network.
RIP routes can be filtered by a distribute-list.
The distribute-list command can be used to filter the RIP path.
distribute-list can apply access-lists to a chosen interface.
First, one should specify the access-list. Next, the name of the
access-list is used in the distribute-list command. For example,
in the following configuration eth0 will permit only the paths
that match the route 10.0.0.0/8
RIP metric is a value for distance for the network. Usually ripd
increment the metric when the network information is received. Redistributed
routes's metric is set to 1.
Distance value is used in zebra daemon. Default RIP distance is 120.
Usage of ripd's route-map support.
Optional argument route-map MAP-NAME is added to each redistribute
statement.
redistribute static [route-map MAP_NAME] Cisco applies a route-map before routes will
exported to rip route table. In current Zebra's test implementation, ripd
applies a route-map after routes listed in the route table and before routes
will be announced to interface (something like output filter). I think it is
not so clear, but it is draft and it may be changed at future.
Route-map statement is needed to use
route-map functionality.
The timers basic command allows the the default values of the
timers listed above to be changed.
To display RIP routes
The command will display all RIP routes. For routes that are received
through RIP, this command will display the time the packet was sent and
the tag information. This command will also display this information
for routes redistributed into RIP.
Debug for RIP protocol
debug rip will show RIP events. Sending and receiving packets,
timers, and changes in interfaces are events shown with ripd.
debug rip packet will display detailed information about the RIP
packets. The origin and port number of the packet as well as a packet
dump is shown.
This command will show the communication between ripd and zebra. The
main information will include addition and deletion of paths to the
kernel and the sending and receiving of interface information.
show debugging rip will show all information currently set for ripd
debug.
This file documents the GNU Zebra software which manages common
TCP/IP routing protocols.
This is Edition 0.1, last updated 5 July 2000 of `The GNU Zebra
Manual', for Zebra Version 0.88.
Copyright (C) 1999, 2000 Kunihiro Ishiguro
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by Kunihiro Ishiguro.
Below is very simple RIP configuration. Interface `eth0' and
interface which address match to `10.0.0.0/8' are RIP enabled.
The router rip command is necessary to enable RIP. To disable
RIP, use the no router rip command. RIP must be enabled before
carrying out any of the RIP commands.
Disable RIP.
RIP Command: no network NETWORK
Set the RIP enable interface by NETWORK. The interfaces which
have addresses matching with NETWORK are enabled.
RIP Command: no network IFNAME
Set a RIP enabled interface by IFNAME. Both the sending and
receiving of RIP packets will be enabled on the port specified in
the network ifname command. The "no network ifname" command will
disable RIP on the specified inferface.
RIP Command: no neigbour A.B.C.D
Specify 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 routing, it is
necessary to establish a direct link between routers. The
neighbor command allows the network administrator to specify a
router as a RIP neighbor. The no neighbor A.B.C.D command will
disable the RIP neighbor.
!
router rip
network 10.0.0.0/8
network eth0
!
Passive interface
This command set specified interface to passive mode. On passive
mode interface, all receiving packet are processed as normal and
ripd does not neither multicast nor unicast RIP packet except RIP
neighbor specified "neighbor" command.
RIP version handling
Set RIP process's version. VERSION can be 1 or 2
VERSION can be 1, 2, 1 2. This configuration command
overrides the routers rip version setting. The command will
enable the selected interface to send packets with RIP Version 1,
RIP Version 2, or both. In the case of 1 2, packets will be
both broadcast and multicast.
Version setting for incoming RIP packets. This command will
enable the selected interface to receive packets in RIP Version 1,
RIP Version 2, or both.
RIP split-horizon
Control split-horizon on the interface. Default is ip
split-horizon If you don't perform split-horizon on the
interface, please specify no ip split-horizon
redistribute kernel redistributes routing information from a
kernel route entry into the RIP tables. no redistribute kernel
disables the route.
redistribute static redistributes routing information from a
static route entry into the RIP tables. no redistribute static
disables the route.
Redistribute a connected route into the RIP tables. no
redistribute connected disables the connected routes in the RIP
tables. This command redistribute connected of the interface
which RIP disabled. The connected route on RIP enabled interface
is announced in default.
redistribute ospf redistributes routing information from a ospf
route entry into the RIP tables. no redistribute ospf disables
the route.
redistribute bgp redistributes routing information from a bgp
route entry into the RIP tables. no redistribute bgp disables
the route.
If you want to specify RIP only static routes:
RIP command: no route A.B.C.D/M
This command is specific to Zebra. 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
Zebra and redistributing it in RIP using `redistribute static'.
You can apply access lists to the interface with a distribute-list
command. ACCESS_LIST is the access list name. DIRECT is
in or out. If DIRECT is in the access list is
applied to input packets.
!
router rip
distribute-list private in eth0
!
access-list private permit 10 10.0.0.0/8
access-list private deny any
!
distribute-list can be applied to both incoming and outgoing data.
You can apply prefix lists to the interface with a
distribute-list command. PREFIX_LIST is the prefix
list name. Next is the direction of in or out
If DIRECT is in the access list is applied to input
packets.
This command modify default metric value for redistributed routes. The
default value is 1. This command does not affect to connected route even
it is redistributed by redistribute connected To modify
connected route's metric value, please use redistribute connected
metric or route-map offset-list also
affect to connected route.
Set default RIP distance to specified value.
Set default RIP distance to specified value when the route's
source IP address match to the specified prefix.
Set default RIP distance to specified value when the route's
source IP address match to the specified prefix and specified
access-list.
redistribute connected [route-map MAP_NAME]
Match if the route has this metric.
Match if route destination permitted by access-list.
Cisco uses here <access-list> ripd IPv4 address. Match if route has this
next-hop (mean next-hop listed in the rip route table -
show ip rip.
Notation of this match is differ from Cisco. Cisco uses list of interfaces -
NAME1 NAME2 ... NAMEN. Ripd allow only one name (maybe will change at future).
Next - Cisco means interface what include next-hop of routes (if it is some
similiar as ip next-hop statement).
Ripd means interface where this route will be sent. I done this differs
because next-hop of same routes that sent to different interfaces
must be different. May be it is better to make new matches - say match interface-out NAME or something like this.
Set a metric for matched route when send announce. The metric
value range is very large for compatibility with other protocols.
For RIP, valid metric value is from 1 to 16.
Set next-hop field.
set the interface with ripv2 md5 authentication.
set the interface with ripv2 simple password authentication.
rip version 2 has simple text authentication. this command set
authentication string. the string must be shorter than 16
characters.
specifiy keyed md5 chain.
!
key chain test
key 1
key-string test
!
interface eth1
ip rip authentication mode md5
ip rip authentication key-chain test
!
RIP protocol has several timers. User can configure those timer's
value by timers basic command.
The default settings for the timers are as follows:
The `no timers basic' command will reset the timers to the default
settings listed above.
Show RIP routes.
The command display current RIP status. It includes RIP timer,
filtering, version, RIP enabled interface and RIP peer inforation.
ripd> show ip protocols
Routing Protocol is "rip"
Sending updates every 30 seconds with +/-50%, next due in 35 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: kernel connected
Default version control: send version 2, receive version 2
Interface Send Recv
Routing for Networks:
eth0
eth1
1.1.1.1
203.181.89.241
Routing Information Sources:
Gateway BadPackets BadRoutes Distance Last Update
Debug rip events.
Debug rip packet.
Debug rip between zebra communication.
Display ripds debugging option.