Inicio Linux & Systems Networks & Infrastructure Cybersecurity Cloud & DevOps SIEM & Monitoring DFIR & Threat Intel Development & Other Todas las categorias Herramientas Proyectos Sobre

Enrrutamiento RIP en Linux con Zebra

Read in English
Enrrutamiento RIP en Linux con Zebra

Tabla de contenidos

¿Que es Zebra? (Wikipedia)

Zebra es un demonio que en los sistemas unix se encarga de manejar las tablas de ruteo. Se encarga de imitar un enrutador físico. Maneja protocolos de ruteo como MPLS,BGP, OSPF, RIP (protocolo), ISIS y dos versiones más de rip y ospf las cuales van orientadas a IPv6.

Se usa directamente en los kerneles de BSD, solaris, linux; pero solo versiones de hace 2 o 3 años. Eso no significa, sin embargo, que esté descontinuado pues en los kerneles nuevos de los Unix mencionados usa quagga como su interfaz que interviene por sus librerías y lo convierte en demonio alejado de la mano del usuario.


Instalamos Quagga y telnet

bash
apt-get install quagga telnet

Copiamos los ejemplos de configuración.

Accedemos al directorio

text
cd /usr/share/doc/quagga/example/

Copiamos los directorios al fichero de configuración /etc/quagga

bash
cp zebra.conf.sample vtsh.conf.sample ripd.conf.sample /etc/quagga/

Accedemos al fichero de configuración.

text
cd /etc/quagga/

Y modificamos los nombres de los ficheros copiados.

bash
mv zebra.conf.sample zebra.conf
bash
mv vtysh.conf.sample vtysh.conf
bash
mv ripd.conf.sample ripd.conf

Activamos los demonios que vallamos a utilizar, en mi caso RIP.

Editamos el archivo

text
vi daemons

y Activamos el protocolo a utilizar y zebra

text
zebra=yes
text
ripd=yes

Editamos el fichero /etc/network/interfaces para que no se levante ninguna interfaz.

text
vi  /etc/network/interfaces

Podemos comentarla con un #

text
#iface eth0 inet dhcp

Nos conectamos (La contraseña por defecto es zebra)

telnet localhost zebra

text
Trying ::1…

Trying 127.0.0.1…

Connected to localhost.

Escape character is ‘^]’.
text
Hello, this is Quagga (version 0.99.15).

Copyright 1996-2005 Kunihiro Ishiguro, et al.
text
User Access Verification
text
Password:

Vamos al terminal de configuración.

text
router# configure terminal

En la interfaz, obviamente tenéis que poner la que os corresponda.

text
router(config)# interface eth0

Le asignamos una dirección y una mascara.

text
router(config-if)# ip address 10.30.0.0/16

Salimos y guardamos

text
router(config-if)# quit
text
router(config)# write
text
Configuration saved to /etc/quagga/ripd.conf

En mi caso voy a configurar 3 Interfaces mas, seguimos el mismo procedimiento.

Interfaz eth1

text
router# configure terminal
text
router(config)# interface eth1
text
router(config-if)# ip address 10.20.0.0/16
text
router(config-if)# quit
text
router(config)# write
text
Configuration saved to /etc/quagga/ripd.conf

Interfaz eth2

text
router# configure terminal
text
router(config)# interface eth2
text
router(config-if)# ip address 10.50.0.0/16
text
router(config-if)# quit
text
router(config)# write
text
Configuration saved to /etc/quagga/ripd.conf

Interfaz eth3

text
router# configure terminal
text
router(config)# interface eth2
text
router(config-if)# ip address 10.40.0.0/16
text
router(config-if)# quit
text
router(config)# write
text
Configuration saved to /etc/quagga/ripd.conf

Activamos  forwarding  para que enrrute.

text
#echo “1″ > /proc/sys/net/ipv4/ip_forward

Para dejarlo permanete redirigimos la salida al fichero /etc/sysctl.conf

text
#echo “net.ipv4.ip_forward = 1″ >> /etc/sysctl.conf

Y por ultimo le decimos a iptables que acepte esos renvios

bash
iptables -A FORWARD -j ACCEPT
bash
iptables -t nat -A POSTROUTING -s 10.30.0.0/16-o eth0 -j MASQUERADE
bash
iptables -t nat -A POSTROUTING -s 10.20.0.0/16 -o eth1 -j MASQUERADE
bash
iptables -t nat -A POSTROUTING -s 10.40.0.0/16 -o eth3 -j MASQUERADE
bash
iptables -t nat -A POSTROUTING -s 10.50.0.0/16 -o eth2 -j MASQUERADE

Mas información relacionada con ello:

quagga

cisco

Ya iré ampliando esto, espero que os sirva.

Un saludo rokitoh

:wq!

Comentarios