RIP
The version supported is RIP v2.
The following is the "RIP_simple" configuration.
Configure a default route and a static route to 100.100.100.100/32:
Configure RIP v2 by specifying "multicast" as the RIP mode associated with the interface "em0".
sns_log off; # default is "no extra log" router id 192.168.97.219; # This pseudo-protocol performs synchronization # between BIRD's routing tables and the kernel. protocol kernel { persist; # Don't remove routes on bird shutdown scan time 20; # Scan kernel routing table every 20 seconds learn; # Learn all alien routes from the kernel ipv4 { export all; # Default is export none preference 254; # Protect kernel routes with high preference }; } # This pseudo-protocol watches all interface up/down events. protocol device { scan time 10; # Scan interfaces every 10 seconds } # The direct protocol automatically # generates device routes to all network interfaces. protocol direct { ipv4; # Minimal IPv4 default channel config } filter ripexport { if (net = 0.0.0.0/0) || (net = 100.100.100.100/32) then accept; else reject; } protocol rip MyRIP { debug all; interface "em0" { mode multicast; authentication none; }; ipv4 { import all; export filter ripexport; }; } # This pseudo-protocol is used to configure static routes. protocol static MyStaticRoutes { ipv4; }
Allowing the RIP protocol in filter policies
Filter rules are required in order to allow RIP routing traffic to and from the firewall:
Checking the proper operation of RIP dynamic routing
Show the status of the protocol instance:
bird> show protocols all MyRIP Name Proto Net Type Table State Since Info MyRIP RIP ipv4 master4 up 10:08:56 Channel ipv4 State: UP Table: master4 Preference: 120 Input filter: ACCEPT Output filter: ripexport Routes: 0 imported, 1 exported, 0 preferred Route change stats: received rejected filtered ignored accepted Import updates: 0 0 0 0 0 Import withdraws: 7 0 --- 7 0 Export updates: 15 0 13 --- 2 Export withdraws: 3 --- --- --- 1
Show learned routes:
bird> show route primary protocol MyRIP 192.168.97.0/24 via 10.200.45.250 on eth0 [MyRIP 10:29:19] ! (120/2) 1.1.9.0/24 via 10.200.45.250 on eth0 [MyRIP 10:29:19] * (120/2) 1.1.8.0/24 via 10.200.45.250 on eth0 [MyRIP 10:29:19] * (120/2)
The following are the routes that were received by the neighbor. You will notice that the default route has been received. Mainstream routers will ordinarily not allow this route to be exported. In this case, it has to be explicitly filtered.
bird> show route primary protocol MyRIP
0.0.0.0/0 via 192.168.97.219 on eth0 [MyRIP 10:36] * (120/2)
100.100.100.100/32 via 192.168.97.101 on eth0 [MyRIP 10:36 from 192.168.97.219] * (120/2)