[Top] [Contents] [Index] [ ? ]
Traducteur : Pacôme MASSOL (pacome.massol@laposte.net)
Document mis en ligne le : 13/02/2002 - Dernière modification le : 28/01/2003
La traduction de ce document est une initiative personnelle (avec l'assentiment de l'intiateur du projet K. Ishiguro). Elle n'a donc aucun caractère officiel. Pour l'instant, il s'agit d'une traduction partielle (les parties traduites sont indiquées dans le sommaire ci-dessous). N'hésitez pas à me transmettre tout commentaire, encouragement ou erreur de traduction.
Retour à la page d'accueil.


GNU Zebra

Zebra est un routeur logiciel qui supporte des protocoles de routage basés sur TCP/IP. En outre, il permet la configuration des adresses des interfaces réseau et dispose de fonctionnalités de filtrage avancées.

Ceci est le manuel de GNU Zebra pour la version zebra-0.91 [NDT : valable également pour la 0.92]

1. Vue d'ensemble (traduit)  Présentation générale de Zebra
2. Installation (traduit)  Comment installer Zebra ?

La suite Zebra
3. Commandes élémentaires (traduit)  Commandes élémentaires de Zebra
4. zebra (traduit)  Le gestionnaire de routage
5. ripd (traduit)  Un démon pour le protocole RIP
6. ripngd (traduit)  Un démon pour le protocole RIPng
7. ospfd (traduit)  Un démon pour le procotole OSPF
8. ospf6d (traduit)  Un démon pour le protocole OSPF pour IPv6
9. bgpd  Un démon pour le protocole BGP
10. vtysh (traduit)  Un shell intégré

Fonctionnalités additionnelles
11. Filtrage  Comment filtrer les routes ?
12. Route Map  Description des Route Map
13. Support de IPv6  Support de IP version 6
14. Interface avec le noyau  Interface entre le noyau et Zebra
15. Support de SNMP  Support de SNMP

Annexes
A. Le protocole Zebra  
B. Format des paquets  
Index des commandes  Liste de l'ensemble des commandes
Index des touches  Liste de l'ensemble des touches en mode VTY


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. Vue d'ensemble

Zebra est une suite de logiciels qui founit des services de routage basés sur TCP/IP. Zebra supporte des protocoles tels que RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4 et BGP-4+ (voir la section 1.4 RFC supportées). Il supporte également les fonctionnalités de "réflecteur de route" et "serveur de routes" BGP. En plus des traditionnels protocoles de routage IPv4, Zebra prend en charge les protocoles de routage IPv6. Enfin, avec un démon SNMP qui supporte le protocole SMUX, Zebra prend en charge les MIBs pour les protocoles de routage (see section 15. Support de SNMP).

Zebra utilise une architecture logicielle évoluée afin d'offrir un moteur de routage multi-serveur de haut niveau. Zebra a une interface utilisateur interactive pour chaque protocole de routage et propose des commandes communes à partir du client. Du fait de cette architecture, vous pouvez ajouter facilement de nouveaux protocoles à Zebra. Vous pouvez utiliser la librairie Zebra comme interface utilisateur pour vos logiciels clients.

Zebra est un logiciel GNU officiel et est distribué sous la licence GNU General Public License.

1.1 A propos de Zebra  Informations élémentaires sur Zebra
1.2 Architecture système  L'architecture système de Zebra
1.3 Plateformes supportées  Plateformes supportées et perspectives d'évolution
1.4 RFC supportées  RFCs supportées
1.5 Comment se procurer Zebra ?  
1.6 Liste de discussion  La liste de discussion et de diffusion d'informations
1.7 Comment signaler un bug ?  Addresse email pour l'envoi d'informations sur les bugs


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.1 A propos de Zebra

Actuellement, la plupart des réseaux à travers le monde fonctionnenent sous TCP/IP. Internet est accessible dans la plupart des pays, à partir des entreprises ou de chez les particuliers. Quand vous vous connectez à Internet, vos paquets de données transitent par un certain nombre de routeurs qui fonctionnent sous TCP/IP.

Un appareil sous Zebra fonctionne comme un routeur dédié. Avec Zebra, votre machine échange des informations de routage avec les autres routeurs. Zebra utilise ces informations pour mettre à jour les tables de routage du noyau. Ainsi les paquets de données arrivent à la bonne destination. Vous pouvez changer dynamiquement la configuration et vous pouvez visionner le contenu des tables de routage à partir d'un terminal connecté à Zebra.

