Exemple : Configuration des chaînes de stratégies et des filtres de routage
Une chaîne de stratégies est l’application de plusieurs stratégies au sein d’une section spécifique de la configuration. Un filtre de route est un ensemble de préfixes de correspondance.
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
Voici un exemple de chaîne de stratégies appliquée à BGP :
user@R1# show protocols bgp group int { type internal; local-address 192.168.0.1; export [ adv-statics adv-large-aggregates adv-small-aggregates ]; neighbor 192.168.0.2; neighbor 192.168.0.3; }
Les adv-statics
stratégies , et , en adv-small-aggregates
plus de la stratégie BGP par défaut, adv-large-aggregates
constituent la chaîne de stratégies appliquée aux homologues BGP de l’appareil R1. Deux de ces stratégies présentent des filtres de routage avec différents types de correspondances. L’autre stratégie correspond à toutes les routes statiques, de sorte qu’aucun filtre de route n’est nécessaire.
user@R1# show policy-options policy-statement adv-large-aggregates { term between-16-and-18 { from { protocol aggregate; route-filter 172.16.0.0/16 upto /18; } then accept; } } policy-statement adv-small-aggregates { term between-19-and-24 { from { protocol aggregate; route-filter 172.16.0.0/16 prefix-length-range /19-/24; } then accept; } } policy-statement adv-statics { term statics { from protocol static; then accept; } }
Si vous le souhaitez, vous pouvez convertir cette chaîne de stratégies en une seule stratégie multiterm pour les homologues BGP internes (IBGP). Dans ce cas, l’un des avantages d’une chaîne de politiques est perdu : la possibilité de réutiliser les stratégies à différentes fins.
Figure 1 affiche l’appareil R1 dans l’AS 64510 avec ses homologues IBGP, l’appareil R2 et l’appareil R3. L’appareil R1 dispose également de connexions BGP externes (EBGP) avec l’appareil R4 dans l’AS 64511 et l’appareil R5 dans l’AS 64512. La politique administrative actuelle au sein de l’AS 64510 est d’envoyer les routes statiques du client uniquement vers d’autres homologues IBGP. Tout homologue EBGP fournissant un service de transit reçoit uniquement des routes agrégées dont la longueur de masque est inférieure à 18 bits. Tout homologue EBGP fournissant des services d’appairage reçoit toutes les routes client et tous les agrégats dont la longueur de masque est supérieure à 19 bits. Chaque partie de ces stratégies d’administration est configurée dans une stratégie de routage distincte au sein de la [edit policy-opitons]
hiérarchie de configuration. Ces stratégies fournissent aux administrateurs de l’AS 64510 plusieurs options de configuration pour les chemins de publication vers les pairs.
L’appareil R4 fournit un service de transit vers l’AS 64510, ce qui permet à l’AS d’annoncer l’espace de routage qui lui a été attribué sur Internet. D’autre part, le service d’appairage fourni par l’appareil R5 permet à l’AS 64510 d’acheminer le trafic directement entre les systèmes autonomes (AS) pour toutes les routes client.
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.
La section Procédure décrit les étapes 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.0.0.1/30 set interfaces fe-1/2/2 unit 0 description to_R3 set interfaces fe-1/2/2 unit 0 family inet address 10.0.0.5/30 set interfaces fe-1/2/3 unit 0 description to_R4 set interfaces fe-1/2/3 unit 0 family inet address 10.1.0.5/30 set interfaces fe-1/2/1 unit 0 description to_R5 set interfaces fe-1/2/1 unit 0 family inet address 10.0.0.10/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.1 set protocols bgp group int export adv-statics set protocols bgp group int export adv-large-aggregates set protocols bgp group int export adv-small-aggregates set protocols bgp group int neighbor 192.168.0.2 set protocols bgp group int neighbor 192.168.0.3 set protocols bgp group to_64511 type external set protocols bgp group to_64511 export adv-large-aggregates set protocols bgp group to_64511 neighbor 10.1.0.6 peer-as 64511 set protocols bgp group to_64512 type external set protocols bgp group to_64512 export adv-small-aggregates set protocols bgp group to_64512 export adv-statics set protocols bgp group to_64512 neighbor 10.0.0.9 peer-as 64512 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/2.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set policy-options policy-statement adv-large-aggregates term between-16-and-18 from protocol aggregate set policy-options policy-statement adv-large-aggregates term between-16-and-18 from route-filter 172.16.0.0/16 upto /18 set policy-options policy-statement adv-large-aggregates term between-16-and-18 then accept set policy-options policy-statement adv-small-aggregates term between-19-and-24 from protocol aggregate set policy-options policy-statement adv-small-aggregates term between-19-and-24 from route-filter 172.16.0.0/16 prefix-length-range /19-/24 set policy-options policy-statement adv-small-aggregates term between-19-and-24 then accept set policy-options policy-statement adv-statics term statics from protocol static set policy-options policy-statement adv-statics term statics then accept set routing-options static route 172.16.1.16/28 discard set routing-options static route 172.16.1.32/28 discard set routing-options static route 172.16.1.48/28 discard set routing-options static route 172.16.1.64/28 discard set routing-options aggregate route 172.16.0.0/16 set routing-options aggregate route 172.16.1.0/24 set routing-options router-id 192.168.0.1 set routing-options autonomous-system 64510
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.0.0.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.1.0.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.2 set protocols bgp group int neighbor 192.168.0.1 export send-static-aggregate set protocols bgp group int neighbor 192.168.0.3 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 protocols ospf area 0.0.0.0 interface lo0.0 passive set policy-options policy-statement send-static-aggregate term 1 from protocol static set policy-options policy-statement send-static-aggregate term 1 from protocol aggregate set policy-options policy-statement send-static-aggregate term 1 then accept set routing-options static route 172.16.2.16/28 discard set routing-options static route 172.16.2.32/28 discard set routing-options static route 172.16.2.48/28 discard set routing-options static route 172.16.2.64/28 discard set routing-options aggregate route 172.16.2.0/24 set routing-options aggregate route 172.16.0.0/16 set routing-options router-id 192.168.0.2 set routing-options autonomous-system 64510
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.1.0.2/30 set interfaces fe-1/2/2 unit 0 description to_R1 set interfaces fe-1/2/2 unit 0 family inet address 10.0.0.6/30 set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.3 set protocols bgp group int neighbor 192.168.0.1 export send-static-aggregate set protocols bgp group int neighbor 192.168.0.2 set protocols ospf area 0.0.0.0 interface fe-1/2/2.0 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set policy-options policy-statement send-static-aggregate from protocol static set policy-options policy-statement send-static-aggregate from protocol aggregate set policy-options policy-statement send-static-aggregate then accept set routing-options static route 172.16.3.16/28 discard set routing-options static route 172.16.3.32/28 discard set routing-options static route 172.16.3.48/28 discard set routing-options static route 172.16.3.64/28 discard set routing-options aggregate route 172.16.0.0/16 set routing-options aggregate route 172.16.3.0/24 set routing-options router-id 192.168.0.3 set routing-options autonomous-system 64510
Appareil R4
set interfaces fe-1/2/3 unit 0 description to_R1 set interfaces fe-1/2/3 unit 0 family inet address 10.1.0.6/30 set interfaces lo0 unit 0 family inet address 192.168.0.4/32 set protocols bgp group ext type external set protocols bgp group ext peer-as 64510 set protocols bgp group ext neighbor 10.1.0.5 set routing-options autonomous-system 64511
Appareil R5
set interfaces fe-1/2/1 unit 0 description to_R1 set interfaces fe-1/2/1 unit 0 family inet address 10.0.0.9/30 set interfaces lo0 unit 0 family inet address 192.168.0.5/32 set protocols bgp group ext type external set protocols bgp group ext neighbor 10.0.0.10 peer-as 64510 set routing-options autonomous-system 64512
Procédure
Procédure étape par étape
L’exemple suivant nécessite que vous naviguiez à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, reportez-vous Utiliser l’éditeur CLI en mode configuration au Guide de l’utilisateur de l’interface de ligne de commande Junos OS.
Pour configurer l’appareil R1 :
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.0.0.1/30 user@R1# set fe-1/2/2 unit 0 description to_R3 user@R1# set fe-1/2/2 unit 0 family inet address 10.0.0.5/30 user@R1# set fe-1/2/3 unit 0 description to_R4 user@R1# set fe-1/2/3 unit 0 family inet address 10.1.0.5/30 user@R1# set fe-1/2/1 unit 0 description to_R5 user@R1# set fe-1/2/1 unit 0 family inet address 10.0.0.10/30 user@R1# set lo0 unit 0 family inet address 192.168.0.1/32
Configurez les connexions IBGP à l’appareil R2 et à l’appareil R3.
[edit protocols bgp group int] user@R1# set type internal user@R1# set local-address 192.168.0.1 user@R1# set neighbor 192.168.0.2 user@R1# set neighbor 192.168.0.3
Appliquez les stratégies d’exportation pour les homologues internes.
[edit protocols bgp group int] user@R1# set export adv-statics user@R1# set export adv-large-aggregates user@R1# set export adv-small-aggregates
Configurez la connexion EBGP à l’appareil R4.
[edit protocols bgp group to_64511] user@R1# set type external user@R1# set neighbor 10.1.0.6 peer-as 64511
Appliquez la stratégie d’exportation pour l’appareil R4.
[edit protocols bgp group to_64511] user@R1# set export adv-large-aggregates
Configurez la connexion EBGP à l’appareil R5.
[edit protocols bgp group to_64512] user@R1# set type external user@R1# set neighbor 10.0.0.9 peer-as 64512
Appliquez les stratégies d’exportation pour l’appareil R5.
[edit protocols bgp group to_64512] user@R1# set export adv-small-aggregates user@R1# set export adv-statics
Configurez les connexions OSPF aux périphériques R2 et R3.
[edit protocols ospf area 0.0.0.0] user@R1# set interface fe-1/2/0.0 user@R1# set interface fe-1/2/2.0 user@R1# set interface lo0.0 passive
Configurez les stratégies de routage.
[edit policy-options policy-statement adv-large-aggregates term between-16-and-18] user@R1# set from protocol aggregate user@R1# set from route-filter 172.16.0.0/16 upto /18 user@R1# set then accept [edit policy-options policy-statement adv-small-aggregates term between-19-and-24] user@R1# set from protocol aggregate user@R1# set from route-filter 172.16.0.0/16 prefix-length-range /19-/24 user@R1# set then accept [edit policy-options policy-statement adv-statics term statics] user@R1# set from protocol static user@R1# set then accept
Configurez les routes statiques et agrégées.
[edit routing-options static] user@R1# set route 172.16.1.16/28 discard user@R1# set route 172.16.1.32/28 discard user@R1# set route 172.16.1.48/28 discard user@R1# set route 172.16.1.64/28 discard [edit routing-options aggregate] user@R1# set route 172.16.0.0/16 user@R1# set route 172.16.1.0/24
Configurez le numéro du système autonome (AS) et l’ID du routeur.
[edit routing-options] user@R1# set router-id 192.168.0.1 user@R1# set autonomous-system 64510
Résultats
À partir du mode de configuration, confirmez votre configuration en saisissant les commandes show interfaces
, show protocols
, show policy-options
et 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.0.0.1/30; } } } fe-1/2/2 { unit 0 { description to_R3; family inet { address 10.0.0.5/30; } } } fe-1/2/3 { unit 0 { description to_R4; family inet { address 10.1.0.5/30; } } } fe-1/2/1 { unit 0 { description to_R5; family inet { address 10.0.0.10/30; } } } lo0 { unit 0 { family inet { address 192.168.0.1/32; } } }
user@R1# show protocols bgp { group int { type internal; local-address 192.168.0.1; export [ adv-statics adv-large-aggregates adv-small-aggregates ]; neighbor 192.168.0.2; neighbor 192.168.0.3; } group to_64511 { type external; export adv-large-aggregates; neighbor 10.1.0.6 { peer-as 64511; } } group to_64512 { type external; export [ adv-small-aggregates adv-statics ]; neighbor 10.0.0.9 { peer-as 64512; } } } ospf { area 0.0.0.0 { interface fe-1/2/0.0; interface fe-1/2/2.0; interface lo0.0 { passive; } } }
user@R1# show policy-options policy-statement adv-large-aggregates { term between-16-and-18 { from { protocol aggregate; route-filter 172.16.0.0/16 upto /18; } then accept; } } policy-statement adv-small-aggregates { term between-19-and-24 { from { protocol aggregate; route-filter 172.16.0.0/16 prefix-length-range /19-/24; } then accept; } } policy-statement adv-statics { term statics { from protocol static; then accept; } }
user@R1# show routing-options static { route 172.16.1.16/28 discard; route 172.16.1.32/28 discard; route 172.16.1.48/28 discard; route 172.16.1.64/28 discard; } aggregate { route 172.16.0.0/16; route 172.16.1.0/24; } router-id 192.168.0.1; autonomous-system 64510;
Si vous avez terminé de configurer l’appareil, passez commit
en mode de configuration.
Vérification
Vérifiez que la configuration fonctionne correctement.
- Vérification de l’annonce de routage vers l’appareil R4
- Vérification de l’origine des itinéraires les plus longs
- Blocage des routes plus spécifiques
- Vérification de l’annonce de routage vers l’appareil R5
Vérification de l’annonce de routage vers l’appareil R4
But
Sur l’appareil R1, assurez-vous que les itinéraires client sont annoncés sur l’appareil R4.
Action
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 29 destinations, 31 routes (29 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.0.0/16 Self I * 172.16.2.0/24 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.0/24 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I
Sens
La adv-large-aggregates
stratégie est appliquée à la session d’appairage avec l’appareil R4 pour annoncer les routes agrégées avec une longueur de masque de sous-réseau comprise entre 16 et 18 bits. La route agrégée 172.16.0.0/16 est envoyée comme défini par la stratégie administrative, mais un certain nombre d’autres routes avec des masques de sous-réseau plus grands sont également envoyées à l’appareil R4.
Vérification de l’origine des itinéraires les plus longs
But
Sur l’appareil R1, recherchez d’où proviennent les autres itinéraires.
Action
user@R1> show route 172.16.3.16/28 inet.0: 29 destinations, 31 routes (29 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 172.16.3.16/28 *[BGP/170] 20:16:00, localpref 100, from 192.168.0.3 AS path: I, validation-state: unverified > to 10.0.0.6 via fe-1/2/2.0
Sens
L’appareil R1 a appris cet itinéraire au cours de sa session BGP avec l’appareil R3. Étant donné qu’il s’agit d’une route BGP active, elle est automatiquement annoncée par la stratégie BGP par défaut. N’oubliez pas que la stratégie par défaut est toujours appliquée à la fin de chaque chaîne de stratégies. Ce qu’il faut, c’est une politique pour bloquer la publicité des itinéraires les plus spécifiques.
Blocage des routes plus spécifiques
But
Créez une stratégie appelée not-larger-than-18
qui rejette toutes les routes dans l’espace d’adressage 172.16.0.0 /16 dont la longueur du masque de sous-réseau est supérieure ou égale à 19 bits. Cela permet de s’assurer que tous les agrégats avec un masque compris entre 16 et 18 bits sont annoncés, atteignant ainsi l’objectif de la stratégie administrative.
Action
Sur l’appareil R1, configurez la
not-larger-than-18
stratégie.[edit policy-options policy-statement not-larger-than-18 term reject-greater-than-18-bits] user@R1# set from route-filter 172.16.0.0/16 prefix-length-range /19-/32 user@R1# set then reject
Sur l’appareil R1, appliquez la stratégie à la session d’appairage avec l’appareil R4.
[edit protocols bgp group to_64511] user@R1# set export not-larger-than-18 user@R1# commit
Sur l’appareil R1, vérifiez quels itinéraires sont annoncés sur l’appareil R4.
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 29 destinations, 31 routes (29 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.0.0/16 Self I
Sens
La chaîne de stratégies fonctionne correctement. Seule la route 172.16.0.0 /16 est annoncée sur l’appareil R4.
Vérification de l’annonce de routage vers l’appareil R5
But
Sur l’appareil R1, assurez-vous que les itinéraires client sont annoncés sur l’appareil R5.
L’appareil R5 est l’homologue EBGP de l’appareil R1 dans l’AS 64512. La stratégie d’administration stipule que cet homologue ne reçoit que les routes agrégées d’une longueur supérieure à 18 bits et toutes les routes client. En prévision d’un problème similaire à celui rencontré sur l’appareil R4, vous pouvez créer une stratégie appelée not-smaller- than-18
« qui rejette tous les agrégats dont la longueur du masque est comprise entre 16 et 18 bits ».
Action
Sur l’appareil R2, configurez une route d’agrégation pour 172.16.128.0/17.
[edit routing-options aggregate] user@R2# set route 172.16.128.0/17 discard user@R2# commit
Sur l’appareil R1, vérifiez quels itinéraires sont annoncés sur l’appareil R5.
user@R1> show route advertising-protocol bgp 10.0.0.9 inet.0: 30 destinations, 32 routes (30 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.0/24 Self I * 172.16.1.16/28 Self I * 172.16.1.32/28 Self I * 172.16.1.48/28 Self I * 172.16.1.64/28 Self I * 172.16.2.0/24 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.0/24 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I * 172.16.128.0/17 Self I
La route agrégée 172.16.128.0/17 est annoncée, en violation de la politique administrative
Sur l’appareil R1, configurez la
not-smaller-than-18
stratégie.[edit policy-options policy-statement not-smaller-than-18 term reject-less-than-18-bits] user@R1# set from protocol aggregate user@R1# set from route-filter 172.16.0.0/16 upto /18 user@R1# set then reject
Sur l’appareil R1, appliquez la stratégie à la session d’appairage avec l’appareil R5.
[edit protocols bgp group to_64512] user@R1# set export not-smaller-than-18 user@R1# commit
Sur l’appareil R1, vérifiez quels itinéraires sont annoncés sur l’appareil R5.
user@R1> show route advertising-protocol bgp 10.0.0.9 inet.0: 29 destinations, 31 routes (29 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.0/24 Self I * 172.16.1.16/28 Self I * 172.16.1.32/28 Self I * 172.16.1.48/28 Self I * 172.16.1.64/28 Self I * 172.16.2.0/24 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.0/24 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I
Sens
La chaîne de stratégies fonctionne correctement. Seules les routes agrégées d’une longueur supérieure à 18 bits et toutes les routes client sont annoncées sur l’appareil R5.