Les protocoles de routage réseau se répartissent en deux catégories principales :les protocoles de passerelle intérieure et les protocoles de passerelle extérieure. Les protocoles de passerelle intérieure sont utilisés par les routeurs pour partager des informations au sein d'un seul système autonome. Si vous utilisez Linux, vous pouvez faire en sorte que votre système se comporte comme un routeur via la pile de routage open source (GPLv2) Quagga.
Qu'est-ce que Quagga ?
Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
Quagga est une suite logicielle de routage et un fork de GNU Zebra. Il fournit des implémentations de tous les principaux protocoles de routage tels que Open Shortest Path First (OSPF), Routing Information Protocol (RIP), Border Gateway Protocol (BGP) et Intermediate System to Intermediate System (IS-IS) pour les plates-formes de type Unix. /P>
Bien que Quagga implémente les protocoles de routage pour IPv4 et IPv6, il n'agit pas comme un routeur complet. Un vrai routeur implémente non seulement tous les protocoles de routage, mais a également la capacité de transférer le trafic réseau. Quagga implémente uniquement la pile de routage, et le travail de transfert du trafic réseau est géré par le noyau Linux.
Architecture
Quagga implémente les différents protocoles de routage via des démons spécifiques au protocole. Le nom du démon est le même que le protocole de routage suivi de la lettre "d". Zebra est le cœur et un démon indépendant du protocole qui fournit une couche d'abstraction au noyau et présente l'API Zserv sur les sockets TCP aux clients Quagga. Chaque démon spécifique au protocole est responsable de l'exécution du protocole approprié et de la construction de la table de routage basée sur les informations échangées.
Configuration
Ce tutoriel implémente le protocole OSPF pour configurer le routage dynamique à l'aide de Quagga. La configuration comprend deux hôtes CentOS 7.7, nommés Alpha et Beta. Les deux hôtes partagent l'accès au 192.168.122.0/24 réseau.
Hôte alpha :
IP :192.168.122.100/24
Passerelle :192.168.122.1
Bêta hôte :
IP :192.168.122.50/24
Passerelle :192.168.122.1
Installer le package
Tout d'abord, installez le package Quagga sur les deux hôtes. Il est disponible dans le dépôt de base CentOS :
yum install quagga -y
Activer le transfert IP
Ensuite, activez le transfert IP sur les deux hôtes car cela sera effectué par le noyau Linux :
sysctl -w net.ipv4.ip_forward = 1
sysctl -p
Configuration
Maintenant, allez dans /etc/quagga répertoire et créez les fichiers de configuration pour votre installation. Vous avez besoin de trois fichiers :
- zebra.conf : le fichier de configuration du démon de Quagga, où vous définirez les interfaces, leurs adresses IP et leur redirection IP
- ospfd.conf :Le fichier de configuration du protocole, dans lequel vous définirez les réseaux qui seront proposés via le protocole OSPF
- démons :où vous spécifierez les démons de protocole pertinents qui doivent s'exécuter
Sur l'hôte 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
Sur l'hôte bêta,
[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
Configurer le pare-feu
Pour utiliser le protocole OSPF, vous devez l'autoriser dans le pare-feu :
firewall-cmd --add-protocol=ospf –permanent
firewall-cmd –reload
Maintenant, démarrez les démons zebra et ospfd.
# systemctl start zebra
# systemctl start ospfd
Regardez la table de routage sur les deux hôtes en utilisant :
[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
Vous pouvez voir que la table de routage sur Alpha contient une entrée de 10.10.10.0/24 via 192.168.122.50 offert via le protocole zebra . De même, sur l'hôte bêta, la table contient une entrée de réseau 10.12.13.0/24 via 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
Conclusion
Comme vous pouvez le voir, l'installation et la configuration sont relativement simples. Pour ajouter de la complexité, vous pouvez ajouter plus d'interfaces réseau au routeur pour fournir un routage pour plus de réseaux. Vous pouvez également implémenter les protocoles BGP et RIP en utilisant la même méthode.