Configurar RIP (Routing Information Protocol) en un router Cisco es sencillo, lo importante es conocer sus características y funcionamiento. Actualmente existen tres versiones distintas de RIP, una de ellas se ha creado específicamente para enrutamiento de IPv6, las otras dos, RIPv1 y RIPv2 se utilizan para IPv4. RIPv1 ya no se utiliza en la actualidad debido a su antiguedad y carencias carencias respecto a RIPv2. Esto es lo que nos cuenta la Wikipedia (donde podéis encontrar mucha más teoría e información):
- RIPv1: No soporta subredes ni direccionamiento CIDR. Tampoco incluye ningún mecanismo de autentificación de los mensajes. No se usa actualmente. Su especificación está recogida en el RFC 1058. Es un protocolo de routing con clase.
- RIPv2: Soporta subredes, CIDR y VLSM. Soporta autenticación utilizando uno de los siguientes mecanismos: no autentificación, autentificación mediante contraseña, autentificación mediante contraseña codificada mediante MD5 (desarrollado por Ronald Rivest). Su especificación está recogida en RFC 1723 y en RFC 2453.
- RIPng: RIP para IPv6. Su especificación está recogida en el RFC 2080.
Vamos a hacer una práctica/laboratorio sencilla con 3 routers Cisco en la que vamos a conseguir enrutar tráfico entre las interfaces de los routers que no se encuentran conectadas directamente por los cables de serie. Lo haremos con el protocolo de routing RIPv2:
La configuración inicial es la siguiente, hemos asignado una IP a cada interfaz de serie de cada router a excepción de R2 que tiene dos interfaces, una contra R1 y otra contra R2:
Router 1 (hostname R1):
R1#conf t R1(config)#interface Serial1/0 R1(config-if)#ip address 10.0.0.1 255.255.255.0 R1(config-if)#no shutdown
Router 2 (hostname R2)
R2#conf t R2(config)#interface Serial1/0 R2(config-if)#ip address 10.0.0.2 255.255.255.0 R2(config-if)#no shutdown R2(config-if)#exit R2(config)#interface Serial1/1 R2(config-if)#ip address 10.0.1.1 255.255.255.0 R2(config-if)#no shutdown
Router 3 (hostname R3)
R3#conf t R3(config)#interface Serial1/0 R3(config-if)#ip address 10.0.1.2 255.255.255.0 R3(config-if)#no shutdown
Con esta configuración, y sin aplicar ningún tipo de routing sólo hay comunicación entre las interfaces conectadas directamente (C), lo podemos verificar con el comando show ip route:
Router 1 (hostname R1):
R1#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP ... ... Gateway of last resort is not set 10.0.0.0/24 is subnetted, 1 subnets C 10.0.0.0 is directly connected, Serial1/0
Router 2 (hostname R2)
R2#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP ... ... Gateway of last resort is not set 10.0.0.0/24 is subnetted, 2 subnets C 10.0.0.0 is directly connected, Serial1/0 C 10.0.1.0 is directly connected, Serial1/1
Router 3 (hostname R3)
R3# show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP ... ... Gateway of last resort is not set 10.0.0.0/24 is subnetted, 1 subnets C 10.0.1.0 is directly connected, Serial1/0
Efectivamente, el router R2 tienen conectividad con los otros dos routers:
R2#ping 10.0.0.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/11/32 ms R2#ping 10.0.1.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.1.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 8/13/20 ms
Ahora llega el momento de configurar routing para poder establecer comunicación entre el router R1 y el R3 ya que no están conectados directamente:
R1#ping 10.0.1.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.1.2, ti ..... Success rate is 0 percent (0/5)
Los pasos para activar RIPv2 son los siguientes, ponemos como ejemplo el router R1:
R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#router rip R1(config-router)#version 2 R1(config-router)#network 10.0.0.0 R1(config-router)#exit
Los pasos son acceder al modo de configuración global, indicar que el protocolo de routing es rip (router rip), especificar la version 2 y finalmente con el comando network especificar a través de que interfaces se enviarán y recibirán las actualizaciones de routing, en este caso todas las interfaces que pertenezcan a la red 10.0.0.0 que es la serial 1/0.
Hacemos lo mismo en R2, pero en este caso especificamos que las dos interfaces serial enviarán y recibirán actualizaciones de routing:
R2(config)#router rip R2(config-router)#version 2 R2(config-router)#network 10.0.0.0 R2(config-router)#network 10.0.1.0
En este momento, aunque no hemos terminado ya que falta configurar R3 ya podemos ver la nueva ruta, se ha recibido que la red 10.0.1.0 se ha de enrutar a través de la interfaz 10.0.0.2 Serial1/0 del router R2:
R1#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set 10.0.0.0/24 is subnetted, 2 subnets C 10.0.0.0 is directly connected, Serial1/0 R 10.0.1.0 [120/1] via 10.0.0.2, 00:00:25, Serial1/0
Todavía no funcionará la comunicación porque R3 no sabe como devolver los paquetes recibidos así que lo configuramos de igual modo:
R3(config)#router rip R3(config-router)#version 2 R3(config-router)#network 10.0.1.0
Ahora ya podemos finalmente verificar en todos los routers la tabla de enrutamiento, deberían haber recibido las rutas para comunicarse entre los tres, verificamos con un ping desde R1 o R3:
R1#ping 10.0.1.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.1.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 16/31/44 ms
Y desde R3 a R1:
R3#ping 10.0.0.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 8/11/16 ms
Realmente nos podríamos haber ahorrado la configuración de routing en el router R2 ya que está conectado directamente a ambas redes. Vamos a probar a deshabilitarlo:
R2(config)#no router rip
Y verificamos que todo sigue funcionando correctamente:
R1#ping 10.0.1.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.1.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 12/14/20 ms R3#ping 10.0.0.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/16/28 ms