Exemple : Application de stratégies de routage à différents niveaux de la hiérarchie BGP
Cet exemple montre BGP configuré dans une topologie de réseau simple et explique comment les stratégies de routage prennent effet lorsqu’elles sont appliquées à différents niveaux de la configuration BGP.
Conditions préalables
Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise avant de configurer cet exemple.
Présentation
Pour BGP, vous pouvez appliquer les stratégies comme suit :
-
BGP global
importand statements (Instructions et globales BGPexport) : incluez ces instructions au niveau de la hiérarchie (pour les[edit protocols bgp]instances de routage, incluez-les au niveau de la[edit routing-instances routing-instance-name protocols bgp]hiérarchie). -
Group and statements (Group
importandexportstatements) : incluez ces instructions au niveau de la hiérarchie (pour les[edit protocols bgp group group-name]instances de routage, incluez-les au niveau de la[edit routing-instances routing-instance-name protocols bgp group group-name]hiérarchie). -
Peer
importand statements (Homologue etexportinstructions) : incluez ces instructions au niveau de la hiérarchie (pour les[edit protocols bgp group group-name neighbor address]instances de routage, incluez-les au niveau de la[edit routing-instances routing-instance-name protocols bgp group group-name neighbor address]hiérarchie). -
family
importandexportstatements : incluez ces instructions au niveau de la hiérarchie (pour les[edit protocols bgp family nlri]instances de routage, incluez ces instructions au niveau de la[edit routing-instances routing-instance-name protocols bgp family nlri]hiérarchie).
Un niveau homologue import ou export une instruction remplace un groupe import ou export une instruction. Une instruction ou un groupe import remplace export un BGP import ou export une instruction globale.
Dans cet exemple, une stratégie nommée send-direct est appliquée au niveau global, une autre stratégie nommée send-192.168.0.1 est appliquée au niveau du groupe et une troisième stratégie nommée send-192.168.20.1 est appliquée au niveau voisin.
user@host# show protocols
bgp {
local-address 172.16.1.1;
export send-direct;
group internal-peers {
type internal;
export send-192.168.0.1;
neighbor 172.16.2.2 {
export send-192.168.20.1;
}
neighbor 172.16.3.3;
}
group other-group {
type internal;
neighbor 172.16.4.4;
}
}
Un point clé, souvent mal compris et qui peut entraîner des problèmes, est que dans une telle configuration, seule la politique la plus explicite est appliquée. Une stratégie de voisinage est plus explicite qu’une stratégie de groupe, qui à son tour est plus explicite qu’une stratégie globale.
Le voisin 172.16.2.2 n’est soumis qu’à la politique send-192.168.20.1. Le voisin 172.16.3.3, n’ayant rien de plus spécifique, n’est soumis qu’à la politique send-192.168.0.1. Pendant ce temps, le voisin 172.16.4.4 dans le groupe autre-groupe n’a pas de stratégie de groupe ou de voisinage, il utilise donc la stratégie d’envoi direct.
Si vous avez besoin que le voisin 172.16.2.2 exécute la fonction des trois stratégies, vous pouvez écrire et appliquer une nouvelle stratégie de voisinage qui englobe les fonctions des trois autres, ou vous pouvez appliquer les trois stratégies existantes, en tant que chaîne, au voisin 172.16.2.2.
Topologie
Figure 1 montre l’exemple de réseau.

