Los protocolos de enrutamiento de red se dividen en dos categorías principales:protocolos de puerta de enlace interior y protocolos de puerta de enlace exterior. Los enrutadores utilizan los protocolos de puerta de enlace interior para compartir información dentro de un solo sistema autónomo. Si está ejecutando Linux, puede hacer que su sistema se comporte como un enrutador a través de la pila de enrutamiento de código abierto (GPLv2) Quagga.
¿Qué es Quagga?
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Quagga es un paquete de software de enrutamiento y una bifurcación de GNU Zebra. Proporciona implementaciones de todos los principales protocolos de enrutamiento, como Open Shortest Path First (OSPF), Protocolo de información de enrutamiento (RIP), Protocolo de puerta de enlace fronteriza (BGP) y Sistema intermedio a sistema intermedio (IS-IS) para plataformas similares a Unix. /P>
Aunque Quagga implementa los protocolos de enrutamiento tanto para IPv4 como para IPv6, no actúa como un enrutador completo. Un verdadero enrutador no solo implementa todos los protocolos de enrutamiento, sino que también tiene la capacidad de reenviar el tráfico de red. Quagga solo implementa la pila de enrutamiento y el kernel de Linux se encarga del trabajo de reenviar el tráfico de red.
Arquitectura
Quagga implementa los diferentes protocolos de enrutamiento a través de demonios específicos del protocolo. El nombre del demonio es el mismo que el protocolo de enrutamiento seguido de la letra "d". Zebra es el núcleo y un demonio independiente del protocolo que proporciona una capa de abstracción al kernel y presenta la API de Zserv a través de sockets TCP a los clientes de Quagga. Cada demonio específico del protocolo es responsable de ejecutar el protocolo relevante y construir la tabla de enrutamiento en función de la información intercambiada.
Configuración
Este tutorial implementa el protocolo OSPF para configurar el enrutamiento dinámico usando Quagga. La configuración incluye dos hosts CentOS 7.7, llamados Alpha y Beta. Ambos anfitriones comparten acceso a 192.168.122.0/24 red.
Host alfa:
IP:192.168.122.100/24
Puerta de enlace:192.168.122.1
Anfitrión Beta:
IP:192.168.122.50/24
Puerta de enlace:192.168.122.1
Instalar el paquete
Primero, instale el paquete Quagga en ambos hosts. Está disponible en el repositorio base de CentOS:
yum install quagga -y
Habilitar el reenvío de IP
A continuación, habilite el reenvío de IP en ambos hosts, ya que eso lo realizará el kernel de Linux:
sysctl -w net.ipv4.ip_forward = 1
sysctl -p
Configuración
Ahora, ve a /etc/quagga directorio y cree los archivos de configuración para su instalación. Necesitas tres archivos:
- zebra.conf :el archivo de configuración del demonio de Quagga, que es donde definirá las interfaces y sus direcciones IP y el reenvío de IP
- ospfd.conf :el archivo de configuración del protocolo, que es donde definirá las redes que se ofrecerán a través del protocolo OSPF
- demonios :donde especificará los demonios de protocolo relevantes que se requieren para ejecutar
En el anfitrión Alpha,
[root@alpha]# cat /etc/quagga/zebra.conf
interface eth0
ip address 192.168.122.100/24
ipv6 nd suppress-ra
interface eth1
ip address 10.12.13.1/24
ipv6 nd suppress-ra
interface lo
ip forwarding
line vty
[root@alpha]# cat /etc/quagga/ospfd.conf
interface eth0
interface eth1
interface lo
router ospf
network 192.168.122.0/24 area 0.0.0.0
network 10.12.13.0/24 area 0.0.0.0
line vty
[root@alphaa ~]# cat /etc/quagga/daemons
zebra=yes
ospfd=yes
En el host Beta,
[root@beta quagga]# cat zebra.conf
interface eth0
ip address 192.168.122.50/24
ipv6 nd suppress-ra
interface eth1
ip address 10.10.10.1/24
ipv6 nd suppress-ra
interface lo
ip forwarding
line vty
[root@beta quagga]# cat ospfd.conf
interface eth0
interface eth1
interface lo
router ospf
network 192.168.122.0/24 area 0.0.0.0
network 10.10.10.0/24 area 0.0.0.0
line vty
[root@beta ~]# cat /etc/quagga/daemons
zebra=yes
ospfd=yes
Configurar el cortafuegos
Para usar el protocolo OSPF, debe permitirlo en el firewall:
firewall-cmd --add-protocol=ospf –permanent
firewall-cmd –reload
Ahora, inicie los demonios zebra y ospfd.
# systemctl start zebra
# systemctl start ospfd
Mire la tabla de rutas en ambos hosts usando:
[root@alpha ~]# ip route show
default via 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 via 192.168.122.50 dev eth0 proto zebra metric 20
10.12.13.0/24 dev eth1 proto kernel scope link src 10.12.13.1
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.100 metric 100
Puede ver que la tabla de enrutamiento en Alpha contiene una entrada de 10.10.10.0/24 a través de 192.168.122.50 ofrecido a través del protocolo zebra . De manera similar, en el host Beta, la tabla contiene una entrada de red 10.12.13.0/24 a través de 192.168.122.100 .
[root@beta ~]# ip route show
default via 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 dev eth1 proto kernel scope link src 10.10.10.1
10.12.13.0/24 via 192.168.122.100 dev eth0 proto zebra metric 20
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.50 metric 100
Conclusión
Como puede ver, la instalación y la configuración son relativamente simples. Para agregar complejidad, puede agregar más interfaces de red al enrutador para proporcionar enrutamiento para más redes. También puede implementar los protocolos BGP y RIP utilizando el mismo método.