10/7/07

Habilitando RIP en Vyatta

El origen de este Post, es una consulta de un lector de este blog, inicialmente pense responder directamente, pero luego me di cuenta que valía la pena publicar la respuesta como un post, de esta manera estará disponible a otros que pudiera interesarle el tema.

La consulta específica se puede ver aquí, en corto, es sobre como habilitar RIP en una red con tres routers vyatta, y dos clientes, como lo muestra el diagrama siguiente






Los detalles de numeración IP para cada subnet involucrada no estan en la consulta original, los puse para facilidad, obviamente no es un plan de numeración muy eficiente tener una red clase C en las subnet entre cada router, pero lo deje así por facilidad y para no entrar en detalles sobre prefijos, numeración IP etc, que no es el objetivo de este post

Básicamente lo que se desea en la red anterior, es configurar RIP para anunciar rutas en todos los routers, por ser una red muy pequeña, se pueden configurar simplemente rutas estáticas, pero configurar RIP también es una opción y es lo que desea hacer el amigo que hizo la consulta.

Asumo que cada PC tiene instalado el Vyatta y que todas sus interfaces han sido reconocidas y configuradas, siendo así, para habilitar RIP se debe configurar para cada interface en los routers A, B y C el siguiente comando (acá se ejemplifica el router B)

root@Router_B#set protocols rip interface eth0 address 192.168.1.2
root@Router_B#set protocols rip interface eth1 address 192.168.3.1

Con lo anterior se habilita el protocolo rip en las interfaces 0 y 1 del router B, en la tercera interface (la que conecta con el cliente D), no hay necesidad de configurar protocolo rip, ya que la PC cliente no estará ejecutando este protocolo.

La misma configuración debe aplicarse en los routers A y B, siempre con las interfaces que conectan con el otro router.

Para poder anunciar las rutas a través de RIP es necesario un paso adicional, se debe configurar una política para exportar rutas estaticas y rutas directamente conectadas, para esto, tome el ejemplo de la guía de configuración de Vyatta, básicamente estas políticas permiten redistribuir rutas, en nuestro caso específico lo que deseamos es poder anunciar a través de RIP las rutas estáticas y las rutas directamente conectadas, esto se logra con los siguientes comandos:

root@Router_B#set policy policy-statement EXPORT_STATIC term 1 from protocol static
root@Router_B#set policy policy-statement EXPORT_STATIC term 1 then action accept
root@Router_B#commit

root@Router_B#set policy policy-statement EXPORT_CONNECTED term 1 from protocol connected
root@Router_B#set policy policy-statement EXPORT_CONNECTED term 1 then action accept root@Router_B#commit



EXPORT_STATIC y EXPORT_CONNECTED, son definidas por el usuario, por lo que es la única parte del comando anterior que se puede cambiar a voluntad, lo demás debe ir tal como esta.



Los anteriore comandos deben permitir que cualquier ruta estatica o que esta directamente conectada, sea anunciada por RIP y con esto debería funcionar, para verificarlo se pueden utilzar los siguientes comandos:



root@Router_B#show route protocol rip - Muestra las rutas aprendidas a través de RIP

root@Router_B#show rip peer statistics all - Muestra estadísticas del protocolo

root@Router_B#show protocols rip - Para ver la configuración del protocolo



Finalmente, solo quiero hacer la advertencia de que no cuento con el equipo como para simular esta configuración en un laboratorio, por lo que no puedo garantizar que funcione, sin embargo invito al amigo que hizo la consulta y que tengo entendido que esta implementando esta configuración que la ponga en práctica y que nos valide si esta configuración funciona. La prueba de que todo trabaja bien, es que el cliente C debería poder hacer un ping al cliente D, propagando las rutas dinamicamente con RIP y sin necesidad de configurar rutas estaticas en ninguno de los routers.

Actualizado 12/07/2007

Gracias a la validación que hizo el amigo Ramón, de estos pasos de configuración, el esta en lo cierto, al decir que omiti el paso final, el ultimo paso mostrado en el post, era para configurar la política, sin embargo hay que aplicar esta politica al protocolo rip para que pueda utilizarla y pueda redistribuir rutas conectadas y rutas estáticas, así que como lo menciona el amigo, el paso final es el siguiente comando:

root@Router_B#set protocols rip export EXPORT_STATIC,EXPORT_CONNECTED

Así que, si estas configurando RIP con Vyatta, favor incluir el ultimo comando.

5 comentarios:

Ramon (el anonimo de la otra vez) dijo...

muy bien, solo falto que especificaras lo de: set protocols rip export EXPORT_STATIC,EXPORT_CONNECTED, muchas gracias, despues de hacer ping por cada una de las interfaces, rip se puso a funcionar, ahora solo me falta investigar como hacer para que en caso de que se desconecte un enlace de algun ruteador, especificamente quitar el que va del router 1 al router 3 mientras se estè transfiriendo un archivo del cliente D al E la cambie la ruta (ya lo hace) y restablezca de manera transparente (para el usuario) la conexion y siga transmitiendo, por lo demas excelente

Leonel Munguia dijo...

Ramon, gracias por la validación y tienes razón en lo que comentas, hice una actualización en el post para incluir este comando, en cuanto a lo otro que mencionas, uno de los problemas de RIP es que su tiempo de convergencia es un poco lento, te sugiero investigar si hay alguna manera de configurar split horizon, especificamente split horizon with poison reverse, el comando debería ser algo así como set protocols rip interface address 192.168.2.1 horizon split-horizon-poison-reverse. Habilitando esta opción el tiempo de convergencia debería ser menor y se evitan routing loops.

LUIS FERNANDO dijo...

hola leonel quisiera saber si on vyatta puedo tener mi conexion a internet con redundancia es decir en la empresa para la que labora hay un canal de 8megas y otro de 1mega el que se usa es el de 8 megas pero quisiera que si se cae esta conexion se habilite el otro canal el de 1mega
Gracias

Jorge Ortiz Cano dijo...

hola tengo un problema, ya tengo configuradas mis interfaes y cuando quiero aplicar el protocolo rip con:
set protocols rip interface eth0 address 192.168.2.1
que es la direccion ip que tengo en esa interface me dice:
the specified configuration node is not valid

probe dando de alta primero las politicas de ruteo pero cuando aplico los comandos:

set policy policy-statement EXPORT_EXTATIC term 1 from protocol static

me aparece el mismo error quisiera saber si hay algun paso que me este faltando por que no puedo completar el ejemplo para habilitar el protocolo rip de antemano gracias.

Fer dijo...

Hola leonel, buena tarde mi pregunta es igual a la de Luis Fernando quisiera saber si con vyatta puedo tener redundancia con dos conexiones a internet, me imagino que con el protocolo icmp o http pero no se bien como implementarlo, es posible?

Saludos