RIP

La version supportée est RIP v2.
Voici ci-dessous la configuration « RIP_simple ».

On configure une route par défaut et une route statique vers 100.100.100.100/32 :

Exemple de configuration avec une route statique

On configure RIP v2 en spécifiant « multicast » comme mode RIP associé à l’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;
}

Autoriser le protocole RIP dans la politique de filtrage

Des règles de filtrage sont nécessaires pour autoriser les flux de routage RIP vers et depuis le firewall :

Vérifier le bon fonctionnement du routage dynamique RIP

Afficher l’état de l’instance de protocole :

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

Afficher les routes apprises :

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)

Voici ci-dessous les routes reçues par le voisin. Notez que la route par défaut est reçue. L’export de cette route est en effet normalement rejeté par les routeurs du marché. Ici, il est nécessaire de le filtrer explicitement.

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)