Routage OSPF avec Zebra sous Linux

29 avril 2012 rdorigny 0 commentaires

On peut tout faire avec Linux. Vous en trouverez un exemple par l'intermédiaire d'un routeur OSPF sous Linux avec l'application Zebra. Zebra est un vieux soft, qui ne semble plus soutenu, mais il est tout à fait remarquable si on regarde ses fonctionnalités. Il permet de transformer un simple PC Linux en routeur OSPF ou BGP!!


1)Rappels sur l'OSPF

Le protocole de routage OSPF (Open Shortest Path First) est dynamique,c'est-à-dire que toute modification, suppression ou ajout de paramétrage sur un routeur est diffusé aux autres routeurs automatiquement.
Le principe de OSPF est complexe : un routeur est élu par les autres (Backup router) ; il est chargé de diffuser la base de données de la topologie réseau. Chaque routeur en déduit sa table de routage par des algorithmes spécialisés. Le routeur recalcule sa table après chaque réception de modification de la base de données.

Le deuxième concept du protocole OSPF est la détection de rupture de lien. OSPF envoie sur ses routeurs voisins un test de disponibilité, le LSA (Link State Announcement), pour déterminer l’état des liens. Le protocole signale les éventuelles pannes aux routeurs voisins par des trames spécialisées d’annonce d’état, et donc de proche en proche les éventuelles pannes sont diffusées.

OSPF est capable automatiquement de :
1. Détecter un problème sur le routeur principal
2. Diffuser l’information aux routeurs voisins
3. Recalculer la route la plus courte
4. Basculer le routage

2)Utilisation de Zebra

Prenons l'exemple ci dessous, d'un firewall linux qui est situé entre deux routeurs qui utilisent le protocole de routage dynamique OSPF.



Il fonctionne comme un routeur filtrant et doit connaitre la topologie réseau, c'est à dire la table de routage. Pour cela, nous allons lui implémenter le protocole OSPF.

Zebra est un logiciel libre GNU qui propose l’implémentation de plusieurs protocoles de routage (RIP, OSPF et BGP) sur linux. Il fonctionne selon une philosophie et un langage de configuration proches des routeurs les plus répandus (CISCO).

On peut installer zebra avec le package fournit par Red-Hat *.rpm.
Pour lancer Zebra faire :
#Chargeur de Zebra
zebra –d
ospfd –d

Zebra dispose d’une interface telnet de configuration accessible via telnet avec les ports suivants:
  • 2600/TCP Serveur Zebra
  • 2601/TCP Zebra vty
  • 2602/TCP Ripd vty
  • 2603/TCP Ripngd vty
  • 2604/TCP OSPFd vty
  • 2605/TCP BGPd vty
  • 2606/TCP OSPF6D vty

La configuration de Zebra pour OSPF se fait par 2 fichiers zebra.conf et ospfd.conf sous /etc/zebra.

Le fichier zebra.conf:
!Fichier de configuration de Zebra pour le routage OSPF de FW1
hostname zebrafw
password xxxxxx
!enable password zebra

!Configuration des interfaces
interface lo
interface eth0
! Reseau WAN
ip address 160.133.101.254/24
!multicast
interface eth1
! Reseau local
ip address 192.168.0.1/24
!multicast

!Definition des routes statiques
ip route 36.122.0.0/21 160.133.101.9
ip route 0.0.0.0/0 160.133.101.10 140
log file /root/fw/log/zebra.log

Le fichier ospfd.conf:
!Fichier de configuration de Zebra pour le routage OSPF de FW1
hostname zebrafw
password xxxxxxx
!enable password zebra

router ospf
ospf router-id 192.168.0.1
!redistribute connected
!redistribute static
network 192.168.0.0/24 area 2.2.2.2
network 160.133.101.0/24 area 2.2.2.2
neighbor 192.168.0.2 priority 1
neighbor 160.133.101.10 priority 2

interface eth1
!ip ospf authentication-key azerty
no ip ospf authentication
ip ospf priority 1
!ip ospf cost 1
ip ospf dead-interval 40
ip ospf retransmit-interval 5
ip ospf hello-interval 10
ip ospf transmit-delay 1
!ip ospf network point-to-multipoint
ip ospf retransmit-interval 5

interface eth0
!ip ospf authentication-key azerty
no ip ospf authentication
ip ospf priority 1
!ip ospf cost 1
ip ospf dead-interval 40
ip ospf retransmit-interval 5
ip ospf hello-interval 10
ip ospf transmit-delay 1
!ip ospf network point-to-multipoint
ip ospf retransmit-interval 5


A noter que la commande pour afficher la table de routage sur un serveur linux est : netstat -rn



Pseudonyme (obligatoire) :
Adresse mail (obligatoire) :
Site web :




© 2024 www.doritique.fr par Robert DORIGNY