En plus des fonctionnalités de routage, Zebra permet de configurer certains paramètres des interfaces réseau (l'adresse en particulier), des routes statiques, etc. Si vous avez un petit réseau ou une connexion xDSL, vous pouvez configurer Zebra très facilement : seules quelques manipulations pour activer les interfaces réseau et définir les routes statiques et/ou les routes par défaut seront nécessaires. Si le réseau est plus important ou si sa structure évolue fréquemment, vous pourrez tirer partie des protocoles de routage dynamiques supportés par Zebra comme RIP, OSPF ou BGP. Dans toutes ces situations, Zebra vous accompagnera.

Traditionnellement, la configuration des routeurs sous UNIX passe par les commandes ifconfig et route. La commande netstat affiche l'état des tables de routage. La plupart de ces commandes ne sont accessibles qu'aux utilisateurs ayant le statut d'administrateur. L'administration sous Zebra est conçue diffèremment. Il y a deux modes d'utilisation : le mode "normal" (mode view) et le mode "privilégié" (mode enable). Dans le mode normal, on ne peut que consulter l'état du système mais dans le mode privilégié, on peut modifier la configuration. Cette fonctionnalité indépendante de la gestion des comptes d'UNIX sera très appréciable dans l'administration du routeur.

A l'heure actuelle, Zebra supporte les principaux protocoles de routage unicast. Les protocoles de routage multicast comme BGMP, PIM-SM, PIM-DM seront supportés dans la version 2.0 de Zebra. Le support de MPLS est en cours. Dans le futur, des fonctionnalités comme le filtrage TCP/IP, le contrôle QoS, la configuration diffserv seront ajoutées à Zebra. L'objectif final du projet Zebra est de proposer un routeur TCP/IP logiciel, libre et de qualité.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.2 Architecture système

Les routeurs logiciels sont traditionnellement conçus comme un seul processus qui propose l'ensemble des fonctionnalités de routage. L'approche de Zebra est différente. Il s'agit d'un ensemble de démons qui coopèrent pour construire la table routage. Plusieurs démons de routage correspondant chacun à un protocole particulier peuvent cohabiter et zebra assure la coordination entre ces différents démons.

Les démons ripd, ospfd, bgpd prennent en charge respectivement les protocoles RIP, OSPF version 2 et BGP-4. zebra assure la mise à jour des tables de routage gérées par le noyau et la redistribution des routes entre les différents démons de routage. Cette architecture modulaire facilite l'ajout d'un nouveau démon de routage sans affecter le fonctionnement des autres. Il suffit de lancer le démon associé au protocole dont vous avez besoin. Ainsi, l'utilisateur peut exécuter un démon de routage spécifique qui transmettra les informations de routage vers un point centralisée.

Il n'est pas nécessaire que l'ensemble des démons de routage fonctionnent sur la même machine et une même machine peut exécuter plusieurs fois le même démon de routage. Cette architecture originale offre de nouvelles possibilités pour les systèmes de routage.

 
+----+  +----+  +-----+  +-----+
|bgpd|  |ripd|  |ospfd|  |zebra|
+----+  +----+  +-----+  +-----+
                            |
+---------------------------|--+
|                           v  |
|Table de routage du noyau UNIX|
|                              |
+------------------------------+

    Architecture de Zebra

Une architecture modulaire de ce type facilite l'extension et la maintenance. En contrepartie, cela multiplie les fichiers de configuration et les interfaces de configuration. Chaque démon possède son propre fichier de configuration et son propre terminal virtuel. Par exemple, quand on configure une route statique, il faut travailler sous zebra. Quand on configure un réseau BGP, il faut travailler sous bgpd. Ceci peut paraître fastidieux. C'est pourquoi Zebra propose un shell intégré : vtysh. Il peut se connecter à chaque démon via les sockets UNIX et jouer ainsi le rôle de proxy pour les commandes utilisateur.

Zebra avait été conçu pour fonctionner en mode multi-thread lorsque le noyau supporte ce mécanisme. Mais pour l'instant, les librairies fournies avec GNU/Linux ou FreeBSD ne sont pas encore parfaitement adaptées aux services sensibles comme le routage. C'est pourquoi Zebra n'utilise pas les threads mais les appels système select(2) pour multiplexer les événements.

Quand zebra fonctionnera sous un noyau GNU Hurd, il sera directement responsable de la table de routage. Sous GNU Hurd, tous les services TCP/IP sont fournis par des processus utilisateur dénommés pfinet. Zebra fournira l'ensemble des mécanismes de routage. Cette fonctionnalité sera implémentée lorsque GNU Hurd sera devenu stable.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.3 Plateformes supportées

Actuellement, Zebra fonctionne sous GNU/Linux, BSD et Solaris. Ci-dessous, vous trouverez une liste des versions de ces systèmes sous lesquels Zebra tourne. Porter Zebra vers d'autres plateformes n'est pas très difficile car la seule partie de code dépendante de la plateforme se trouve uniquement dans le démon zebra. Les autres démons sont indépendants de la plateforme. N'hésitez pas à nous informer si Zebra fonctionne sous d'autres plateformes.

Certaines piles IPv6 sont en cours de développement. Zebra supporte les piles indiquées ci-dessous. Pour BSD, la pile IPv6 KAME est recommandée. Pour Solaris, IPv6 n'est pas encore supporté.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4 RFC supportées

La liste ci-dessous indique les RFC supportées à ce jour.

RFC1058
Routing Information Protocol. C.L. Hedrick. Jun-01-1988.

RF2082
RIP-2 MD5 Authentication. F. Baker, R. Atkinson. January 1997.

RFC2453
RIP Version 2. G. Malkin. November 1998.

RFC2080
RIPng for IPv6. G. Malkin, R. Minnear. January 1997.

RFC2328
OSPF Version 2. J. Moy. April 1998.

RFC2740
OSPF for IPv6. R. Coltun, D. Ferguson, J. Moy. December 1999.

RFC1771
A Border Gateway Protocol 4 (BGP-4). Y. Rekhter & T. Li. March 1995.

RFC1965
Autonomous System Confederations for BGP. P. Traina. June 1996.

RFC1997
BGP Communities Attribute. R. Chandra, P. Traina & T. Li. August 1996.

RFC2545
Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing. P. Marques, F. Dupont. March 1999.

RFC2796
BGP Route Reflection An alternative to full mesh IBGP. T. Bates & R. Chandrasekeran. June 1996.

RFC2858
Multiprotocol Extensions for BGP-4. T. Bates, Y. Rekhter, R. Chandra, D. Katz. June 2000.

RFC2842
Capabilities Advertisement with BGP-4. R. Chandra, J. Scudder. May 2000.

Lorsque le support de SNMP est activé, les RFC suivantes sont également supportées :

RFC1227
SNMP MUX protocol and MIB. M.T. Rose. May-01-1991.

RFC1657
Definitions of Managed Objects for the Fourth Version of the Border Gateway Protocol (BGP-4) using SMIv2. S. Willis, J. Burruss, J. Chu, Editor. July 1994.

RFC1724
RIP Version 2 MIB Extension. G. Malkin & F. Baker. November 1994.

RFC1850
OSPF Version 2 Management Information Base. F. Baker, R. Coltun. November 1995.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.5 Comment se procurer Zebra ?

Zebra est toujours en cours de développement et il n'existe pas encore de version définitive officielle. C'est pourquoi vous trouverez la dernière version version béta de Zebra à l'adresse suivante :

ftp://ftp.zebra.org/pub/zebra

Lorsque la version définitive sera distribuée, vous pourrez l'obtenir sur le site FTP (ou les mirroirs) de GNU. Zebra-1.0 sera la première version définitive du logiciel.

Le site web officiel de Zebra est situé à :

http://www.gnu.org/software/zebra/zebra.html.

Le site des béta testeurs de Zebra est situé à :

http://www.zebra.org/.

Vous pouvez obtenir la dernière version béta de Zebra à cette adresse..


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.6 Liste de diffusion

Il existe une liste de discussion sur Zebra. Si vous avez des commentaires ou des suggestions, envoyez un message à : zebra@zebra.org. Toutes les informations, nouvelles, améliorations, notes passent par cette liste.

Pour vous abonner à la liste de discussion, envoyez un message à majordomo@zebra.org avec dans le corps du message :

subscribe zebra

Pour vous désabonner de la liste, envoyez un message à majordomo@zebra.org avec dans le corps du message :

unsubscribe zebra


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.7 Comment signaler un bug ?

Si vous pensez avoir trouvé un bug, merci d'envoyer un message à bug-zebra@gnu.org. Lorsque vous envoyez un message signalant un bug, merci d'inclure les informations suivantes :

Le fait de signaler des bugs est très important pour améliorer la qualité de Zebra. C'est un logiciel encore en développement, c'est pourquoi, n'hésitez pas à les signaler à : bug-zebra@gnu.org.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Installation

Il y a trois étapes pour installer le logiciel : configuration, compilation et installation.

2.1 Configurer le logiciel  
2.2 Compiler le logiciel  
2.3 Installer le logiciel  

La façon la plus simple de rendre Zebra exécutable consiste à saisir les commandes suivantes :

 
% configure
% make
% make install


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 Configurer le logiciel

Zebra possède un script de configuration qui détecte automatiquement la plupart des paramètres de configuration nécessaires pour la machine hôte. Il y a plusieurs options de configuration additionnelles que vous pouvez utiliser pour désactiver le support de IPv6, ne pas compiler certains démons et pour activer le support de SNMP.

'--enable-guile'
Active la compilation de l'interpréteur zebra-guile. Vous aurez besoin de la librairie guile. L'implémentation de zebra-guile n'est pas encore terminée, c'est pourquoi cette option n'est nécessaire qu'aux développeurs.
'--disable-ipv6'
Désactive les fonctionnalités et les démons liés à IPv6. Le script de configuration de Zebra détecte automatiquement la présence d'une pile IPv6. Cependant, vous aurez parfois besoin de désactiver le support de IPv6.
'--disable-zebra'
Ne pas compiler le démon zebra.
'--disable-ripd'
Ne pas compiler le démon ripd.
'--disable-ripngd'
Ne pas compiler le démon ripngd.
'--disable-ospfd'
Ne pas compiler le démon ospfd.
'--disable-ospf6d'
Ne pas compiler le démon ospf6d.
'--disable-bgpd'
Ne pas compiler le démon bgpd.
'--disable-bgp-announce'
Compiler bgpd sans la fonctionnalité d'annonce BGP. Cette option convient pour utiliser bgpd comme listener d'annonces BGP.
'--enable-netlink'
Force l'activation de l'interface netlink GNU/linux. Le script de configuration de Zebra détecte les interfaces netlink en contrôlant un fichier header. Si ce fichier ne correspond pas au noyau en cours d'exécution, le script désactive le support de netlink.
'--enable-snmp'
Active le support de SNMP. Par défaut, le support de SNMP est désactivé.

Vous pouvez spécifier toutes combinaisons de ces options. Par défaut, les exécutables seront placés dans '/usr/local/sbin' et les fichiers de configuration dans '/usr/local/etc'. Le préfixe d'installation '/usr/local/' et les autres répertoires peuvent être changés en utilisant les options suivantes avec le script de configuration :

'--prefix=prefix'
Installe les fichiers indépendants de l'architecture dans prefix [/usr/local].
'--sysconfdir=dir'
Les modèles de fichiers de configuration seront placés dans dir [prefix/etc].

Il existe plusieurs options qui ne sont utilisables que sur les systèmes GNU/Linux : (1).

Cette commande configurera zebra et les démons de routage pour la compilation :
 
% ./configure --disable-ipv6


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 Compiler le logiciel

Après avoir configuré le logiciel, vous devrez le compiler pour votre système. Tapez simplement la commande make à la racine des répertoires contenant les sources et le logiciel sera compilé. Pour *tous* les problèmes que vous rencontrerez à cette étape, n'hésitez pas à le signaler (voir section 1.7 Comment signaler un bug ?).

 
% ./configure
.
.
.
./configure output
.
.
.
% make


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3 Installer le logiciel

L'installation du logiciel sur votre système consiste à copier les fichiers compilés et les fichiers d'aide vers des répertoires prédéterminés. A la fin du processus d'installation, ces fichiers ont été copiés de votre répertoire de travail vers '/usr/local/bin' et '/usr/local/etc'.

Pour installer la suite Zebra, tapez la commande suivante :

 
%
% make install
%

Chaque démon de Zebra possède sa propre interface de commande. Après l'installation, vous devez spécifier le numéro de port qui permet la connexion à chaque démon. Ajoutez les lignes suivantes au fichier '/etc/services' :

 
zebrasrv      2600/tcp		  # zebra service
zebra         2601/tcp		  # zebra vty
ripd          2602/tcp		  # RIPd vty
ripngd        2603/tcp		  # RIPngd vty
ospfd         2604/tcp		  # OSPFd vty
bgpd          2605/tcp		  # BGPd vty
ospf6d        2606/tcp		  # OSPF6d vty

Si vous utilisez un FreeBSD supérieur à la 2.2.8, ces lignes figurent déjà dans '/etc/services'. Il est donc inutile de les ajouter. Si vous spécifiez le numéro de port lors du lancement du démon, il est également inutile d'ajouter ces lignes.

Vous aurez peut-être besoin de modifier les fichiers de configuration '/usr/local/etc/*.conf'. Dans ce cas, reportez-vous à la section 3.1 Commandes de configuration.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. Commandes élémentaires

Il y a cinq démons de routage utilisables et un démon gestionnaire de l'ensemble. Ces démons peuvent fonctionner sur des machines différentes du démon gestionnaire. Chaque démon écoute sur un port particulier pour répondre aux demandes de connexion à partir d'un terminal virtuel (VTY). Les démons de routage sont :

Les sections ci-dessous présentent les commandes communes à l'ensemble des démons de routage.

3.1 Commandes de configuration  Commandes utilisées dans les fichiers de configuration
3.2 Options communes de démarrage  Démarrage des démons
3.3 L'interface de commande en mode VTY  Dialogue avec les démons


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 Commandes de configuration

3.1.1 Commandes de base pour la configuration  Quelques commandes de configuration indispensables
3.1.2 Fichier de configuration modèle  Un exemple de fichier de configuration

Les fichiers de configuration servent à définir des options de débogage, un mot de passe pour le mode VTY, des options de configuration des démons, le nom d'un fichier journal, etc. Ce fichier sera lu au démarrage par le démon et constituera sa configuration initiale.

Généralement, les fichiers de configuration sont placés dans :

Chaque démon a son propre fichier de configuration. Par exemple, le nom du fichier de configuration par défaut pour zebra est :

Le nom du démon suivi de '.conf' est considéré comme le nom par défaut du fichier de configuration. Vous pouvez spécifier un autre nom de fichier en utilisant les options -f ou --config-file au lancement du démon.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.1 Commandes de base pour la configuration

Commande: hostname nom_hôte {}
Définit le nom du routeur.

Commande: password mot_de_passe {}
Définit le mot de passe pour accéder à l'interface du VTY. Si aucun mot de passe n'est défini, l'accès au terminal de configuration vous sera refusé.

Commande: enable password mot_de_passe {}
Définit le mot de passe du mode privilégié (enable).

Commande: log stdout {}
 
Commande: no log stdout {}
Active ou désactive l'affichage du journal (log) sur la sortie standard (stdout).

Commande: log file filename {}
Si vous voulez rediriger le journal (log) vers le fichier filename, utilisez la commande suivante :
 
log file /usr/local/etc/bgpd.log

Commande: log syslog {}
 
Commande: no log syslog {}
Active ou désactive l'affichage du journal (log) vers syslog.

Commande: write terminal {}
Affiche la configuration actuelle sur le terminal.

Commande: write file {}
Ecrit la configuration actuelle dans le fichier de configuration.

Commande: configure terminal {}
Passe dans le mode configuration. Cette commande est un préalable à toute configuration.

Commande: terminal length <0-512> {}
Définit la largeur de l'affichage du terminal. L'intervalle possible est <0-512>. Si la longueur est 0, aucun affichage ne sera réalisé.

Commande: who {}

Commande: list {}
Liste contextuelle des commandes disponibles.

Commande: service password-encryption {}
Crypte les mots de passe.

Commande: service advanced-vty {}
Active le mode VTY avancé. [NDT : cette commande semble sans effet.]

Commande: service terminal-length <0-512> {}
Définit la largeur d'affichage de l'ensemble des terminaux virtuels.

Commande: show version {}
Affiche la version actuelle de Zebra ainsi que des informations sur la machine où il a été compilé.

Commande: line vty {}
Entre dans le mode de configuration du terminal.

Commande: banner motd default {}
Autorise l'affichage du message d'accueil par défaut.

Commande: no banner motd {}
Aucun message d'accueil ne sera affiché.

Line Command: exec-timeout minutes {}
 
Line Command: exec-timeout minutes secondes {}
Définit la durée d'inactivité au bout de laquelle la connexion avec le terminal virtuel sera rompue. Avec un seul argument, le timeout est considéré en minutes. Le deuxième argument optionnel permet de définir des secondes. Par défaut, le délai est fixé à 10 minutes. La valeur 0 permet de désactiver cette fonctionnalité.

Line Command: no exec-timeout {}
Désactive la fonction de timeout. Commande équivalente à exec-timeout 0 0.

Line Command: access-class access-list {}
Restreint l'accès au terminal virtuel avec une liste d'accès.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.2 Modèle de fichier de configuration

Ci-dessous, vous trouverez un modèle de fichier de configuration pour le démon zebra.

 
!
! Zebra configuration file
!
hostname Router
password zebra
enable password zebra
!
log stdout
!
!

Les caractères '!' et '#' permettent de saisir un commentaire. Si le premier caractère d'un mot commence par l'un de ces deux symboles, le reste de la ligne sera ignoré car considéré comme un commentaire. Dans l'exemple ci-dessous, le '!' ne sera pas considéré comme un commentaire puisque ce n'est pas le premier caractère d'un mot :

 
password zebra!password


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Options communes de démarrage

Ces options concernent l'ensemble des démons du paquetage Zebra :

'-d'
'--daemon'
Lancement en tant que démon.

'-f file'
'--config_file=file'
Définit le nom du fichier de configuration.

'-h'
'--help'
Affiche l'aide puis se termine.

'-P port'
'--vty_port=port'
Définit le port du terminal virtuel.

'-v'
'--version'
Affiche la version du programme.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Interface de commande du VTY

Le terminal virtuel (VTY pour Virtual Terminal [aka TeletYpe]) est un interpréteur de commande. Il permet à l'utilisateur de saisir des commandes à destination des démons de routage.

3.3.1 Vue d'ensemble du VTY  L'essentiel sur les VTYs
3.3.2 Différents Modes VTY  Définition des modes VTY View, Enable et Other
3.3.3 Utilisation du clavier dans le VTY  Touches de déplacement, d'édition et de gestion des commandes


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.1 Vue d'ensemble du VTY

VTY est l'acronyme de Virtual TeletYpe. Cela signifie que vous pouvez vous connecter aux démons via telnet.

Pour activer le VTY, vous devez avoir defini un mot de passe. Si ce n'est pas le cas, toute connexion au démon vous sera refusée.

 
% telnet localhost 2601
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Hello, this is zebra (version 0.91)
Copyright 1997-2000 Kunihiro Ishiguro


User Access Verification

Password: XXXXX
Router> ?
  enable            Turn on privileged commands
  exit              Exit current mode and down to previous mode
  help              Description of the interactive help system
  list              Print command list
  show              Show running system information
  who               Display who is on a vty
Router> enable
Password: XXXXX
Router# configure terminal
Router(config)# interface eth0
Router(config-if)# ip address 10.0.0.1/8
Router(config-if)# ^Z
Router#

La commande '?' est très utile. Elle vous permet à tout moment de connaître les commandes que vous pouvez saisir.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.2 Les différents modes VTY

Le terminal virtuel peut se trouver dans un de ces trois modes :

3.3.2.1 Mode VTY "View"  Mode limité à la consultation
3.3.2.2 Mode VTY "Enable"  Mode permettant la configuration
3.3.2.3 Autre modes VTY  Modes spéciaux(tftp, etc.)

Selon le mode dans lequel se trouve le terminal, certaines commandes ne sont pas accessibles.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.2.1 Mode VTY "View"

C'est un mode de consultation. Vous vous trouvez dans ce mode après la phase de connexion. Vous pouvez en sortir de deux façons : soit en quittant le système soit en entrant dans le mode privilégié via la commande enable.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.2.2 Mode VTY "Enable"

Le mode privilégié permet la configuration. Vous pouvez en sortir de deux façons : soit en quittant le système soit en retournant au mode View.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.2.3 Autres modes VTY

Ce paragraphe décrira les autres modes...


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.3 Utilisation du clavier dans le VTY

Les touches de clavier utilisables dans l'interpréteur de commandes sont décrites dans ces trois paragraphes :

3.3.3.1 Touches de déplacement  Touches pour le déplacement du curseur
3.3.3.2 Touches d'édition  Touches pour la modification du texte
3.3.3.3 Autre touches  Gestion de la session, etc.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.3.1 Touches de déplacement

Ces touches sont utilisées pour se déplacer à l'intérieur de l'interpréteur de commande. Le symbole C correspond à la touche CTRL. Le symbole M correspond à la touche ALT.

C-f
FLECHE DROIT
Se déplacer d'une position vers la droite.

C-b
FLECHE GAUCHE
Se déplacer d'une position vers la gauche.

M-f
Se déplacer d'un mot à droite.

M-b
Se déplacer d'un mot à gauche.

C-a
Se placer au début de la ligne.

C-e
Se placer à la fin de la ligne.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.3.2 Touches d'édition

Ces touches sont utilisées pour éditer le texte sur la ligne. Le symbole C correspond à la touche CTRL. Le symbole M correspond à la touche ALT.

C-h
BACKSPACE
Efface le caractère avant le curseur.

C-d
Efface le caractère sous le curseur.

M-d
Supprime du curseur jusqu'à la fin du mot.

C-w
Supprime du début du mot jusqu'au curseur.

C-k
Supprime jusqu'à la fin de la ligne.

C-u
Supprime toute la ligne.

C-t
Intervertit deux caractères.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.3.3 Autres touches

Des commandes additionnelles permettent de compléter la ligne de commande en fonction des premiers caractères saisis, d'obtenir de l'aide et de gérer la session de travail.

C-c
Interrompt la saisie en cours et passe à la ligne.

C-z
Interrompt la session de configuration et quitte le mode VTY actuel pour le précédent.

C-n
FLECHE BAS
Parcours vers le bas l'historique des commandes saisies pendant la session.

C-p
FLECHE HAUT
Parcours vers le haut l'historique des commandes saisies pendant la session.

TAB
Commande très utile. Elle permet de compléter automatiquement la commande en cours de saisie.

L'aide en ligne est accessible en tapant la commande help sur une ligne vierge. Si vous appuyez sur la touche ? à la suite d'une commande, vous obtiendrez les différents paramètres qui permettent de compléter cette commande.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. zebra

zebra coordonne le routage IP. Il met à jour les tables de routage du noyau, permet la consultation de l'état des interfaces réseau et redistribue les routes entre les différents protocoles de routage.

4.1 Lancement de zebra  Options au démarrage de zebra
4.2 Commandes relatives aux interfaces réseau  Commandes pour la gestion des interfaces
4.3 Commandes relatives aux routes statiques  Commandes pour ajouter des routes statiques
4.4 Autres commandes en mode terminal  Commands for zebra's VTY


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1 Lancement de zebra

En plus des options communes à tous les démons (voir section 3.2 Options communes de démarrage), zebra possède les options spécifiques listées ci-dessous :

'-b'
'--batch'
zebra interprète le fichier de configuration et s'arrête immédiatement.

'-k'
'--keep_kernel'
Au démarrage, zebra conserve les routes dèjà insérées dans la table de routage du noyau.

'-l'
'--log_mode'
Génère un journal détaillé.

'-r'
'--retain'
Lorsque zebra se termine, les routes ajoutées par zebraseront conservées.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2 Commandes relatives aux interfaces réseau

Commande: interface nom_if {}
Entre dans le mode de configuration de l'interface nom_if.

Commande interface: shutdown {}
 
Commande interface: no shutdown {}
Active ou désactive l'interface réseau en cours de configuration.

Commande interface: ip address addresse {}
Définit l'addresse ip de l'interface. [NDT : adresse au format A.B.C.D/M avec M indiquant la longueur du masque en nombre de bits].

Commande interface: description description ... {}
Définit un commentaire pour l'interface.

Commande interface: multicast {}
 
Commande interface: no multicast {}
Active ou désactive le multicast sur cette interface.

Commande interface: bandwidth <1-10000000> {}
 
Commande interface: no bandwidth <1-10000000> {}
Définit la "bande passante" pour l'interface. Cette valeur est utilisée par OSPF pour calculer le coût d'une route. Cette commande ne modifie pas le débit actuel de l'interface.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3 Commandes relatives aux routes statiques

La route statique est un concept fondamental du routage. Grâce à ce mécanisme, on définit les adresses des réseaux que l'on veut joindre ainsi que les interfaces du routeur qui permettent d'atteindre ces réseaux.

Commande: ip route réseau passerelle {}
réseau correspond à l'adresse IP du réseau destination. Elle doit être indiquée au format A.B.C.D/M (M indique le nombre de bits du masque). passerelle est le moyen d'atteindre réseau. Lorsque passerelle est au format A.B.C.D, on considère qu'il s'agit d'une adresse IPv4. Autrement, on considère qu'il s'agit du nom d'une interface.

 
ip route 10.0.0.0/8 10.0.0.2
ip route 10.0.0.0/8 ppp0

Le premier exemple définit une route statique vers le réseau 10.0.0.0/8 via le routeur d'adresse 10.0.0.2, le second définit la même route mais via l'interface ppp0.

Commande: ip route réseau masque passerelle {}
Cette commande est une alternative à la précédente. Ici, le masque réseau peut être défini au format A.B.C.D.

 
ip route 10.0.0.0 255.255.255.0 10.0.0.2
ip route 10.0.0.0 255.255.255.0 ppp0

Contrairement à l'exemple précédent, on a défini le masque de réseau sur 3 octets.

Définition de routes statiques multiples vers une destination unique :

 
ip route 10.0.0.1/32 10.0.0.2
ip route 10.0.0.1/32 10.0.0.3
ip route 10.0.0.1/32 eth0

Si l'interface eth0 est active mais que les routeurs 10.0.0.2 et 10.0.0.3 ne sont pas joignables, seule la dernière route sera activée dans le noyau.

 
zebra> show ip route
S>  10.0.0.1/32 [1/0] via 10.0.0.2 inactive
                      via 10.0.0.3 inactive
  *                   is directly connected, eth0

Ce mécanisme est connu sous le nom de "route statique flottante".

Commande: ip route réseau passerelle distance {}
[NDT : cette commande permet de définir manuellement le "coût" d'une route. L'intervalle de valeurs pour distance est compris entre 1 (valeur par défaut) et 255. On utilise ce paramètre lorsque plusieurs routes statiques mènent vers un même réseau. La route avec la distance la plus faible sera privilégiée par le routeur. L'administrateur affectera à distance la signification qu'il désire. Classiquement, on indique le nombre de routeurs à traverser pour atteindre network (d'où la notion de distance). Mais rien n'empêche d'utiliser un autre critère (débit, coût de la communication, ...)]

Commande: ipv6 route réseau passerelle {}

Commande: ipv6 route réseau passerelle distance {}

Commande: table num_table {}
Sélectionne la table de routage du noyau à utiliser. Ceci ne fonctionne que sur les noyaux qui supportent plusieurs tables de routage (comme GNU/Linux 2.2.x et suivantes). Après avoir choisi num_table avec cette commande, les routes statiques seront ajoutées à la table spécifiée.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.4 Autres commandes en mode terminal

Command: show ip route {}
Affiche les routes actuellement définies dans la base de données de zebra.

 
Router# show ip route 
Codes: K - kernel route, C - connected, S - static, R - RIP, 
       B - BGP * - FIB route.

K* 0.0.0.0/0              203.181.89.241
S  0.0.0.0/0              203.181.89.1
C* 127.0.0.0/8            lo
C* 203.181.89.240/28      eth0

Command: show ipv6 route {}
Idem à la commande ci-dessus mais pour IPv6.

Command: show interface {}
Affiche l'état des interfaces du routeur.

Command: show ipforward {}
Indique si la fonction "IP forwarding" est activée. Sur la plupart des noyaux, on peut la désactiver et si c'est le cas, le routage ne pourra pas fonctionner.

Command: show ipv6forward {}
Idem à la commande ci-dessus mais pour IPv6.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. ripd

RIP (Routing Information Protocol) est largement répandu parmi les protocoles IGP (Interior Gateway Protocol). Il a été développé dans les années 70 par Xerox est fait partie du protocole de routage XNS. RIP est un protcole à vecteur de distance basé sur les algorithmes de Bellman-Ford. Un routeur RIP envoie ses tables de routage périodiquement à ses voisins. Ainsi, en cas d'un changement de topologie (panne d'une ligne par exemple), l'information se propage et une convergence s'opère automatiquement entre les différents routeurs RIP du réseau. RIP étant un protocole à vecteur de distance, le routeur expédie à ses voisins la distance qu'il a calculé pour atteindre les réseaux présents dans sa table de routage.

[NDT : RIP est un protocole de routage dit "adaptatif". On parle de routage dynamique car il propage ses tables de routage ainsi que des informations sur les changements de topologie.]

ripd supporte RIP version 2 conforme à la RFC2453 et RIP version 1 conforme à la RFC1058.

5.1 Arrêt et démarrage de ripd  
5.2 Configuration de RIP  
5.3 Comment diffuser les routes avec RIP ?  
5.4 Filtrer les routes RIP  
5.5 Utilisation de la métrique RIP  
5.6 Notion de distance avec RIP  
5.7 Notion de route-map avec RIP  
5.8 Authentification avec RIP  
5.9 Les temporisateurs RIP  
5.10 Afficher les informations concernant RIP  
5.11 Débogage de RIP  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.1 Arrêt et démarrage de ripd

Le nom du fichier de configuration par défaut de ripd est 'ripd.conf'. Lors de son lancement, ripd le cherche dans le répertoire '/usr/local/etc'. Si 'ripd.conf' est absent, alors il cherche dans le répertoire courant.

RIP utilise le port UDP 521 pour envoyer et recevoir les paquets RIP. Le protocole RIP a besoin des informations sur les interfaces gérées par le démon zebra, c'est pourquoi il est indispensable à ripd. Ainsi, les commandes minimales pour activer RIP sont :

 
# zebra -d
# ripd -d

Notez bien que zebra doit être lancé AVANT ripd.

Pour arrêter ripd, utilisez la commande kill 'cat /var/run/ripd.pid'. Certains signaux ont une signification particulière pour ripd.

'SIGHUP'
Recharger le fichier de configuration 'ripd.conf'. Toute la configuration sera réinitialisée. Toutes les routes définies dynamiquement par RIP seront retirées de la table de routage.
'SIGUSR1'
Opère une "rotation" des fichiers journaux de ripd.
'SIGINT'
'SIGTERM'
ripd efface toutes les routes définies dynamiquement par RIP et s'arrête proprement.

En plus des options communes à tous les démons (voir section 3.2 Options communes de démarrage), ripd possède l'option spécifique suivante :

'-r'
'--retain'
Retenir les routes ajoutées par ripd lorsque le démon se termine.

5.1.1 RIP netmask  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.1.1 Masque réseau et RIP

ripd supporte les versions 1 et 2 de RIP ainsi que les masques de sous-réseau. A l'origine, RIP v1 ne véhiculait pas d'information sur les masques réseau. Le masque était uniquement déterminé à partir de la classe de l'adresse. Lorsque l'adresse était de classe A, la longueur du masque était de 8 bits, pour une classe B, il était de 16 et de 24 pour une classe C. Aujourd'hui, la méthode la plus répandue consiste à associer un masque à l'interface. Ce masque est utilisé pour chaque paquet reçu. RIP v2 supporte les masques à taille variable (VLSM : Variable Length Subnet Mask). En étendant le masque réseau par défaut, on peut décomposer l'adresse réseau en sous-réseaux à partir d'une adresse IP unique. Ceci facilite l'administration de réseaux de taille importante ou qui intègrent plusieurs segments LANs et WANs.

Note : ripd ne supporte pas les masques réseau non séquentiels inclus dans RIP v2.

Si ripd reçoit une mise à jour qui intègre une adresse réseau et une métrique déjà connue, l'ancienne information sera remplacée.

Note : pour l'instant, ripd ne supporte pas les routes multiples vers la même destination avec la même métrique.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.2 Configuration de RIP

Commande: router rip {}
Cette commande active le routeur RIP. Pour le désactiver, utilisez la commande no router rip. Le routeur RIP doit être activé avant toute configuration de routage.

Commande: no router rip {}
Désactive RIP.

RIP peut être configuré pour traiter les paquets version 1 ou 2, le mode par défaut étant la version 2 lorsque rien n'est spécifié. Si RIP est forcé sur version 1 (voir commande version), le paramétrage "Version 1" sera indiqué. Par contre, le paramétrage "Version 2" ne sera jamais indiqué, qu'il soit forcé ou non.

Commande RIP: network réseau {}
 
Commande RIP: no network réseau {}
Cette commande active ou désactive le routage RIP sur les interfaces dont l'adresse réseau correspond au préfixe qui a été indiqué. Par exemple, après la commande network 10.0.0.0/24, RIP sera activé sur toutes les interfaces du routeur dont les adresses IP sont comprises entre 10.0.0.0 et 10.0.0.255. La commande no network désactive la commande précédente.

Commande RIP: network nom_if {}
 
Commande RIP: no network nom_if {}
Cette commande active ou désactive RIP sur l'interface nom_if spécifiée. Comme pour la commande précédente, la réception et la transmission de paquets RIP seront activées. La commande no network nom_if désactive RIP sur l'interface nom_if.

Commande RIP: neighbor adresse {}
 
Commande RIP: no neighbor adresse {}
Indique à RIP l'adresse d'un routeur voisin qui ne supporte pas le multicast. Cette commande peut être utile car RIP utilise des adresses de groupe (adresses multicast) pour transmettre ses informations de routage à ses voisins. Cette commande permet à l'administrateur d'établir un lien direct avec un routeur et de le considérer comme un routeur RIP. La commande no neighbor adresse désactive l'appareil d'adresse A.B.C.D comme routeur RIP.

Ci-dessous se trouve une configuration RIP très simple. RIP est activé sur l'interface eth0 et sur les interfaces dont l'adresse réseau correspond avec le préfixe 10.0.0.0/8.

 
!
router rip
 network 10.0.0.0/8
 network eth0
!
[NDT : il faut également indiquer quelles sont les routes à redistribuer (voir 5.3)]

Déclaration d'une interface passive :

Commande RIP: passive-interface nom_if {}
 
Commande RIP: no passive-interface nom_if {}
Cette commande passe l'interface spécifiée en mode "passif". Dans ce mode, les paquets RIP reçus sont considérés comme des paquets "normaux". Le routeur ne les utilise pas pour mettre à jour sa table de routage. ripd n'expédie plus de paquets multicast ou unicast sauf si des voisins RIP ont été définis par la commande neighbor.

Gestion des versions du protocole RIP :

Commande RIP : version version {}
Définir la version de RIP supportée par le routeur. version peut être "1" ou "2".

Commande interface : ip rip send version version {}
version peut être '1', '2' ou '1 2'. Cette configuration propre à l'interface l'emporte sur la version de RIP définie au niveau du routeur par version. Suivant le cas, des paquets RIP v1 et/ou v2 pourront être émis sur cette interface. Si '1 2' est spécifié, les paquets RIP pourront être émis à la fois sous forme de broadcast et de multicast.

Commande interface : ip rip receive version version {}
Suivant le cas, des paquets RIP v1 et/ou v2 seront acceptés sur cette interface.

Gestion du "clivage d'horizon" (split horizon) :

Commande interface : ip split-horizon {}
 
Commande interface : no ip split-horizon {}
Contrôle le "split-horizon" sur l'interface. La configuration par défaut est ip split-horizon. La commande no ip split-horizon permet de désactiver cette fonction. [NDT : le split horizon évite que des boucles infinies ne se créent lors de la diffusion de routes.]


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.3 Comment diffuser les routes avec RIP ?

[NDT : la commande redistribute indique quels types de routes seront intégrés à la table de routage gérée par RIP et donc susceptibles d'être diffusés.]

Commande RIP : redistribute kernel {}
 
Commande RIP : redistribute kernel metric <0-16> {}
 
Commande RIP : redistribute kernel route-map route-map {}
 
Commande RIP : no redistribute kernel {}
La commande redistribute kernel redistribue les informations de routage détenues par le noyau vers la table de routage RIP. La commande no redistribute kernel désactive cette redistribution.

Commande RIP : redistribute static {}
 
Commande RIP : redistribute static metric <0-16> {}
 
Commande RIP : redistribute static route-map route-map {}
 
Commande RIP : no redistribute static {}
La commande redistribute static redistribue les informations de routage statiques vers la table de routage RIP. La commande no redistribute static désactive cette redistribution.

Commande RIP : redistribute connected {}
 
Commande RIP : redistribute connected metric <0-16> {}
 
Commande RIP : redistribute connected route-map route-map {}
 
Commande RIP : no redistribute connected {}
Redistribue les routes de type "connecté" [NDT : adresses réseau déduites de l'adresse IP des interfaces physiquement installées dans le routeur] vers la table de routage RIP.

Commande RIP : redistribute ospf {}
 
Commande RIP : redistribute ospf metric <0-16> {}
 
Commande RIP : redistribute ospf route-map route-map {}
 
Commande RIP : no redistribute ospf {}
La commande redistribute ospf redistribue les informations de routage en provenance de OSPF dans les tables de routage RIP.

Commande RIP : redistribute bgp {}
 
Commande RIP : redistribute bgp metric <0-16> {}
 
Commande RIP : redistribute bgp route-map route-map {}
 
Commande RIP : no redistribute bgp {}
La commande redistribute bgp redistribue les informations de routage en provenance de BGP dans les tables de routage RIP

Commande RIP : default-information originate {}
Autorise la diffusion des routes par défaut.

Vous pouvez indiquer des routes statiques directement dans RIP :

Commande RIP : route a.b.c.d/m {}
 
Commande RIP : no route a.b.c.d/m {}
Cette commande est spécifique à Zebra. La commande route crée une route statique utilisée uniquement par RIP. Cette commande ne devrait être utilisée que par de fins connaisseurs de RIP. Dans la plupart des cas, il est recommandé de créer une route statique dans zebra puis de la redistribuer dans RIP avec un redistribute static.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.4 Filtrer les routes RIP

Les routes RIP peuvent être filtrées par une liste de distribution (distribute-list).

Commande RIP : distribute-list access_list direct nom_if {}
La commande distribute-list permet d'appliquer une liste d'accès à une interface. access_list est le nom de la liste d'accès. direct est soit 'in' pour les paquets entrants, soit 'out' pour les paquets sortants. Cette commande permet de filtrer la constitution de la table de routage ou la diffusion de routes.

Par exemple, dans la configuration ci-dessous, seule la route 10.0.0.0/8 entrant par l'interface 'eth0' sera intégrée à la table de routage :

 
!
router rip
 distribute-list private in eth0
!
access-list private permit 10 10.0.0.0/8
access-list private deny any
!

La commande distribute-list peut être appliquée à la fois sur les flux entrants et sortants.

Commande RIP : distribute-list prefix prefix_list direct nom_if {}
Idem à la commande précédente, on indique une liste de préfixes (prefix-list) à la place de la liste d'accès.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.5 Utilisation de la métrique RIP

La métrique utilisée par RIP représente la distance [NDT : nombre de routeurs traversés, également appelée "saut" ou "hop"] pour atteindre un réseau. Par défaut, ripd ajoute 1 la métrique des routes reçues dynamiquement. La métrique des routes "redistribuées" (voir section 5.3 Comment diffuser les routes avec RIP ?) est initialisée à 1 par défaut.

[NDT : cette métrique est différente de la notion de distance (voir paragraphe suivant) : lorsque la métrique d'une route atteint 16, RIP ne diffuse plus d'information sur cette route à ses voisins.]

Commande RIP : default-metric <1-16> {}
 
Commande RIP : no default-metric <1-16> {}
Cette commande modifie la valeur par défaut (égale à 1) de la métrique affectée aux routes redistribuées. Cette commande n'affecte pas les routes de type "connecté" même si elles sont redistribuées par redistribute connected. Pour modifier cette métrique, utilisez les commandes redistribute connected metric ou route-map.

La commande offset-list permet également de modifier la métrique :
Commande RIP : offset-list access-list (in|out) {}
 
Commande RIP : offset-list access-list (in|out) nom_if {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.6 Notion de distance avec RIP

La notion de distance est utilisée par le démon zebra. Par défaut, la distance des routes découvertes par RIP est de 120.

[NDT : il s'agit de la distance administrative. Elle permet de ne conserver dans la table de routage qu'une entrée lorsque le routeur reçoit des routes identiques par différents protocoles. Chaque protocole a une "distance" par défaut (0 pour les réseaux connectés, 1 pour les routes statiques, 110 pour OSPF, 120 pour RIP, etc.). Le démon zebra ne conserve que la route provenant du protocole dont la distance administrative est la plus faible.]

Commande RIP : distance <1-255> {}
 
Commande RIP : no distance <1-255> {}
Définit la valeur par défaut de la distance administrative de RIP.

Commande RIP : distance <1-255> adresse {}
 
Commande RIP : no distance <1-255> adresse {}
Définit la valeur par défaut de la distance administrative de RIP lorsque l'adresse du routeur à l'origine de cette route coïncide avec le préfixe spécifié au format a.b.c.d/m.

Commande RIP : distance <1-255> adresse access-list {}
 
Commande RIP : no distance <1-255> adresse access-list {}
Définit la valeur par défaut de la distance administrative RIP lorsque l'adresse du routeur à l'origine de cette route coïncide avec le préfixe spécifié au format a.b.c.d/m et à la liste d'accès spécifiés.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.7 Notion de route-map avec RIP

Ce paragraphe présente le mode d'emploi de la fonctionnalité route-map avec ripd.

L'argument optionnel route-map MAP_NAME peut être ajouté aux commandes redistribute.

 
redistribute static [route-map MAP_NAME]
redistribute connected [route-map MAP_NAME]
...

Cisco applique les route-map avant que les routes ne soient exportées dans la table de routage de RIP. Dans la version actuelle de Zebra, ripd applique les route-map après que les routes aient été intégrées à la table de routage mais avant que les routes ne soient diffusées. Ceci est une ébauche qui devrait évoluer dans les versions futures.

La commande route-map (voir section 12. Route Map) est nécessaire pour activer cette fonctionnalité sur le routeur.

Commande match :

Commande route-map : match metric n
Vérifie si la métrique de la route correspond à n.

Commande route-map : match ip address access-list
Vérifie si la route de destination est validée par la liste d'accès.

Commande route-map : match ip next-hop adresse
Vérifie si la route possède comme adresse de "prochain saut" (next-hop indiqué par un show ip rip) l'adresse spécifiée.

Commande route-map : match interface nom_if
ripd n'autorise pour l'instant qu'un seul nom d'interface, il s'agit du nom de l'interface sur laquelle le paquet sera envoyé.

Comande set:

Commande route-map : set metric <0-4294967295>
Définit une métrique pour les routes répondant aux critères lors de leur diffusion. La plage de valeur est très importante pour permettre une compatibilité avec d'autres protocoles. Pour RIP, l'intervalle valide est de 1 à 16.

Commande route-map : set next-hop adresse
Définit l'adresse du "prochain saut".


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.8 Authentification RIP

[NDT : ces commandes permettent de mettre en place sur une interface un mécanisme d'authentifcation de routeur RIP à routeur RIP.]

Commande interface : ip rip authentication mode text {}
 
Commande interface : no ip rip authentication mode text {}
Active ou désactive la méthode d'authentification "simple" pour RIPv2 sur l'interface. [NDT : le mot de passe circule en clair !]

Commande interface : ip rip authentication string chaîne {}
 
Commande interface : no ip rip authentication string chaîne {}
Cette commande permet de définir la chaîne d'authentification utilisée dans la méthode "simple" pour RIPv2. La taille de la chaîne ne doit pas dépasser 16 caractères.

Commande interface : ip rip authentication mode md5 {}
 
Commande interface : no ip rip authentication mode md5 {}
Active ou désactive la méthode d'authentification MD5 pour RIPv2 sur l'interface. [NDT : mot de passe crypté, ouf !]

Commande interface : ip rip authentication key-chain key-chain {}
 
Commande interface : no ip rip authentication key-chain key-chain {}
Specifie la clé MD5.

 
!
key chain test
 key 1
  key-string test
!
interface eth1
 ip rip authentication mode md5
 ip rip authentication key-chain test
!


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.9 Les temporisateurs RIP

Commande RIP : timers basic update timeout garbage {}

Le protocole RIP fonctionne avec différents temporisateurs (timers). L'administrateur peut les configurer avec la commande timers basic.

Le paramétrage par défaut est le suivant :

La commande timers basic permet de modifier les valeurs par défaut citées ci-dessus.

Commande RIP : no timers basic {}
Cette commande restaure les valeurs par défaut.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.10 Afficher les informations concernant RIP

Commandes pour afficher les routes connues de ripd.

Commande : show ip rip {}
Cette commande affiche toutes les routes connues par ripd. Pour les routes qui ont été reçues via RIP, la commande affiche l'heure à laquelle le paquet a été reçu ainsi qu'un résumé. Cette commande affiche également les routes qui ont été redistribuées dans RIP.

Commande : show ip protocols {}
Cette commande affiche l'état actuel de RIP. Cela inclut les différents timers gérés par RIP, les informations sur le filtrage, la version du protocole, les interfaces sur lesquelles RIP est activé ainsi que des informations sur les routeurs voisins.

 
ripd> show ip protocols
Routing Protocol is "rip"
  Sending updates every 30 seconds with +/-50%, next due in 35 seconds
  Timeout after 180 seconds, garbage collect after 120 seconds
  Outgoing update filter list for all interface is not set
  Incoming update filter list for all interface is not set
  Default redistribution metric is 1
  Redistributing: kernel connected
  Default version control: send version 2, receive version 2 
    Interface        Send  Recv
  Routing for Networks:
    eth0
    eth1
    1.1.1.1
    203.181.89.241
  Routing Information Sources:
    Gateway          BadPackets BadRoutes  Distance Last Update


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.11 Débogage de RIP

Commandes permettant le débogage pour le protocole RIP.

Commande : debug rip events {}
Debogage des événements RIP.
debug rip events montrera les événements RIP tels les envois et réceptions de paquets, les timers et les modifications sur les interfaces.

Command: debug rip packet {}
Debogage des paquets RIP.
debug rip packet affichera des informations détaillées sur les paquets RIP : ports d'origine et de destination et contenu des paquets.

Command: debug rip zebra {}
Débogue les communications entre ripd et zebra.
Affiche principalement des informations relatives à l'ajout ou à la suppression de route dans le noyau et à l'émission ou la réception d'informations de routage.

Command: show debugging rip {}
Affiche les options de débogage positionnées pour ripd.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. ripngd

ripngd supporte le protocole RIPng conforme à la RFC2080. C'est une réincarnation pour IPv6 du protocole RIP.

6.1 Lancement de ripngd  
6.2 Configuration de ripngd  
6.3 Commandes en mode terminal  
6.4 Commandes de filtrage  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1 Lancement de ripngd

Il n'y a aucune option de lancement spécifique à ripngd. Vous ne pouvez utiliser que les options communes (voir section 3.2 Options communes de démarrage).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 Configuration de ripngd

Actuellement ripngd supporte les commandes suivantes :

Commande : router ripng {}
Active le routage RIPng.

Commande RIPng : flush_timer durée {}
Définit le temporisateur de flush.

Commande RIPng : network réseau {}
Active RIPng sur le réseau.

Commande RIPng : network nom_if {}
Active RIPng sur l'interface ifname.

Commande RIPng : route réseau {}
Définit l'annonce RIPng de routage statique de réseau.

Commande : router zebra {}
C'est une commande par défaut et qui n'apparaît pas dans la configuration. Avec cette instruction, les routes RIPng sont transmises au démon zebra.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.3 Commandes en mode terminal

Commande : show ip ripng {}

Commande : show debugging ripng {}

Commande : debug ripng events {}

Commande : debug ripng packet {}

Commande : debug ripng zebra {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.4 Commandes de filtrage

Commande : distribute-list access_list (in|out) ifname {}
Vous pouvez appliquer une liste de ditribution à une interface particulière en utilisant la commande distribute-list. access_list est le nom de la liste d'accès. direct est soit 'in' soit 'out'. Si direct est égal à 'in', la liste d'accès est appliquée uniquement aux paquets entrants.

 
distribute-list local-only out sit1


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7. ospfd

ospfd est un routeur OSPF version 2 conforme à la RFC2328. OSPF est un protocole de type IGP (Interior Gateway Protocol ou protocole de routage intra-domaine). Comparé à RIP, OSPF est adapté à des réseaux de grande taille et sa période convergence est beaucoup plus courte. OSPF est largement utilisé dans les grands réseaux d'entreprise ou dans les dorsales des fournisseurs d'accès à internet.

7.1 Lancement d'ospfd  
7.2 Le routeur OSPF  
7.3 Les zones OSPF  
7.4 OSPF en mode interface  
7.5 Comment diffuser les routes avec OSPF ?  
7.6 Affichage des informations sur OSPF  
7.7 Debogage d'OSPF  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.1 Lancement d'ospfd

Il n'y a pas d'options spécifiques pour le lancement du démon ospfd, vous pouvez utiliser les options habituelles (voir section 3.2 Options communes de démarrage). Avant de lancer ospfd, vérfiez que le démon zebra est lancé car ospfd nécessite des informations sur les interfaces réseau fournies par lui.

Comme tous les autres démons, la configuration de ospfd est faite et stockée dans le fichier 'opsfd.conf'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.2 Le routeur OSPF

Pour lancer le processus de routage OSPF, vous devez taper la commande router ospf. Pour l'instant, ospfd ne supporte pas de processus de routage OSPF multiples.

Commande : router ospf {}
 
Commande : no router ospf {}
Active ou désactive le processus de routage OSPF. Comme ospfd ne supporte pas encore les processus de routage multiples, vous ne pouvez pas spécifier de numéro de processus.

Commande OSPF : ospf router-id a.b.c.d {}
 
Commande OSPF : no ospf router-id {}
[NDT : définit l'identification du routeur (par défaut, c'est la plus grande adresse IP des interfaces réseau du routeur). Cette identification est transmise aux autres routeurs].

Commande OSPF : ospf abr-type type {}
 
Commande OSPF : no ospf abr-type type {}
type peut être cisco|ibm|shortcut|standard (RFC 2328). [NDT : ABR signifie Area Border Router, soit routeur de bordure de zone.]

Commande OSPF : ospf rfc1583compatibility {}
 
Commande OSPF : no ospf rfc1583compatibility {}
[NDT : active ou désactive le support de OSPF v2 conforme à la RFC1583 (obsolète) sans doute pour assurer une compatibilité ascendante avec les routeurs anciens ne supportant que cette RFC].

Commande OSPF : passive-interface interface {}
 
Commande OSPF : no passive-interface interface {}
[NDT : active ou désactive l'émission de mises à jour de routage].

Commande OSPF : timers spf <0-4294967295> <0-4294967295> {}
 
Commande OSPF : no timers spf {}
[NDT : la première valeur indique le délai en secondes avant que l'algorithme du SPF ne soit lancé après la réception d'une mise à jour de routage (défaut = 5). La deuxième indique le délai minimum entre deux calculs du SPF consécutifs (défaut = 10)].

Commande OSPF : refresh group-limit <0-10000> {}
 
Commande OSPF : refresh per-slice <0-10000> {}
 
Commande OSPF : refresh age-diff <0-10000> {}
[NDT : ces trois fonctions ne semblent pas implémentées...].

Commande OSPF : auto-cost refrence-bandwidth <1-4294967> {}
 
Commande OSPF : no auto-cost refrence-bandwidth {}
[NDT : la base de calcul par défaut du coût d'un lien est 100 Mbps. Cette commande permet de modifier cette base. La valeur est donnée en Mbps].

Commande OSPF : network a.b.c.d/m area a.b.c.d {}
 
Commande OSPF : network a.b.c.d/m area <0-4294967295> {}
 
Commande OSPF : no network a.b.c.d/m area a.b.c.d {}
 
Commande OSPF : no network a.b.c.d/m area <0-4294967295> {}
Ces commandes activent (ou désactivent) l'émission et la réception des mises à jour de routage OSPF sur le réseau indiqué. Le numéro de la zone peut être indiqué de deux façons. Exemple de commande :
 
router ospf
 network 10.0.0.0/8 area 0
Le masque réseau indiqué doit être identique à celui de l'interface réseau correspondante.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.3 Les zones OSPF

Commande OSPF: area a.b.c.d range a.b.c.d/m {}
 
Commande OSPF: area <0-4294967295> range a.b.c.d/m {}
 
Commande OSPF: no area a.b.c.d range a.b.c.d/m {}
 
Commande OSPF: no area <0-4294967295> range a.b.c.d/m {}
[NDT : ces commandes permettent l'agrégation d'adresses].

Commande OSPF: area a.b.c.d range IPV4_PREFIX suppress {}
 
Commande OSPF: no area a.b.c.d range IPV4_PREFIX suppress {}
 
Commande OSPF: area a.b.c.d range IPV4_PREFIX substitute IPV4_PREFIX {}
 
Commande OSPF: no area a.b.c.d range IPV4_PREFIX substitute IPV4_PREFIX {}
[NDT : ne pas annoncer ce préfixe réseau (suppress), substituer dans les annonces ce préfixe réseau par cet autre préfixe réseau (substitute)].

Commande OSPF: area a.b.c.d virtual-link a.b.c.d {}
 
Commande OSPF: area <0-4294967295> virtual-link a.b.c.d {}
 
Commande OSPF: no area a.b.c.d virtual-link a.b.c.d {}
 
Commande OSPF: no area <0-4294967295> virtual-link a.b.c.d {}
[NDT : définition d'un lien virtuel. Celui-ci est activé si la zone 0 (backbone) est inaccessible].

Commande OSPF: area a.b.c.d shortcut {}
 
Commande OSPF: area <0-4294967295> shortcut {}
 
Commande OSPF: no area a.b.c.d shortcut {}
 
Commande OSPF: no area <0-4294967295> shortcut {}
[NDT : fonction non documentée.]

Commande OSPF: area a.b.c.d stub {}
 
Commande OSPF: area <0-4294967295> stub {}
 
Commande OSPF: no area a.b.c.d stub {}
 
Commande OSPF: no area <0-4294967295> stub {}
[NDT : définit une zone d'extrémité reliée au reste du réseau par un seul routeur].

Commande OSPF: area a.b.c.d stub no-summary {}
 
Commande OSPF: area <0-4294967295> stub no-summary {}
 
Commande OSPF: no area a.b.c.d stub no-summary {}
 
Commande OSPF: no area <0-4294967295> stub no-summary {}
[NDT : idem ci-dessus mais les annonces de routes inter-zones et les agrégations ne sont pas injectées dans la zone].

Commande OSPF: area a.b.c.d default-cost <0-16777215> {}
 
Commande OSPF: no area a.b.c.d default-cost <0-16777215> {}
[NDT : coût par défaut affecté à la route agrégée représentant la zone].

Commande OSPF: area a.b.c.d export-list NAME {}
 
Commande OSPF: area <0-4294967295> export-list NAME {}
 
Commande OSPF: no area a.b.c.d export-list NAME {}
 
Commande OSPF: no area <0-4294967295> export-list NAME {}
[NDT : définit la liste d'accès à appliquer pour filtrer les routes à annoncer aux autres zones].

Commande OSPF: area a.b.c.d import-list NAME {}
 
Commande OSPF: area <0-4294967295> import-list NAME {}
 
Commande OSPF: no area a.b.c.d import-list NAME {}
 
Commande OSPF: no area <0-4294967295> import-list NAME {}
[NDT : définit la liste d'accès à appliquer pour filtrer les routes reçues des autres zones].

Commande OSPF: area a.b.c.d authentication {}
 
Commande OSPF: area <0-4294967295> authentication {}
 
Commande OSPF: no area a.b.c.d authentication {}
 
Commande OSPF: no area <0-4294967295> authentication {}
[NDT : active ou désactive dans la zone l'authentification associée à l'annonce des routes].

Commande OSPF: area a.b.c.d authentication message-digest {}
 
Commande OSPF: area <0-4294967295> authentication message-digest {}
[NDT : idem ci-dessus avec chiffrement MD5].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.4 OSPF en mode interface

Commande interface : ip ospf authentication-key chaîne {}
 
Commande interface : no ip ospf authentication-key {}
Définit le mot de passe pour l'authentification des annonces OSPF. Tous les paquets de mises à jour de routage reçus sur l'interface devront contenir ce mot de passe pour être pris en compte par le routeur. chaîne est limitée à 8 caractères.

Commande interface : ip ospf message-digest-key id_clé md5 chaîne {}
 
Commande interface : no ip ospf message-digest-key {}
Permet de chiffrer le mot de passe avec l'algorithme MD5. id_clé (numéro compris enter 0 et 255) identifie la clé de chiffrement. Le mot de passe est chaîne, d'une longueur maximale de 16 caractères.

Commande interface : ip ospf cost <1-65535> {}
 
Commande interface : no ip ospf cost {}
Définit le coût du lien associé à l'interface. Ce coût sera diffusé dans les LSA (Link State Advertisements) et sera utilisé pour le calcul du plus court chemin.

Commande interface : ip ospf dead-interval <1-65535> {}
 
Commande interface : no ip ospf dead-interval {}
Définit le délai (en secondes) au bout duquel un routeur voisin est considéré comme inaccessible, ce qui déclenche l'émission de paquets sur l'état du lien. Cette valeur doit être identique sur tous les routeurs de la zone. La valeur par défaut est de 40 secondes.

Commande interface : ip ospf hello-interval <1-65535> {}
 
Commande interface : no ip ospf hello-interval {}
Définit la fréquence d'émission (en secondes) des paquets HELLO sur cette interface. Cette valeur doit être identique sur tous les routeurs de la zone. La valeur par défaut est de 10 secondes.

Commande interface : ip ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point) {}
 
Commande interface : no ip ospf network {}
Définit explicitement le type de réseau attaché à l'interface.

Commande interface : ip ospf priority <0-255> {}
 
Commande interface : no ip ospf priority {}
Définit la priorité du routeur. Plus la priorité est élevée, plus le routeur devient éligible en tant que routeur désigné. Par défaut, la valeur est 1. Une valeur égale à 0 rend le routeur inéligible.

Commande interface : ip ospf retransmit-interval <1-65535> {}
 
Commande interface : no ip ospf retransmit interval {}
Définit la valeur du temporisateur RxmtInterval. Cette valeur est utilisée lors de la retransmission des LSA. Par défaut, la valeur est de 5 secondes.

Commande interface : ip ospf transmit-delay {}
 
Commande interface : no ip ospf transmit-delay {}
Définit le temps estimé pour la transmission des LSA. Par défaut, la valeur est de 1 seconde.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.5 Comment diffuser les routes avec OSPF ?

Commande OSPF : redistribute (kernel|connected|static|rip|bgp) {}
 
Commande OSPF : redistribute (kernel|connected|static|rip|bgp) route-map {}
 
Commande OSPF : redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) {}
 
Commande OSPF : redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) route-map word {}
 
Commande OSPF : redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> {}
 
Commande OSPF : redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> route-map word {}
 
Commande OSPF : redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> {}
 
Commande OSPF : redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map word {}
 
Commande OSPF : no redistribute (kernel|connected|static|rip|bgp) {}
[NDT : indique quels types de routes doivent être diffusés. Voir § 5.3 pour plus de détails].

Commande OSPF : default-information originate {}
 
Commande OSPF : default-information originate metric <0-16777214> {}
 
Commande OSPF : default-information originate metric <0-16777214> metric-type (1|2) {}
 
Commande OSPF : default-information originate metric <0-16777214> metric-type (1|2) route-map word {}
 
Commande OSPF : default-information originate always {}
 
Commande OSPF : default-information originate always metric <0-16777214> {}
 
Commande OSPF : default-information originate always metric <0-16777214> metric-type (1|2) {}
 
Commande OSPF : default-information originate always metric <0-16777214> metric-type (1|2) route-map word {}
 
Commande OSPF : no default-information originate {}
[NDT : autorise la diffusion des routes par défaut].

Commande OSPF : distribute-list access_list out (kernel|connected|static|rip|ospf) {}
 
Commande OSPF : no distribute-list access_list out (kernel|connected|static|rip|ospf) {}
Les routes OSPF peuvent être filtrées par une liste de distribution (distribute-list). [NDT : voir le § 11 sur le filtrage].

Commande OSPF : default-metric <0-16777214> {}
 
Commande OSPF : no default-metric {}

Commande OSPF : distance <1-255> {}
 
Commande OSPF : no distance <1-255> {}

Commande OSPF : distance ospf (intra-area|inter-area|external) <1-255> {}
 
Commande OSPF : no distance ospf {}

Commande : router zebra {}
 
Commande : no router zebra {}
[NDT : active ou désactive le processus de routage OSPF].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.6 Affichage des informations sur OSPF

Commande : show ip ospf {}
[NDT : affiche un résumé sur le fonctionnement du processus de routage OSPF].

Commande : show ip ospf interface [INTERFACE] {}
[NDT : affiche un résumé sur le fonctionnement du processus de routage OSPF pour chaque interface participant au routage dynamique].

Commande : show ip ospf neighbor {}
 
Commande : show ip ospf neighbor INTERFACE {}
 
Commande : show ip ospf neighbor detail {}
 
Commande : show ip ospf neighbor INTERFACE detail {}
[NDT : affiche la liste des routeurs voisins découverts].

Commande : show ip ospf database {}
[NDT : affiche le contenu de la base de données topologique].

Commande : show ip ospf database (asbr-summary|external|network|router|summary) {}
 
Commande : show ip ospf database (asbr-summary|external|network|router|summary) link-state-id {}
 
Commande : show ip ospf database (asbr-summary|external|network|router|summary) link-state-id adv-router adv-router {}
 
Commande : show ip ospf database (asbr-summary|external|network|router|summary) adv-router adv-router {}
 
Commande : show ip ospf database (asbr-summary|external|network|router|summary) link-state-id self-originate {}
 
Commande : show ip ospf database (asbr-summary|external|network|router|summary) self-originate {}

Commande : show ip ospf database max-age {}

Commande : show ip ospf database self-originate {}
[NDT : affiche les routes dont le routeur est à l'origine].

Commande : show ip ospf refresher {}
[NDT : cette fonction ne semble pas implémentée...].

Commande : show ip ospf route {}
[NDT : affiche la table de routage calculée par SPF].


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.7 Debogage d'OSPF

Commande : debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail] {}
 
Commande : no debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail] {}

Commande : debug ospf ism {}
 
Commande : debug ospf ism (status|events|timers) {}
 
Commande : no debug ospf ism {}
 
Commande : no debug ospf ism (status|events|timers) {}

Commande : debug ospf nsm {}
 
Commande : debug ospf nsm (status|events|timers) {}
 
Commande : no debug ospf nsm {}
 
Commande : no debug ospf nsm (status|events|timers) {}

Commande : debug ospf lsa {}
 
Commande : debug ospf lsa (generate|flooding|refresh) {}
 
Commande : no debug ospf lsa {}
 
Commande : no debug ospf lsa (generate|flooding|refresh) {}

Commande : debug ospf zebra {}
 
Commande : debug ospf zebra (interface|redistribute) {}
 
Commande : no debug ospf zebra {}
 
Commande : no debug ospf zebra (interface|redistribute) {}

Commande : show debugging ospf {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8. ospf6d

ospf6d est un démon conforme à la version 3 d'OSPF (RFC2740) pour les réseaux IPV6.

8.1 Le routeur OSPF6  
8.2 Les zones OSPF6  
8.3 Les interfaces OSPF6  
8.4 Comment diffuser les routes avec OSPF6 ?  
8.5 Affichage des informations sur OSPF6  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.1 Le routeur OSPF6

Commande : router ospf6 {}
[NDT : active le routage dynamique OSPF pour IPV6].

Commande OSPF6 : router-id a.b.c.d {}
Définit l'ID du routeur.

Commande OSPF6 : interface ifname area area {}
Cette commande indique que l'interface ifname figure dans la zone area.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.2 Les zones OSPF6

Le support des zones pour OSPFv3 n'est pas encore implémenté...


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.3 Les interfaces OSPF6

Commande interface : ipv6 ospf6 cost COST {}
Affecte un coût à l'interface. La valeur par défaut est 1.

Commande interface : ipv6 ospf6 hello-interval HELLOINTERVAL {}
Définit l'intervalle en secondes d'envoi des paquets HELLO. La valeur par défaut est 40.

Commande interface : ipv6 ospf6 dead-interval DEADINTERVAL {}
Définit le délai (en secondes) au bout duquel un routeur voisin est considéré comme inaccessible, ce qui déclenche l'émission de paquets sur l'état du lien. La valeur par défaut est de 40 secondes.

Commande interface : ipv6 ospf6 retransmit-interval RETRANSMITINTERVAL {}
Définit la valeur du temporisateur RxmtInterval. Cette valeur est utilisée lors de la retransmission des LSA. Par défaut, la valeur est de 5 secondes.

Commande interface : ipv6 ospf6 priority PRIORITY {}
Sets interface's Router Priority. Default value is 1.

Commande interface : ipv6 ospf6 transmit-delay TRANSMITDELAY {}
Définit la priorité du routeur. Plus la priorité est élevée, plus le routeur devient éligible en tant que routeur désigné. Par défaut, la valeur est 1. Une valeur égale à 0 rend le routeur inéligible.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.4 Comment diffuser les routes avec OSPF6 ?

Commande OSPF6 : redistribute static {}
 
Commande OSPF6 : redistribute connected {}
 
Commande OSPF6 : redistribute ripng {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.5 Affichage des informations sur OSPF6

Commande : show ipv6 ospf6 [INSTANCE_ID] {}
Affiche un résumé sur le fonctionnement du processus de routage OSPF6.

Commande : show ipv6 ospf6 database {}
Affiche la base de données topologique.

Commande : show ipv6 ospf6 interface {}
Affiche un résumé sur le fonctionnement du processus de routage OSPF pour chaque interface participant au routage dynamique].

Commande : show ipv6 ospf6 neighbor {}
Affiche la liste des routeurs voisins découverts.

Commande : show ipv6 ospf6 request-list A.B.C.D {}
Montre la request-list des voisins.

Commande : show ipv6 route ospf6 {}
Affiche la table de routage calculée par SPF.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9. bgpd

bgpd is a Border Gateway Protocol 4 (BGP-4) protocol daemon. BGP-4 is described in RFC1771. bgpd also supports Multiprotocol Extension for BGP-4 (sometimes known as BGP-4+ or MBGP) which is described in RFC2283.

BGP-4 is one of the EGPs (Exterior Gateway Protocols) and is used for inter-domain routing.

9.1 Configuring bgpd  
9.2 BGP router  
9.3 BGP peer  
9.4 BGP network  
9.5 Redistribute to BGP  
9.6 Peer configuration  
9.7 Peer filtering  
9.8 BGP terminal mode commands  
9.9 BGP Log Format  
9.10 Multiprotocol Extension for BGP  
9.11 Route Reflector  
9.12 Route Server  
9.13 How to set up a 6-Bone connection  
9.14 Dump BGP packets and table  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.1 Configuring bgpd

Default configuration file of bgpd is 'bgpd.conf'. bgpd searches the current directory first then /usr/local/etc/bgpd.conf. All of bgpd's command must be configured in 'bgpd.conf'.

bgpd specific invocation options are described below. Common options may also be specified (see section 3.2 Common Invocation Options).

'-p PORT'
'--bgp_port=PORT'
Set the bgp protocol's port number.

'-r'
'--retain'
When program terminates, retain BGP routes added by zebra.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.2 BGP router

First of all you must configure BGP router with router bgp command. To configure BGP router, you need AS number. AS number is an identification of autonomous system. BGP protocol uses the AS number for detecting whether the BGP connection is internal one or external one.

AS number is a digit between 1 and 65535. The use of AS numbers is described in RFC1930. AS numbers 64512 through 65535 are defined as private AS numbers. Private AS numbers must not to be advertised in the global Internet.

Command: router bgp as-number {}
Enable a BGP protocol process with the specified as-number. After this statement you can input any BGP Commands. You can not create different BGP process under different as-number without specifying multiple-instance (see section 9.12.1 Multiple instance).

Command: no router bgp as-number {}
Destroy a BGP protocol process with the specified as-number.

BGP Command: bgp router-id router-id {}
This command specifies the router-ID. If bgpd connects to zebra it gets interface and address information. In that case default router ID value is selected as the largest IP Address of the interfaces. When router zebra is not enabled bgpd can't get interface information so router-id is set to 0.0.0.0. So please set router-id by hand.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.3 BGP peer

BGP Command: neighbor peer remote-as as-number {}
Creates a new neighbor whose remote-as is as-number. peer can be an IPv4 address or an IPv6 address.
 
router bgp 1
 neighbor 10.0.0.1 remote-as 2
In this case my router, in AS-1, is trying to peer with AS-2 at 10.0.0.1.

This command must be the first command used when configuring a neighbor. If the remote-as is not specified, bgpd will complain like this:
 
can't find neighbor 10.0.0.1


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.4 BGP network

BGP Command: network network {}
This command adds the announcement network.
 
router bgp 1
 network 10.0.0.0/8
This configuration example says that network 10.0.0.0/8 will be announced to all neighbors. Some vendors' routers don't advertise routes if they aren't present in their IGP routing tables; bgp doesn't care about IGP routes when announcing its routes.

BGP Command: no network network {}

BGP Command: aggregate-address network {}
This command specifies an aggregate address.

BGP Command: no aggregate-address network {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.5 Redistribute to BGP

BGP Command: redistribute kernel {}
Redistribute kernel route to BGP process.

BGP Command: redistribute static {}
Redistribute static route to BGP process.

BGP Command: redistribute connected {}
Redistribute connected route to BGP process.

BGP Command: redistribute rip {}
Redistribute RIP route to BGP process.

BGP Command: redistribute ospf {}
Redistribute OSPF route to BGP process.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.6 Peer configuration

In a router bgp clause there are neighbor specific configurations required.

BGP Command: neighbor peer shutdown {}
 
BGP Command: no neighbor peer shutdown {}
Shutdown the peer. We can delete the neighbor's configuration by no neighbor peer remote-as as-number but all configuration of the neighbor will be deleted. When you want to preserve the configuration, but want to drop the BGP peer, use this syntax.

BGP Command: neighbor peer ebgp-multihop {}
 
BGP Command: no neighbor peer ebgp-multihop {}

BGP Command: neighbor peer description ... {}
 
BGP Command: no neighbor peer description ... {}
Set description of the peer.

BGP Command: neighbor peer version version {}
Set up the neighbor's BGP version. version can be 4, 4+ or 4-. BGP version 4 is the default value used for BGP peering. BGP version 4+ means that the neighbor supports Multiprotocol Extensions for BGP-4. BGP version 4- is similar but the neighbor speaks the old Internet-Draft revision 00's Multiprotocol Extensions for BGP-4. Some routing software is still using this version.

BGP Command: neighbor peer interface ifname {}
 
BGP Command: no neighbor peer interface ifname {}
When you connect to a BGP peer over an IPv6 link-local address, you have to specify the ifname of the interface used for the connection.

BGP Command: neighbor peer next-hop-self {}
 
BGP Command: no neighbor peer next-hop-self {}
This command specifies an announced route's nexthop as being equivalent to the address of the bgp router.

BGP Command: neighbor peer update-source {}
 
BGP Command: no neighbor peer update-source {}

BGP Command: neighbor peer default-originate {}
 
BGP Command: no neighbor peer default-originate {}
bgpd's default is to not announce the default route (0.0.0.0/0) even it is in routing table. When you want to announce default routes to the peer, use this command.

BGP Command: neighbor peer port port {}
 
BGP Command: neighbor peer port port {}

BGP Command: neighbor peer send-community {}
 
BGP Command: neighbor peer send-community {}

BGP Command: neighbor peer weight weight {}
 
BGP Command: no neighbor peer weight weight {}
This command specifies a default weight value for the neighbor's routes.

BGP Command: neighbor peer maximum-prefix number {}
 
BGP Command: no neighbor peer maximum-prefix number {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.7 Peer filtering

BGP Command: neighbor peer distribute-list name [in|out] {}
This command specifies a distribute-list for the peer. direct is 'in' or 'out'.

BGP command: neighbor peer prefix-list name [in|out] {}

BGP command: neighbor peer filter-list name [in|out] {}

BGP Command: neighbor peer route-map name [in|out] {}
Apply a route-map on the neighbor. direct must be in or out.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.8 BGP terminal mode commands

Command: show ip bgp [network] {}
Lists all BGPd routes.

Command: show ip bgp regexp as-regexp {}

Command: show ip bgp summary {}

Command: show ip bgp neighbor [peer] {}

Command: clear ip bgp peer {}
Clear peers which have addresses of X.X.X.X

Command: clear ip bgp peer soft in {}
Clear peer using soft reconfiguration.

Command: show debug {}

Command: debug event {}

Command: debug update {}

Command: debug keepalive {}

Command: no debug event {}

Command: no debug update {}

Command: no debug keepalive {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.9 BGP Log Format

BGPd outputs logging information to a terminal or to the specified file. It includes routing updates and peer status change information. It also includes date, time, packet type, the peer's IP address, and other routing information.

 
1999/03/29 17:42:18 Update:[202.216.226.1] 130.58.0.0/16 med: 0 lpref: 0 nexthop: 202.216.226.1 aspath: 4691 3561 5119 3576 3782 i


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.10 Multiprotocol Extension for BGP

When adding IPv6 routing information exchange feature to BGP. There were some proposals. IETF IDR working group finally take a proposal called Multiprotocol Extension for BGP. The specification is described in RFC2283. The protocol does not define new protocols. It defines new attributes to existing BGP. When it is used exchanging IPv6 routing information it is called BGP-4+. When it is used for exchanging multicast routing information it is called MBGP.

bgpd supports Multiprotocol Extension for BGP. So if remote peer supports the protocol, bgpd can exchange IPv6 and/or multicast routing information.

Traditional BGP does not have the feature to detect remote peer's capability whether it can handle other than IPv4 unicast routes. This is a big problem using Multiprotocol Extension for BGP to operational network. draft-ietf-idr-bgp4-cap-neg-04.txt is proposing a feature called Capability Negotiation. bgpd use this Capability Negotiation to detect remote peer's capabilities. If the peer is only configured as IPv4 unicast neighbor, bgpd does not send these Capability Negotiation packets.

By default, Zebra will bring up peering with minimal common capability for the both sides. For example, local router has unicast and multicast capabilitie and remote router has unicast capability. In this case, the local router will establish the connection with unicast only capability. When there are no common capabilities, Zebra sends Unsupported Capability error and then resets the connection.

If you want to completely match capabilities with remote peer. Please use strict-capability-match command.

BGP Command: neighbor peer strict-capability-match {}
 
BGP Command: no neighbor peer strict-capability-match {}
Strictly compares remote capabilities and local capabilities. If capabilities are different, send Unsupported Capability error then reset connection.

You may want to disable sending Capability Negotiation OPEN message optional parameter to the peer when remote peer does not implement Capability Negotiation. Please use dont-capability-negotiate command to disable the feature.

BGP Command: neighbor peer dont-capability-negotiate {}
 
BGP Command: no neighbor peer dont-capability-negotiate {}
Suppress sending Capability Negotiation as OPEN message optional parameter to the peer. This command only affects the peer is configured other than IPv4 unicast configuration.

When remote peer does not have capability negotiation feature, remote peer will not send any capabilities at all. In that case, bgp configures the peer with configured capabilities.

You may prefer locally configured capabilities more than the negotiated capabilities even though remote peer sends capabilities. If the peer is configured by override-capability, bgpd ignores received capabilities then override negotiated capabilities with configured values.

BGP Command: neighbor peer override-capability {}
 
BGP Command: no neighbor peer override-capability {}
Override the result of Capability Negotiation with local configuration. Ignore remote peer's capability value.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.11 Route Reflector

BGP Command: bgp cluster-id a.b.c.d {}

BGP Command: neighbor peer route-reflector-client {}
 
BGP Command: no neighbor peer route-reflector-client {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.12 Route Server

At an Internet Exchange point, many ISPs are connected to each other by external BGP peering. Normally these external BGP connection are done by full mesh method. As with internal BGP full mesh formation, this method has a scaling problem.

This scaling problem is well known. Route Server is a method to resolve the problem. Each ISP's BGP router only peers to Route Server. Route Server serves as BGP information exchange to other BGP routers. By applying this method, numbers of BGP connections is reduced from O(n*(n-1)/2) to O(n).

Unlike normal BGP router, Route Server must have several routing tables for managing different routing policies for each BGP speaker. We call the routing tables as different views. bgpd can work as normal BGP router or Route Server or both at the same time.

9.12.1 Multiple instance  
9.12.2 BGP instance and view  
9.12.3 Routing policy  
9.12.4 Viewing the view  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.12.1 Multiple instance

To enable multiple view function of bgpd, you must turn on multiple instance feature beforehand.

Command: bgp multiple-instance {}
Enable BGP multiple instance feature. After this feature is enabled, you can make multiple BGP instances or multiple BGP views.

Command: no bgp multiple-instance {}
Disable BGP multiple instance feature. You can not disable this feature when BGP multiple instances or views exist.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.12.2 BGP instance and view

BGP instance is a normal BGP process. The result of route selection goes to the kernel routing table. You can setup different AS at the same time when BGP multiple instance feature is enabled.

Command: router bgp as-number {}
Make a new BGP instance. You can use arbitrary word for the name.

 
bgp multiple-instance
!
router bgp 1
 neighbor 10.0.0.1 remote-as 2
 neighbor 10.0.0.2 remote-as 3
!
router bgp 2
 neighbor 10.0.0.3 remote-as 4
 neighbor 10.0.0.4 remote-as 5

BGP view is almost same as normal BGP process. The result of route selection does not go to the kernel routing table. BGP view is only for exchanging BGP routing information.

Command: router bgp as-number view name {}
Make a new BGP view. You can use arbitrary word for the name. This view's route selection result does not go to the kernel routing table.

With this command, you can setup Route Server like below.

 
bgp multiple-instance
!
router bgp 1 view 1
 neighbor 10.0.0.1 remote-as 2
 neighbor 10.0.0.2 remote-as 3
!
router bgp 2 view 2
 neighbor 10.0.0.3 remote-as 4
 neighbor 10.0.0.4 remote-as 5


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.12.3 Routing policy

You can set different routing policy for a peer. For example, you can set different filter for a peer.

 
bgp multiple-instance
!
router bgp 1 view 1
 neighbor 10.0.0.1 remote-as 2
 neighbor 10.0.0.1 distribute-list 1 in
!
router bgp 1 view 2
 neighbor 10.0.0.1 remote-as 2
 neighbor 10.0.0.1 distribute-list 2 in

This means BGP update from a peer 10.0.0.1 goes to both BGP view 1 and view 2. When the update is inserted into view 1, distribute-list 1 is applied. On the other hand, when the update is inserted into view 2, distribute-list 2 is applied.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.12.4 Viewing the view

To display routing table of BGP view, you must specify view name.

Command: show ip bgp view name {}
Display routing table of BGP view name.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.13 How to set up a 6-Bone connection

 
zebra configuration 
=================== 
!  
! Actually there is no need to configure zebra 
!

bgpd configuration
==================
!
! This means that routes go through zebra and into the kernel.
!
router zebra
!
! BGP-4+ configuration
!
router bgp 7675
 bgp router-id 10.0.0.1
!
ipv6 bgp network 3ffe:506::/32
ipv6 bgp neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 remote-as as-number
ipv6 bgp neighbor 3ffe:1cfa:0:2:2a0:c9ff:fe9e:f56 route-map set-nexthop out
ipv6 bgp neighbor 3ffe:1cfa:0:2:2c0:4fff:fe68:a231 remote-as as-number
ipv6 bgp neighbor 3ffe:1cfa:0:2:2c0:4fff:fe68:a231 route-map set-nexthop out
!
ipv6 access-list all permit any
!
! Set output nexthop address.
!
route-map set-nexthop permit 10
 match ipv6 address all
 set ipv6 nexthop global 3ffe:1cfa:0:2:2c0:4fff:fe68:a225
 set ipv6 nexthop local fe80::2c0:4fff:fe68:a225
!
! logfile FILENAME is obsolete.  Please use log file FILENAME
!
log file bgpd.log
!


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.14 Dump BGP packets and table

Command: dump bgp all path {}
 
Command: dump bgp all path interval {}
Dump all BGP packet and events to path file.

Command: dump bgp updates path {}
 
Command: dump bgp updates path interval {}
Dump BGP updates to path file.

Command: dump bgp routes path {}
 
Command: dump bgp routes path {}
Dump whole BGP routing table to path. This is heavy process.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10. vtysh

vtysh est un interpréteur de commande pour Zebra. [NDT : d'après mes tests, ce shell ne fonctionne pas correctement. Utilisez plutôt un telnet @_du_routeur   numéro_de_port_VTY_du_démon.]

Pour utiliser vtysh, indiquez l'option --enable-vtysh au script de configuration. Pour utiliser l'authentification PAM, indiquez l'option --with-libpam au script de configuration.

vtysh recherche son fichier de configuration 'vtysh.conf' uniquement dans '/usr/local/etc'. Il ne le recherche pas dans le répertoire courant car ce fichier contient des paramètres d'authentification.

Pour l'instant, 'vtysh.conf' n'a qu'une seule commande :

 
!
username foo nopassword
!

Grâce à cette commande, l'utilisateur foo n'a pas besoin de mot de passe pour utiliser vtysh. Si PAM a été activé, vtysh utilisera les mécanismes d'authentification de PAM.

If vtysh is compiled without PAM authentication, every user can use vtysh without authentication.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11. Filtering

Zebra provides many very flexible filtering features. Filtering is used for both input and output of the routing information. Once filtering is defined, it can be applied in any direction.

11.0.1 IP Access List  
11.0.2 IP Prefix List  
11.0.3 IP Community List  
11.0.4 AS Path Access List  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.0.1 IP Access List

Command: access-list name permit ipv4-network {}
 
Command: access-list name deny ipv4-network {}

Basic filtering is done by access-list as shown in the following example.

 
access-list filter deny 10.0.0.0/9
access-list filter permit 10.0.0.0/8


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.0.2 IP Prefix List

ip prefix-list provides the most powerful prefix based filtering mechanism. In addition to access-list functionality, ip prefix-list has prefix length range specification and sequential number specification. You can add or delete prefix based filters to arbitrary points of prefix-list using sequential number specification.

If no ip prefix-list is specified, it acts as permit. If ip prefix-list is defined, and no match is found, default deny is applied.

Command: ip prefix-list name (permit|deny) prefix [le len] [ge len] {}
 
Command: ip prefix-list name seq number (permit|deny) prefix [le len] [ge len] {}

You can create ip prefix-list using above commands.

seq
seq number can be set either automatically or manually. In the case that sequential numbers are set manually, the user may pick any number less than 4294967295. In the case that sequential number are set automatically, the sequential number will increase by a unit of five (5) per list. If a list with no specified sequential number is created after a list with a specified sequential number, the list will automatically pick the next multiple of five (5) as the list number. For example, if a list with number 2 already exists and a new list with no specified number is created, the next list will be numbered 5. If lists 2 and 7 already exist and a new list with no specified number is created, the new list will be numbered 10.

le
le command specifies prefix length. The prefix list will be applied if the prefix length is less than or equal to the le prefix length.

ge
ge command specifies prefix length. The prefix list will be applied if the prefix length is greater than or equal to the ge prefix length.

Less than or equal to prefix numbers and greater than or equal to prefix numbers can be used together. The order of the le and ge commands does not matter.

If a prefix list with a different sequential number but with the exact same rules as a previous list is created, an error will result. However, in the case that the sequential number and the rules are exactly similar, no error will result.

If a list with the same sequential number as a previous list is created, the new list will overwrite the old list.

Matching of IP Prefix is performed from the smaller sequential number to the larger. The matching will stop once any rule has been applied.

In the case of no le or ge command,

Version 0.85: the matching rule will apply to all prefix lengths that matched the prefix list.

Version 0.86 or later: In the case of no le or ge command, the prefix length must match exactly the length specified in the prefix list.

Command: no ip prefix-list name {}

11.0.2.1 ip prefix-list description  
11.0.2.2 ip prefix-list sequential number control  
11.0.2.3 Showing ip prefix-list  
11.0.2.4 Clear counter of ip prefix-list  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.0.2.1 ip prefix-list description

Command: ip prefix-list name description desc {}
Descriptions may be added to prefix lists. This command adds a description to the prefix list.

Command: no ip prefix-list name description [desc] {}
Deletes the description from a prefix list. It is possible to use the command without the full description.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.0.2.2 ip prefix-list sequential number control

Command: ip prefix-list sequence-number {}
With this command, the IP prefix list sequential number is displayed. This is the default behavior.

Command: no ip prefix-list sequence-number {}
With this command, the IP prefix list sequential number is not displayed.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.0.2.3 Showing ip prefix-list

Command: show ip prefix-list {}
Display all IP prefix lists.

Command: show ip prefix-list name {}
Show IP prefix list can be used with a prefix list name.

Command: show ip prefix-list name seq num {}
Show IP prefix list can be used with a prefix list name and sequential number.

Command: show ip prefix-list name a.b.c.d/m {}
If the command longer is used, all prefix lists with prefix lengths equal to or longer than the specified length will be displayed. If the command first match is used, the first prefix length match will be displayed.

Command: show ip prefix-list name a.b.c.d/m longer {}

Command: show ip prefix-list name a.b.c.d/m first-match {}

Command: show ip prefix-list summary {}
Command: show ip prefix-list summary name {}

Command: show ip prefix-list detail {}
Command: show ip prefix-list detail name {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.0.2.4 Clear counter of ip prefix-list

Command: clear ip prefix-list {}
Clears the counters of all IP prefix lists. Clear IP Prefix List can be used with a specified name and prefix.

Command: clear ip prefix-list name {}

Command: clear ip prefix-list name a.b.c.d/m {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.0.3 IP Community List

Command: ip community-list name type community {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.0.4 AS Path Access List

Command: ip as-path access-list name type as_path {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12. Route Map

Route map is a very useful function in zebra. There is a match and set statement permitted in a route map.

 
route-map test permit 10
 match ip address 10
 set local-preference 200

This means that if a route matches ip access-list number 10 it's local-preference value is set to 200.

12.0.1 Route Map Command  
12.0.2 Route Map Match Command  
12.0.3 Route Map Set Command  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.0.1 Route Map Command

Command: route-map route-map-name permit priority {}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.0.2 Route Map Match Command

Route-map Command: match ip address access_list {}
Matches the specified access_list

Route-map Command: match ip next-hop ipv4_addr {}
Matches the specified ipv4_addr.

Route-map Command: match aspath as_path {}
Matches the specified as_path.

Route-map Command: match metric metric {}
Matches the specified metric.

Route-map Command: match community community_list {}
Matches the specified community_list


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.0.3 Route Map Set Command

Route-map Command: set ip next-hop ipv4_address {}
Set the BGP nexthop address.

Route-map Command: set local-preference local_pref {}
Set the BGP local preference.

Route-map Command: set weight weight {}
Set the route's weight.

Route-map Command: set metric metric {}
Set the BGP attribute MED.

Route-map Command: set as-path prepend as_path {}
Set the BGP AS path to prepend.

Route-map Command: set community community {}
Set the BGP community attribute.

Route-map Command: set ipv6 next-hop global ipv6_address {}
Set the BGP-4+ global IPv6 nexthop address.

Route-map Command: set ipv6 next-hop local ipv6_address {}
Set the BGP-4+ link local IPv6 nexthop address.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

13. IPv6 Support

Zebra fully supports IPv6 routing. As described so far, Zebra supports RIPng, OSPFv3 and BGP-4+. You can give IPv6 addresses to an interface and configure static IPv6 routing information. Zebra-IPv6 also provides automatic address configuration via a feature called address auto configuration. To do it, the router must send router advertisement messages to the all nodes that exist on the network.

13.1 Router Advertisement  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

13.1 Router Advertisement

Commande interface : ipv6 nd send-ra {}

Commande interface : ipv6 nd prefix-advertisement ipv6prefix {}

 
interface eth0
 ipv6 nd send-ra
 ipv6 nd prefix-advertisement 3ffe:506:5009::/64


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

14. Kernel Interface

There are several different methods for reading kernel routing table information, updating kernel routing tables, and for looking up interfaces.

'ioctl'
The 'ioctl' method is a very traditional way for reading or writing kernel information. 'ioctl' can be used for looking up interfaces and for modifying interface addresses, flags, mtu settings and other types of information. Also, 'ioctl' can insert and delete kernel routing table entries. It will soon be available on almost any platform which zebra supports, but it is a little bit ugly thus far, so if a better method is supported by the kernel, zebra will use that.

'sysctl'
'sysctl' can lookup kernel information using MIB (Management Information Base) syntax. Normally, it only provides a way of getting information from the kernel. So one would usually want to change kernel information using another method such as 'ioctl'.

'proc filesystem'
'proc filesystem' provides an easy way of getting kernel information.

'routing socket'

'netlink'
On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user communication support called netlink. It makes asynchronous communication between kernel and Zebra possible, similar to a routing socket on BSD systems.

Before you use this feature, be sure to select (in kernel configuration) the kernel/netlink support option 'Kernel/User network link driver' and 'Routing messages'.

Today, the /dev/route special device file is obsolete. Netlink communication is done by reading/writing over netlink socket.

After the kernel configuration, please reconfigure and rebuild Zebra. You can use netlink as a dynamic routing update channel between Zebra and the kernel.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

15. SNMP Support

SNMP (Simple Network Managing Protocol) is widely implemented feature for collecting network information from router and/or host. Zebra itself does not support SNMP agent functionality. But conjuction with SNMP agent, Zebra provides routing protocol MIBs.

Zebra uses SMUX protocol (RFC1227) for making communication with SNMP agent. There are several SNMP agent which support SMUX. We recommend to use the latest ucd-snmp software.

15.1 How to get ucd-snmp  
15.2 SMUX configuration  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

15.1 How to get ucd-snmp

ucd-snmp is a free software which distributed so called "as is" software license. Please check the license which comes with distribution of ucd-snmp. The authors of ucd-snmp are the University of California, the University of California at Davis, and the Electrical Engineering department at the University of California at Davis.

You can get ucd-snmp from ftp://ucd-snmp.ucdavis.edu/. As of this writing we are testing with ucd-snmp-4.1.pre1.tar.gz.

To enable SMUX protocol support, please configure ucd-snmp like below.

 
% configure --with-mib-modules=smux

After compile and install ucd-snmp, you will need to configure smuxpeer. I'm now using configuration shown below. This means SMUX client connects to MIB 1.3.6.1.6.3.1 with password test.
 
/usr/local/share/snmp/snmpd.conf
================================
smuxpeer 1.3.6.1.6.3.1 test


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

15.2 SMUX configuration

To enable SNMP support of Zebra, you have to configure Zebra with --enable-snmp (see section 2.1 Configure the Software).

Command: smux peer oid {}
 
Command: no smux peer oid {}

Command: smux peer oid password {}
 
Command: no smux peer oid password {}

 
!
smux peer .1.3.6.1.6.3.1 test
!


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A. Zebra Protocol

Zebra Protocol is a protocol which is used between protocol daemon and zebra. Each protocol daemon sends selected routes to zebra daemon. Then zebra manages which route is installed into the forwarding table.

Zebra Protocol is a TCP-based protocol. Below is common header of Zebra Protocol.

 
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Length (2)          |   Command (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Length is total packet length including this header length. So minimum length is three. Command is Zebra Protocol command.

 
ZEBRA_INTERFACE_ADD                1
ZEBRA_INTERFACE_DELETE             2
ZEBRA_INTERFACE_ADDRESS_ADD        3
ZEBRA_INTERFACE_ADDRESS_DELETE     4
ZEBRA_INTERFACE_UP                 5
ZEBRA_INTERFACE_DOWN               6
ZEBRA_IPV4_ROUTE_ADD               7
ZEBRA_IPV4_ROUTE_DELETE            8
ZEBRA_IPV6_ROUTE_ADD               9
ZEBRA_IPV6_ROUTE_DELETE           10
ZEBRA_REDISTRIBUTE_ADD            11
ZEBRA_REDISTRIBUTE_DELETE         12
ZEBRA_REDISTRIBUTE_DEFAULT_ADD    13
ZEBRA_REDISTRIBUTE_DEFAULT_DELETE 14
ZEBRA_IPV4_NEXTHOP_LOOKUP         15
ZEBRA_IPV6_NEXTHOP_LOOKUP         16

 
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Flags             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

B. Packet Binary Dump Format

Zebra can dump routing protocol packet into file with a binary format (see section 9.14 Dump BGP packets and table).

It seems to be better that we share the MRT's header format for backward compatibility with MRT's dump logs. We should also define the binary format excluding the header, because we must support both IP v4 and v6 addresses as socket addresses and / or routing entries.

In the last meeting, we discussed to have a version field in the header. But Masaki told us that we can define new 'type' value rather than having a 'version' field, and it seems to be better because we don't need to change header format.

Here is the common header format. This is same as that of MRT.

 
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              Time                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |            Subtype            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Length                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

If 'type' is PROTOCOL_BGP4MP, 'subtype' is BGP4MP_STATE_CHANGE, and Address Family == IP (version 4)

 
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Source AS number       |     Destination AS number     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Interface Index        |      Address Family           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source IP address                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination IP address                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Old State          |           New State           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Where State is the value defined in RFC1771.

If 'type' is PROTOCOL_BGP4MP, 'subtype' is BGP4MP_STATE_CHANGE, and Address Family == IP version 6

 
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Source AS number       |     Destination AS number     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Interface Index        |      Address Family           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source IP address                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source IP address (Cont'd)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source IP address (Cont'd)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source IP address (Cont'd)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination IP address                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination IP address (Cont'd)           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination IP address (Cont'd)           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination IP address (Cont'd)           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Old State          |           New State           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

If 'type' is PROTOCOL_BGP4MP, 'subtype' is BGP4MP_MESSAGE, and Address Family == IP (version 4)

 
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Source AS number       |     Destination AS number     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Interface Index        |      Address Family           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source IP address                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination IP address                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       BGP Message Packet                      |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Where BGP Message Packet is the whole contents of the BGP4 message including header portion.

If 'type' is PROTOCOL_BGP4MP, 'subtype' is BGP4MP_MESSAGE, and Address Family == IP version 6

 
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Source AS number       |     Destination AS number     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Interface Index        |      Address Family           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source IP address                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source IP address (Cont'd)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source IP address (Cont'd)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source IP address (Cont'd)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination IP address                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination IP address (Cont'd)           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination IP address (Cont'd)           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination IP address (Cont'd)           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       BGP Message Packet                      |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

If 'type' is PROTOCOL_BGP4MP, 'subtype' is BGP4MP_ENTRY, and Address Family == IP (version 4)

 
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            View #             |            Status             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Time Last Change                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Address Family          |    SAFI       | Next-Hop-Len  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Next Hop Address                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix Length |             Address Prefix [variable]         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Attribute Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      BGP Attribute [variable length]    			|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

If 'type' is PROTOCOL_BGP4MP, 'subtype' is BGP4MP_ENTRY, and Address Family == IP version 6

 
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            View #             |            Status             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Time Last Change                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Address Family          |    SAFI       | Next-Hop-Len  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Next Hop Address                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Next Hop Address (Cont'd)              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Next Hop Address (Cont'd)              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Next Hop Address (Cont'd)              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix Length |             Address Prefix [variable]         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Address Prefix (cont'd) [variable]        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Attribute Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      BGP Attribute [variable length]    			    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

BGP4 Attribute must not contain MP_UNREACH_NLRI. If BGP Attribute has MP_REACH_NLRI field, it must has zero length NLRI, e.g., MP_REACH_NLRI has only Address Family, SAFI and next-hop values.

If 'type' is PROTOCOL_BGP4MP and 'subtype' is BGP4MP_SNAPSHOT,

 
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           View #              |       File Name [variable]    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The file specified in "File Name" contains all routing entries, which are in the format of "subtype == BGP4MP_ENTRY".

 
Constants:
  /* type value */
  #define MSG_PROTOCOL_BGP4MP 16
  /* subtype value */
  #define BGP4MP_STATE_CHANGE 0
  #define BGP4MP_MESSAGE 1
  #define BGP4MP_ENTRY 2
  #define BGP4MP_SNAPSHOT 3


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Command Index

Jump to:   A   B   C   D   E   F   H   I   L   M   N   O   P   R   S   T   V   W  

Index Entry Section

A
access-class access-list3.1.1 Basic Config Commands
access-list name deny ipv4-network11.0.1 IP Access List
access-list name permit ipv4-network11.0.1 IP Access List
aggregate-address network9.4 BGP network
area <0-4294967295> authentication7.3 OSPF area
area <0-4294967295> authentication message-digest7.3 OSPF area
area <0-4294967295> export-list NAME7.3 OSPF area
area <0-4294967295> import-list NAME7.3 OSPF area
area <0-4294967295> range a.b.c.d/m7.3 OSPF area
area <0-4294967295> shortcut7.3 OSPF area
area <0-4294967295> stub7.3 OSPF area
area <0-4294967295> stub no-summary7.3 OSPF area
area <0-4294967295> virtual-link a.b.c.d7.3 OSPF area
area a.b.c.d authentication7.3 OSPF area
area a.b.c.d authentication message-digest7.3 OSPF area
area a.b.c.d default-cost <0-16777215>7.3 OSPF area
area a.b.c.d export-list NAME7.3 OSPF area
area a.b.c.d import-list NAME7.3 OSPF area
area a.b.c.d range a.b.c.d/m7.3 OSPF area
area a.b.c.d range IPV4_PREFIX substitute IPV4_PREFIX7.3 OSPF area
area a.b.c.d range IPV4_PREFIX suppress7.3 OSPF area
area a.b.c.d shortcut7.3 OSPF area
area a.b.c.d stub7.3 OSPF area
area a.b.c.d stub no-summary7.3 OSPF area
area a.b.c.d virtual-link a.b.c.d7.3 OSPF area
auto-cost refrence-bandwidth <1-4294967>7.2 OSPF router

B
bandwidth <1-10000000>4.2 Interface Commands
banner motd default3.1.1 Basic Config Commands
bgp cluster-id a.b.c.d9.11 Route Reflector
bgp multiple-instance9.12.1 Multiple instance
bgp router-id router-id9.2 BGP router

C
clear ip bgp peer9.8 BGP terminal mode commands
clear ip bgp peer soft in9.8 BGP terminal mode commands
clear ip prefix-list11.0.2.4 Clear counter of ip prefix-list
clear ip prefix-list name11.0.2.4 Clear counter of ip prefix-list
clear ip prefix-list name a.b.c.d/m11.0.2.4 Clear counter of ip prefix-list
configure terminal3.1.1 Basic Config Commands

D
debug event9.8 BGP terminal mode commands
debug keepalive9.8 BGP terminal mode commands
debug ospf ism7.7 Debugging OSPF
debug ospf ism (status|events|timers)7.7 Debugging OSPF
debug ospf lsa7.7 Debugging OSPF
debug ospf lsa (generate|flooding|refresh)7.7 Debugging OSPF
debug ospf nsm7.7 Debugging OSPF
debug ospf nsm (status|events|timers)7.7 Debugging OSPF
debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]7.7 Debugging OSPF
debug ospf zebra7.7 Debugging OSPF
debug ospf zebra (interface|redistribute)7.7 Debugging OSPF
debug rip events5.11 RIP Debug Commands
debug rip packet5.11 RIP Debug Commands
debug rip zebra5.11 RIP Debug Commands
debug ripng events6.3 ripngd Terminal Mode Commands
debug ripng packet6.3 ripngd Terminal Mode Commands
debug ripng zebra6.3 ripngd Terminal Mode Commands
debug update9.8 BGP terminal mode commands
default-information originate5.3 How to Announce RIP route
default-information originate7.5 Redistribute routes to OSPF
default-information originate always7.5 Redistribute routes to OSPF
default-information originate always metric <0-16777214>7.5 Redistribute routes to OSPF
default-information originate always metric <0-16777214> metric-type (1|2)7.5 Redistribute routes to OSPF
default-information originate always metric <0-16777214> metric-type (1|2) route-map word7.5 Redistribute routes to OSPF
default-information originate metric <0-16777214>7.5 Redistribute routes to OSPF
default-information originate metric <0-16777214> metric-type (1|2)7.5 Redistribute routes to OSPF
default-information originate metric <0-16777214> metric-type (1|2) route-map word7.5 Redistribute routes to OSPF
default-metric <0-16777214>7.5 Redistribute routes to OSPF
default-metric <1-16>5.5 RIP Metric Manipulation
description description ...4.2 Interface Commands
distance <1-255>5.6 RIP distance
distance <1-255>7.5 Redistribute routes to OSPF
distance <1-255> A.B.C.D/M5.6 RIP distance
distance <1-255> A.B.C.D/M access-list5.6 RIP distance
distance ospf (intra-area|inter-area|external) <1-255>7.5 Redistribute routes to OSPF
distribute-list access_list (in|out) ifname6.4 ripngd Filtering Commands
distribute-list access_list direct ifname5.4 Filtering RIP Routes
distribute-list NAME out (kernel|connected|static|rip|ospf7.5 Redistribute routes to OSPF
distribute-list prefix prefix_list (in|out) ifname5.4 Filtering RIP Routes
dump bgp all path9.14 Dump BGP packets and table
dump bgp all path interval9.14 Dump BGP packets and table
dump bgp routes path9.14 Dump BGP packets and table
dump bgp routes path9.14 Dump BGP packets and table
dump bgp updates path9.14 Dump BGP packets and table
dump bgp updates path interval9.14 Dump BGP packets and table

E
enable password password3.1.1 Basic Config Commands
exec-timeout minute3.1.1 Basic Config Commands
exec-timeout minute second3.1.1 Basic Config Commands

F
flush_timer time6.2 ripngd Configuration

H
hostname hostname3.1.1 Basic Config Commands

I
interface ifname4.2 Interface Commands
interface ifname area area8.1 OSPF6 router
ip address address4.2 Interface Commands
ip as-path access-list name type as_path11.0.4 AS Path Access List
ip community-list name type community11.0.3 IP Community List
ip ospf authentication-key AUTH_KEY7.4 OSPF interface
ip ospf cost <1-65535>7.4 OSPF interface
ip ospf dead-interval <1-65535>7.4 OSPF interface
ip ospf hello-interval <1-65535>7.4 OSPF interface
ip ospf message-digest-key KEYID md5 KEY7.4 OSPF interface
ip ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point)7.4 OSPF interface
ip ospf priority <0-255>7.4 OSPF interface
ip ospf retransmit-interval <1-65535>7.4 OSPF interface
ip ospf transmit-delay7.4 OSPF interface
ip prefix-list name (permit|deny) prefix [le len] [ge len]11.0.2 IP Prefix List
ip prefix-list name description desc11.0.2.1 ip prefix-list description
ip prefix-list name seq number (permit|deny) prefix [le len] [ge len]11.0.2 IP Prefix List
ip prefix-list sequence-number11.0.2.2 ip prefix-list sequential number control
ip rip authentication key-chain key-chain5.8 RIP Authentication
ip rip authentication mode md55.8 RIP Authentication
ip rip authentication mode text5.8 RIP Authentication
ip rip authentication string string5.8 RIP Authentication
ip rip receive version version5.2 RIP Configuration
ip rip send version version5.2 RIP Configuration
ip route network gateway4.3 Static Route Commands
ip route network gateway distance4.3 Static Route Commands
ip route network netmask gateway4.3 Static Route Commands
ip split-horizon5.2 RIP Configuration
ipv6 nd prefix-advertisement ipv6prefix13.1 Router Advertisement
ipv6 nd send-ra13.1 Router Advertisement
ipv6 ospf6 cost COST8.3 OSPF6 interface
ipv6 ospf6 dead-interval DEADINTERVAL8.3 OSPF6 interface
ipv6 ospf6 hello-interval HELLOINTERVAL8.3 OSPF6 interface
ipv6 ospf6 priority PRIORITY8.3 OSPF6 interface
ipv6 ospf6 retransmit-interval RETRANSMITINTERVAL8.3 OSPF6 interface
ipv6 ospf6 transmit-delay TRANSMITDELAY8.3 OSPF6 interface
ipv6 route network gateway4.3 Static Route Commands
ipv6 route network gateway distance4.3 Static Route Commands

L
line vty3.1.1 Basic Config Commands
list3.1.1 Basic Config Commands
log file filename3.1.1 Basic Config Commands
log stdout3.1.1 Basic Config Commands
log syslog3.1.1 Basic Config Commands

M
match aspath as_path12.0.2 Route Map Match Command
match community community_list12.0.2 Route Map Match Command
match interface NAME5.7 RIP route-map
match ip address <access-list>5.7 RIP route-map
match ip address access_list12.0.2 Route Map Match Command
match ip next-hop ipv4_addr12.0.2 Route Map Match Command
match ip next-hot A.B.C.D5.7 RIP route-map
match metric metric12.0.2 Route Map Match Command
match metric N5.7 RIP route-map
multicast4.2 Interface Commands

N
neighbor a.b.c.d5.2 RIP Configuration
neighbor peer default-originate9.6 Peer configuration
neighbor peer description ...9.6 Peer configuration
neighbor peer distribute-list name [in|out]9.7 Peer filtering
neighbor peer dont-capability-negotiate9.10 Multiprotocol Extension for BGP
neighbor peer ebgp-multihop9.6 Peer configuration
neighbor peer filter-list name [in|out]9.7 Peer filtering
neighbor peer interface ifname9.6 Peer configuration
neighbor peer maximum-prefix number9.6 Peer configuration
neighbor peer next-hop-self9.6 Peer configuration
neighbor peer override-capability9.10 Multiprotocol Extension for BGP
neighbor peer port port9.6 Peer configuration
neighbor peer port port9.6 Peer configuration
neighbor peer prefix-list name [in|out]9.7 Peer filtering
neighbor peer remote-as as-number9.3 BGP peer
neighbor peer route-map name [in|out]9.7 Peer filtering
neighbor peer route-reflector-client9.11 Route Reflector
neighbor peer send-community9.6 Peer configuration
neighbor peer send-community9.6 Peer configuration
neighbor peer shutdown9.6 Peer configuration
neighbor peer strict-capability-match9.10 Multiprotocol Extension for BGP
neighbor peer update-source9.6 Peer configuration
neighbor peer version version9.6 Peer configuration
neighbor peer weight weight9.6 Peer configuration
network a.b.c.d/m area <0-4294967295>7.2 OSPF router
network a.b.c.d/m area a.b.c.d7.2 OSPF router
network ifname5.2 RIP Configuration
network ifname6.2 ripngd Configuration
network network5.2 RIP Configuration
network network6.2 ripngd Configuration
network network9.4 BGP network
no aggregate-address network9.4 BGP network
no area <0-4294967295> authentication7.3 OSPF area
no area <0-4294967295> export-list NAME7.3 OSPF area
no area <0-4294967295> import-list NAME7.3 OSPF area
no area <0-4294967295> range a.b.c.d/m7.3 OSPF area
no area <0-4294967295> shortcut7.3 OSPF area
no area <0-4294967295> stub7.3 OSPF area
no area <0-4294967295> stub no-summary7.3 OSPF area
no area <0-4294967295> virtual-link a.b.c.d7.3 OSPF area
no area a.b.c.d authentication7.3 OSPF area
no area a.b.c.d default-cost <0-16777215>7.3 OSPF area
no area a.b.c.d export-list NAME7.3 OSPF area
no area a.b.c.d import-list NAME7.3 OSPF area
no area a.b.c.d range a.b.c.d/m7.3 OSPF area
no area a.b.c.d range IPV4_PREFIX substitute IPV4_PREFIX7.3 OSPF area
no area a.b.c.d range IPV4_PREFIX suppress7.3 OSPF area
no area a.b.c.d shortcut7.3 OSPF area
no area a.b.c.d stub7.3 OSPF area
no area a.b.c.d stub no-summary7.3 OSPF area
no area a.b.c.d virtual-link a.b.c.d7.3 OSPF area
no auto-cost refrence-bandwidth7.2 OSPF router
no bandwidth <1-10000000>4.2 Interface Commands
no banner motd3.1.1 Basic Config Commands
no bgp multiple-instance9.12.1 Multiple instance
no debug event9.8 BGP terminal mode commands
no debug keepalive9.8 BGP terminal mode commands
no debug ospf ism7.7 Debugging OSPF
no debug ospf ism (status|events|timers)7.7 Debugging OSPF
no debug ospf lsa7.7 Debugging OSPF
no debug ospf lsa (generate|flooding|refresh)7.7 Debugging OSPF
no debug ospf nsm7.7 Debugging OSPF
no debug ospf nsm (status|events|timers)7.7 Debugging OSPF
no debug ospf packet (hello|dd|ls-request|ls-update|ls-ack|all) (send|recv) [detail]7.7 Debugging OSPF
no debug ospf zebra7.7 Debugging OSPF
no debug ospf zebra (interface|redistribute)7.7 Debugging OSPF
no debug update9.8 BGP terminal mode commands
no default-information originate7.5 Redistribute routes to OSPF
no default-metric7.5 Redistribute routes to OSPF
no default-metric <1-16>5.5 RIP Metric Manipulation
no distance <1-255>5.6 RIP distance
no distance <1-255>7.5 Redistribute routes to OSPF
no distance <1-255> A.B.C.D/M5.6 RIP distance
no distance <1-255> A.B.C.D/M access-list5.6 RIP distance
no distance ospf7.5 Redistribute routes to OSPF
no distribute-list NAME out (kernel|connected|static|rip|ospf7.5 Redistribute routes to OSPF
no exec-timeout3.1.1 Basic Config Commands
no ip ospf authentication-key7.4 OSPF interface
no ip ospf cost7.4 OSPF interface
no ip ospf dead-interval7.4 OSPF interface
no ip ospf hello-interval7.4 OSPF interface
no ip ospf message-digest-key7.4 OSPF interface
no ip ospf network7.4 OSPF interface
no ip ospf priority7.4 OSPF interface
no ip ospf retransmit interval7.4 OSPF interface
no ip ospf transmit-delay7.4 OSPF interface
no ip prefix-list name11.0.2 IP Prefix List
no ip prefix-list name description [desc]11.0.2.1 ip prefix-list description
no ip prefix-list sequence-number11.0.2.2 ip prefix-list sequential number control
no ip rip authentication key-chain key-chain5.8 RIP Authentication
no ip rip authentication mode md55.8 RIP Authentication
no ip rip authentication mode text5.8 RIP Authentication
no ip rip authentication string string5.8 RIP Authentication
no ip split-horizon5.2 RIP Configuration
no log stdout3.1.1 Basic Config Commands
no log syslog3.1.1 Basic Config Commands
no multicast4.2 Interface Commands
no neighbor a.b.c.d5.2 RIP Configuration
no neighbor peer default-originate9.6 Peer configuration
no neighbor peer description ...9.6 Peer configuration
no neighbor peer dont-capability-negotiate9.10 Multiprotocol Extension for BGP
no neighbor peer ebgp-multihop9.6 Peer configuration
no neighbor peer interface ifname9.6 Peer configuration
no neighbor peer maximum-prefix number9.6 Peer configuration
no neighbor peer next-hop-self9.6 Peer configuration
no neighbor peer override-capability9.10 Multiprotocol Extension for BGP
no neighbor peer route-reflector-client9.11 Route Reflector
no neighbor peer shutdown9.6 Peer configuration
no neighbor peer strict-capability-match9.10 Multiprotocol Extension for BGP
no neighbor peer update-source9.6 Peer configuration
no neighbor peer weight weight9.6 Peer configuration
no network a.b.c.d/m area <0-4294967295>7.2 OSPF router
no network a.b.c.d/m area a.b.c.d7.2 OSPF router
no network ifname5.2 RIP Configuration
no network network5.2 RIP Configuration
no network network9.4 BGP network
no ospf abr-type type7.2 OSPF router
no ospf rfc1583compatibility7.2 OSPF router
no ospf router-id7.2 OSPF router
no passive interface interface7.2 OSPF router
no passive-interface IFNAME5.2 RIP Configuration
no redistribute (kernel|connected|static|rip|bgp)7.5 Redistribute routes to OSPF
no redistribute bgp5.3 How to Announce RIP route
no redistribute connected5.3 How to Announce RIP route
no redistribute kernel5.3 How to Announce RIP route
no redistribute ospf5.3 How to Announce RIP route
no redistribute static5.3 How to Announce RIP route
no rouer rip5.2 RIP Configuration
no route a.b.c.d/m5.3 How to Announce RIP route
no router bgp as-number9.2 BGP router
no router ospf7.2 OSPF router
no router zebra7.5 Redistribute routes to OSPF
no shutdown4.2 Interface Commands
no smux peer oid15.2 SMUX configuration
no smux peer oid password15.2 SMUX configuration
no timers basic5.9 RIP Timers
no timers spf7.2 OSPF router

O
offset-list access-list (in|out)5.5 RIP Metric Manipulation
offset-list access-list (in|out) ifname5.5 RIP Metric Manipulation
ospf abr-type type7.2 OSPF router
ospf rfc1583compatibility7.2 OSPF router
ospf router-id a.b.c.d7.2 OSPF router

P
passive interface interface7.2 OSPF router
passive-interface IFNAME5.2 RIP Configuration
password password3.1.1 Basic Config Commands

R
redistribute (kernel|connected|static|rip|bgp)7.5 Redistribute routes to OSPF
redistribute (kernel|connected|static|rip|bgp) metric <0-16777214>7.5 Redistribute routes to OSPF
redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> route-map word7.5 Redistribute routes to OSPF
redistribute (kernel|connected|static|rip|bgp) metric-type (1|2)7.5 Redistribute routes to OSPF
redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214>7.5 Redistribute routes to OSPF
redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map word7.5 Redistribute routes to OSPF
redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) route-map word7.5 Redistribute routes to OSPF
redistribute (kernel|connected|static|rip|bgp) route-map7.5 Redistribute routes to OSPF
redistribute bgp5.3 How to Announce RIP route
redistribute bgp metric <0-16>5.3 How to Announce RIP route
redistribute bgp route-map route-map5.3 How to Announce RIP route
redistribute connected5.3 How to Announce RIP route
redistribute connected8.4 Redistribute routes to OSPF6
redistribute connected9.5 Redistribute to BGP
redistribute connected metric <0-16>5.3 How to Announce RIP route
redistribute connected route-map route-map5.3 How to Announce RIP route
redistribute kernel5.3 How to Announce RIP route
redistribute kernel9.5 Redistribute to BGP
redistribute kernel metric <0-16>5.3 How to Announce RIP route
redistribute kernel route-map route-map5.3 How to Announce RIP route
redistribute ospf5.3 How to Announce RIP route
redistribute ospf9.5 Redistribute to BGP
redistribute ospf metric <0-16>5.3 How to Announce RIP route
redistribute ospf route-map route-map5.3 How to Announce RIP route
redistribute rip9.5 Redistribute to BGP
redistribute ripng8.4 Redistribute routes to OSPF6
redistribute static5.3 How to Announce RIP route
redistribute static8.4 Redistribute routes to OSPF6
redistribute static9.5 Redistribute to BGP
redistribute static metric <0-16>5.3 How to Announce RIP route
redistribute static route-map route-map5.3 How to Announce RIP route
refresh age-diff <0-10000>7.2 OSPF router
refresh group-limit <0-10000>7.2 OSPF router
refresh per-slice <0-10000>7.2 OSPF router
route a.b.c.d/m5.3 How to Announce RIP route
route network6.2 ripngd Configuration
route-map route-map-name permit priority12.0.1 Route Map Command
router bgp as-number9.2 BGP router
router bgp as-number9.12.2 BGP instance and view
router bgp as-number view name9.12.2 BGP instance and view
router ospf7.2 OSPF router
router ospf68.1 OSPF6 router
router rip5.2 RIP Configuration
router ripng6.2 ripngd Configuration
router zebra6.2 ripngd Configuration
router zebra7.5 Redistribute routes to OSPF
router-id a.b.c.d8.1 OSPF6 router

S
service advanced-vty3.1.1 Basic Config Commands
service password-encryption3.1.1 Basic Config Commands
service terminal-length <0-512>3.1.1 Basic Config Commands
set as-path prepend as_path12.0.3 Route Map Set Command
set community community12.0.3 Route Map Set Command
set ip next-hop ipv4_address12.0.3 Route Map Set Command
set ipv6 next-hop global ipv6_address12.0.3 Route Map Set Command
set ipv6 next-hop local ipv6_address12.0.3 Route Map Set Command
set local-preference local_pref12.0.3 Route Map Set Command
set metric <0-4294967295>5.7 RIP route-map
set metric metric12.0.3 Route Map Set Command
set next-hop A.B.C.D5.7 RIP route-map
set weight weight12.0.3 Route Map Set Command
show debug9.8 BGP terminal mode commands
show debugging ospf7.7 Debugging OSPF
show debugging rip5.11 RIP Debug Commands
show debugging ripng6.3 ripngd Terminal Mode Commands
show interface4.4 zebra Terminal Mode Commands
show ip bgp [network]9.8 BGP terminal mode commands
show ip bgp neighbor [peer]9.8 BGP terminal mode commands
show ip bgp regexp as-regexp9.8 BGP terminal mode commands
show ip bgp summary9.8 BGP terminal mode commands
show ip bgp view name9.12.4 Viewing the view
show ip ospf7.6 Showing OSPF information
show ip ospf database7.6 Showing OSPF information
show ip ospf database (asbr-summary|external|network|router|summary)7.6 Showing OSPF information
show ip ospf database (asbr-summary|external|network|router|summary) adv-router adv-router7.6 Showing OSPF information
show ip ospf database (asbr-summary|external|network|router|summary) link-state-id7.6 Showing OSPF information
show ip ospf database (asbr-summary|external|network|router|summary) link-state-id adv-router adv-router7.6 Showing OSPF information
show ip ospf database (asbr-summary|external|network|router|summary) link-state-id self-originate7.6 Showing OSPF information
show ip ospf database (asbr-summary|external|network|router|summary) self-originate7.6 Showing OSPF information
show ip ospf database max-age7.6 Showing OSPF information
show ip ospf database self-originate7.6 Showing OSPF information
show ip ospf interface [INTERFACE]7.6 Showing OSPF information
show ip ospf neighbor7.6 Showing OSPF information
show ip ospf neighbor detail7.6 Showing OSPF information
show ip ospf neighbor INTERFACE7.6 Showing OSPF information
show ip ospf neighbor INTERFACE detail7.6 Showing OSPF information
show ip ospf refresher7.6 Showing OSPF information
show ip ospf route7.6 Showing OSPF information
show ip prefix-list11.0.2.3 Showing ip prefix-list
show ip prefix-list detail11.0.2.3 Showing ip prefix-list
show ip prefix-list detail name11.0.2.3 Showing ip prefix-list
show ip prefix-list name11.0.2.3 Showing ip prefix-list
show ip prefix-list name a.b.c.d/m11.0.2.3 Showing ip prefix-list
show ip prefix-list name a.b.c.d/m first-match11.0.2.3 Showing ip prefix-list
show ip prefix-list name a.b.c.d/m longer11.0.2.3 Showing ip prefix-list
show ip prefix-list name seq num11.0.2.3 Showing ip prefix-list
show ip prefix-list summary11.0.2.3 Showing ip prefix-list
show ip prefix-list summary name11.0.2.3 Showing ip prefix-list
show ip protocols5.10 Show RIP Information
show ip rip5.10 Show RIP Information
show ip ripng6.3 ripngd Terminal Mode Commands
show ip route4.4 zebra Terminal Mode Commands
show ipforward4.4 zebra Terminal Mode Commands
show ipv6 ospf6 [INSTANCE_ID]8.5 Showing OSPF6 information
show ipv6 ospf6 database8.5 Showing OSPF6 information
show ipv6 ospf6 interface8.5 Showing OSPF6 information
show ipv6 ospf6 neighbor8.5 Showing OSPF6 information
show ipv6 ospf6 request-list A.B.C.D8.5 Showing OSPF6 information
show ipv6 route4.4 zebra Terminal Mode Commands
show ipv6 route ospf68.5 Showing OSPF6 information
show ipv6forward4.4 zebra Terminal Mode Commands
show version3.1.1 Basic Config Commands
shutdown4.2 Interface Commands
smux peer oid15.2 SMUX configuration
smux peer oid password15.2 SMUX configuration

T
table tableno4.3 Static Route Commands
terminal length <0-512>3.1.1 Basic Config Commands
timers basic update timeout garbage5.9 RIP Timers
timers spf <0-4294967295> <0-4294967295>7.2 OSPF router

V
version version5.2 RIP Configuration

W
who3.1.1 Basic Config Commands
write file3.1.1 Basic Config Commands
write terminal3.1.1 Basic Config Commands

Jump to:   A   B   C   D   E   F   H   I   L   M   N   O   P   R   S   T   V   W  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

VTY Key Index

Jump to:   ?  
C   D   L   M   R   T   U  

Index Entry Section

?
?3.3.3.3 CLI Advanced Commands

C
C-a3.3.3.1 CLI Movement Commands
C-b3.3.3.1 CLI Movement Commands
C-c3.3.3.3 CLI Advanced Commands
C-d3.3.3.2 CLI Editing Commands
C-e3.3.3.1 CLI Movement Commands
C-f3.3.3.1 CLI Movement Commands
C-h3.3.3.2 CLI Editing Commands
C-k3.3.3.2 CLI Editing Commands
C-n3.3.3.3 CLI Advanced Commands
C-p3.3.3.3 CLI Advanced Commands
C-t3.3.3.2 CLI Editing Commands
C-u3.3.3.2 CLI Editing Commands
C-w3.3.3.2 CLI Editing Commands
C-z3.3.3.3 CLI Advanced Commands

D
DEL3.3.3.2 CLI Editing Commands
DOWN3.3.3.3 CLI Advanced Commands

L
LEFT3.3.3.1 CLI Movement Commands

M
M-b3.3.3.1 CLI Movement Commands
M-d3.3.3.2 CLI Editing Commands
M-f3.3.3.1 CLI Movement Commands

R
RIGHT3.3.3.1 CLI Movement Commands

T
TAB3.3.3.3 CLI Advanced Commands

U
UP3.3.3.3 CLI Advanced Commands

Jump to:   ?  
C   D   L   M   R   T   U  


[Top] [Contents] [Index] [ ? ]

Notes

(1)

La configuration du noyau est très souple sous GNU/Linux. Vérifiez bien que la configuration du noyau que vous utilisez correspond à vos besoins. Zebra fonctionnera avec n'importe quelle configuration du noyau mais il existe des recommandations :

CONFIG_NETLINK
Kernel/User netlink socket. C'est une nouvelle fonctionnalité qui permet une interface améliorée entre le noyau de Linux et Zebra (voir section 14. Interface avec le noyau).

CONFIG_RTNETLINK
Messages de routage. Si vous spécifiez cette option, zebra peut recevoir les messages de routage netlink et détecter directement les mises à jour des informations de routage du noyau (voir section 14. Interface avec le noyau).

CONFIG_IP_MULTICAST
IP : multicasting. Cette option doit être spécifiée si vous utilisez ripd ou ospfd car ces protocoles utilisent le multicast

Le support d'IPv6 a été implémenté dans la version 2.2 du noyau de GNU/Linux. Si vous voulez utiliser IPv6 avec Zebra, vérifiez que les librairies ci-dessous ont été installées. Notez que vous n'aurez pas besoin de ces librairies si vous utilisez la librairie GNU C 2.1 ou suivantes.

inet6-apps
Le paquetage inet6-apps inclut les librairies de base comme inet_ntop et inet_pton. Certains programmes IPv6 élémentaires comme ping, ftp et inetd sont également inclus. inet6-apps peut être trouvé à ftp://ftp.inner.net/pub/ipv6/.

net-tools
Le paquetage net-tools fournit des utilitaires d'activation des interfaces et de routage. Il contient en particulier ifconfig, route, netstat ainsi que d'autres outils. net-tools peut être trouvé à http://www.tazenda.demon.co.uk/phil/net-tools/.


[Top] [Contents] [Index] [ ? ]

Table of Contents


[Top] [Contents] [Index] [ ? ]

Short Table of Contents

1. Overview
2. Installation
3. Basic commands
4. zebra
5. ripd
6. ripngd
7. ospfd
8. ospf6d
9. bgpd
10. vtysh
11. Filtering
12. Route Map
13. IPv6 Support
14. Kernel Interface
15. SNMP Support
A. Zebra Protocol
B. Packet Binary Dump Format
Command Index
VTY Key Index

[Top] [Contents] [Index] [ ? ]

About this document

This document was generated by root on February, 5 2002 using texi2html

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back previous section in reading order 1.2.2
[ > ] Forward next section in reading order 1.2.4
[ << ] FastBack previous or up-and-previous section 1.1
[ Up ] Up up section 1.2
[ >> ] FastForward next or up-and-next section 1.3
[Top] Top cover (top) of document  
[Contents] Contents table of contents  
[Index] Index concept index  
[ ? ] About this page  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

This document was generated by root on February, 5 2002 using texi2html