Configuration rapide de l’interface de ligne de commande affiche la configuration de tous les périphériques dans Figure 1.
Cette section #configuration__policy-bgp-apply-levels-st décrit les étapes à suivre sur l’appareil R1.
Configuration
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie.
Appareil R1
set interfaces fe-1/2/0 unit 0 description to-R2 set interfaces fe-1/2/0 unit 0 family inet address 10.10.10.1/30 set interfaces lo0 unit 0 family inet address 172.16.1.1/32 set protocols bgp local-address 172.16.1.1 set protocols bgp export send-direct set protocols bgp group internal-peers type internal set protocols bgp group internal-peers export send-static-192.168.0 set protocols bgp group internal-peers neighbor 172.16.2.2 export send-static-192.168.20 set protocols bgp group internal-peers neighbor 172.16.3.3 set protocols bgp group other-group type internal set protocols bgp group other-group neighbor 172.16.4.4 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set policy-options policy-statement send-direct term 1 from protocol direct set policy-options policy-statement send-direct term 1 then accept set policy-options policy-statement send-static-192.168.0 term 1 from protocol static set policy-options policy-statement send-static-192.168.0 term 1 from route-filter 192.168.0.0/24 orlonger set policy-options policy-statement send-static-192.168.0 term 1 then accept set policy-options policy-statement send-static-192.168.20 term 1 from protocol static set policy-options policy-statement send-static-192.168.20 term 1 from route-filter 192.168.20.0/24 orlonger set policy-options policy-statement send-static-192.168.20 term 1 then accept set routing-options static route 192.168.0.1/32 discard set routing-options static route 192.168.20.1/32 discard set routing-options router-id 172.16.1.1 set routing-options autonomous-system 17
Appareil R2
set interfaces fe-1/2/0 unit 0 description to-R1 set interfaces fe-1/2/0 unit 0 family inet address 10.10.10.2/30 set interfaces fe-1/2/1 unit 0 description to-R3 set interfaces fe-1/2/1 unit 0 family inet address 10.10.10.5/30 set interfaces lo0 unit 0 family inet address 172.16.2.2/32 set protocols bgp group internal-peers type internal set protocols bgp group internal-peers local-address 172.16.2.2 set protocols bgp group internal-peers neighbor 172.16.3.3 set protocols bgp group internal-peers neighbor 172.16.1.1 set protocols bgp group internal-peers neighbor 172.16.4.4 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set routing-options router-id 172.16.2.2 set routing-options autonomous-system 17
Appareil R3
set interfaces fe-1/2/1 unit 0 description to-R2 set interfaces fe-1/2/1 unit 0 family inet address 10.10.10.6/30 set interfaces fe-1/2/2 unit 0 description to-R4 set interfaces fe-1/2/2 unit 0 family inet address 10.10.10.9/30 set interfaces lo0 unit 0 family inet address 172.16.3.3/32 set protocols bgp group internal-peers type internal set protocols bgp group internal-peers local-address 172.16.3.3 set protocols bgp group internal-peers neighbor 172.16.2.2 set protocols bgp group internal-peers neighbor 172.16.1.1 set protocols bgp group internal-peers neighbor 172.16.4.4 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface fe-1/2/2.0 set routing-options router-id 172.16.3.3 set routing-options autonomous-system 17
Appareil R4
set interfaces fe-1/2/2 unit 0 description to-R3 set interfaces fe-1/2/2 unit 0 family inet address 10.10.10.10/30 set interfaces lo0 unit 0 family inet address 172.16.4.4/32 set protocols bgp group internal-peers type internal set protocols bgp group internal-peers local-address 172.16.4.4 set protocols bgp group internal-peers neighbor 172.16.2.2 set protocols bgp group internal-peers neighbor 172.16.1.1 set protocols bgp group internal-peers neighbor 172.16.3.3 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fe-1/2/2.0 set routing-options router-id 172.16.4.4 set routing-options autonomous-system 17
Procédure
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans l’interface de ligne de commande, reportez-vous à la section Utilisation de l’éditeur CLI en mode de configuration dans le Guide de l’utilisateur de l’interface de ligne de commande.
Pour configurer une stratégie de routage IS-IS par défaut :
Configurez les interfaces de l’appareil.
[edit interfaces] user@R1# set fe-1/2/0 unit 0 description to-R2 user@R1# set fe-1/2/0 unit 0 family inet address 10.10.10.1/30 user@R1# set lo0 unit 0 family inet address 172.16.1.1/32
Activez OSPF, ou un autre protocole IGP (Interior Gateway Protocols), sur les interfaces.
[edit protocols OSPF area 0.0.0.0] user@R1# set interface lo0.0 passive user@R1# set interface fe-1/2/0.0
Configurez les routes statiques.
[edit routing-options] user@R1# set static route 192.168.0.1/32 discard user@R1# set static route 192.168.20.1/32 discard
Activez les stratégies de routage.
[edit protocols policy-options] user@R1# set policy-statement send-direct term 1 from protocol direct user@R1# set policy-statement send-direct term 1 then accept user@R1# set policy-statement send-static-192.168.0 term 1 from protocol static user@R1# set policy-statement send-static-192.168.0 term 1 from route-filter 192.168.0.0/24 orlonger user@R1# set policy-statement send-static-192.168.0 term 1 then accept user@R1# set policy-statement send-static-192.168.20 term 1 from protocol static user@R1# set policy-statement send-static-192.168.20 term 1 from route-filter 192.168.20.0/24 orlonger user@R1# set policy-statement send-static-192.168.20 term 1 then accept
Configurez BGP et appliquez les stratégies d’exportation.
[edit protocols bgp] user@R1# set local-address 172.16.1.1 user@R1# set protocols bgp export send-direct user@R1# set group internal-peers type internal user@R1# set group internal-peers export send-static-192.168.0 user@R1# set group internal-peers neighbor 172.16.2.2 export send-static-192.168.20 user@R1# set group internal-peers neighbor 172.16.3.3 user@R1# set group other-group type internal user@R1# set group other-group neighbor 172.16.4.4
Configurez l’ID du routeur et le numéro du système autonome (AS).
[edit routing-options] user@R1# set router-id 172.16.1.1 user@R1# set autonomous-system 17
Si vous avez terminé de configurer l’appareil, validez la configuration.
[edit] user@R1# commit
Résultats
À partir du mode configuration, confirmez votre configuration en exécutant les show interfacescommandes , show protocols, show policy-optionset show routing-options . Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.
user@R1# show interfaces
fe-1/2/0 {
unit 0 {
description to-R2;
family inet {
address 10.10.10.1/30;
}
}
}
lo0 {
unit 0 {
family inet {
address 172.16.1.1/32;
}
}
}
user@R1# show protocols
bgp {
local-address 172.16.1.1;
export send-direct;
group internal-peers {
type internal;
export send-static-192.168.0;
neighbor 172.16.2.2 {
export send-static-192.168.20;
}
neighbor 172.16.3.3;
}
group other-group {
type internal;
neighbor 172.16.4.4;
}
}
ospf {
area 0.0.0.0 {
interface lo0.0 {
passive;
}
interface fe-1/2/0.0;
}
}
user@R1# show policy-options
policy-statement send-direct {
term 1 {
from protocol direct;
then accept;
}
}
policy-statement send-static-192.168.0 {
term 1 {
from {
protocol static;
route-filter 192.168.0.0/24 orlonger;
}
then accept;
}
}
policy-statement send-static-192.168.20 {
term 1 {
from {
protocol static;
route-filter 192.168.20.0/24 orlonger;
}
then accept;
}
}
user@R1# show routing-options
static {
route 192.168.0.1/32 discard;
route 192.168.20.1/32 discard;
}
router-id 172.16.1.1;
autonomous-system 17;
Vérification
Vérifiez que la configuration fonctionne correctement.
Vérification de BGP Route Learning
But
Assurez-vous que les stratégies d’exportation BGP fonctionnent comme prévu en consultant les tables de routage.
Action
user@R1> show route protocol direct
inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.16.1.1/32 *[Direct/0] 1d 22:19:47
> via lo0.0
10.10.10.0/30 *[Direct/0] 1d 22:19:47
> via fe-1/2/0.0
user@R1> show route protocol static
inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
192.168.0.1/32 *[Static/5] 02:20:03
Discard
192.168.20.1/32 *[Static/5] 02:20:03
Discarduser@R2> show route protocol bgp
inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
192.168.20.1/32 *[BGP/170] 02:02:40, localpref 100, from 172.16.1.1
AS path: I, validation-state: unverified
> to 10.10.10.1 via fe-1/2/0.0user@R3> show route protocol bgp
inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
192.168.0.1/32 *[BGP/170] 02:02:51, localpref 100, from 172.16.1.1
AS path: I, validation-state: unverified
> to 10.10.10.5 via fe-1/2/1.0user@R4> show route protocol bgp
inet.0: 9 destinations, 11 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.16.1.1/32 [BGP/170] 1d 20:38:54, localpref 100, from 172.16.1.1
AS path: I, validation-state: unverified
> to 10.10.10.9 via fe-1/2/2.0
10.10.10.0/30 [BGP/170] 1d 20:38:54, localpref 100, from 172.16.1.1
AS path: I, validation-state: unverified
> to 10.10.10.9 via fe-1/2/2.0Sens
Sur l’appareil R1, la show route protocol direct commande affiche deux itinéraires directs : 172.16.1.1/32 et 10.10.10.0/30. La show route protocol static commande affiche deux routes statiques : 192.168.0.1/32 et 192.168.20.1/32.
Sur le périphérique R2, la show route protocol bgp commande indique que le seul itinéraire que le périphérique R2 a appris via BGP est l’itinéraire 192.168.20.1/32.
Sur le périphérique R3, la show route protocol bgp commande indique que le seul itinéraire que le périphérique R3 a appris via BGP est l’itinéraire 192.168.0.1/32.
Sur le périphérique R4, la show route protocol bgp commande indique que les seules routes que le périphérique R4 a apprises via BGP sont les routes 172.16.1.1/32 et 10.10.10.0/30.
Vérification de la réception d’une route BGP
But
Assurez-vous que les stratégies d’exportation BGP fonctionnent comme prévu en vérifiant les routes BGP reçues de l’appareil R1.
Action
user@R2> show route receive-protocol bgp 172.16.1.1 inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 192.168.20.1/32 172.16.1.1 100 I
user@R3> show route receive-protocol bgp 172.16.1.1 inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 192.168.0.1/32 172.16.1.1 100 I
user@R4> show route receive-protocol bgp 172.16.1.1 inet.0: 9 destinations, 11 routes (9 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path 172.16.1.1/32 172.16.1.1 100 I 10.10.10.0/30 172.16.1.1 100 I
Sens
Sur le périphérique R2, la route receive-protocol bgp 172.16.1.1 commande indique que le périphérique R2 n’a reçu qu’une seule route BGP, 192.168.20.1/32, du périphérique R1.
Sur l’appareil R3, la route receive-protocol bgp 172.16.1.1 commande indique que l’appareil R3 n’a reçu qu’une seule route BGP, 192.168.0.1/32, de l’appareil R1.
Sur le périphérique R4, la route receive-protocol bgp 172.16.1.1 commande indique que le périphérique R4 a reçu deux routes BGP, 172.16.1.1/32 et 10.10.10.0/30, du périphérique R1.
En résumé, lorsque plusieurs politiques sont appliquées à différentes hiérarchies CLI dans BGP, seule l’application la plus spécifique est évaluée, à l’exclusion des autres applications de politiques moins spécifiques. Bien que ce point puisse sembler logique, il est facilement oublié lors de la configuration du routeur, lorsque vous croyez à tort qu’une stratégie de voisinage est combinée à une stratégie globale ou de groupe, pour constater que le comportement de votre stratégie n’est pas celui prévu.