SUR CETTE PAGE
Exemple : Désactiver l’héritage d’un groupe de configuration
Exemple : Utiliser le groupe de
junos-defaultsconfigurationExemple : Utiliser des caractères génériques avec des groupes de configuration
Comment améliorer le temps de validation lors de l’utilisation de groupes de configuration
Exemple : Configuration d’ensembles d’instructions avec des groupes de configuration
Exemple : configuration d’interfaces à l’aide de groupes de configuration
Exemple : Utiliser des groupes de configuration pour configurer des entités homologues
Exemple : Utiliser des groupes de configuration pour établir des configurations régionales
Exemple : Configurer des noms de groupes de configuration génériques
Exemple : Référencer l’instruction Preset du groupe Defaults
Exemple : Afficher les instructions par défaut qui ont été appliquées à la configuration
Configurer des groupes de configuration du moteur de routage
Utilisation des conditions pour appliquer des groupes de configuration
Exemple : Configurer les conditions d’application des groupes de configuration
Utiliser des groupes de configuration pour configurer rapidement les appareils
Utilisez des groupes de configuration pour configurer et appliquer des éléments communs qui sont réutilisés dans la même configuration.
Présentation des groupes de configuration
Cette rubrique fournit une vue d’ensemble des groupes de configuration et du modèle d’héritage dans la CLI de Junos OS .
Fonctionnement des groupes de configuration
Les groupes de configuration vous permettent de créer un groupe contenant des instructions de configuration et de diriger l’héritage des instructions de ce groupe dans le reste de la configuration. Le même groupe peut être appliqué à différentes sections de la configuration. Différentes sections des instructions de configuration d’un groupe peuvent être héritées à différents endroits de la configuration.
Les groupes de configuration vous permettent de créer des fichiers de configuration plus petits et plus logiques, ce qui facilite la configuration et la maintenance des équipements Juniper Networks. Par exemple, vous pouvez regrouper des instructions qui sont répétées à de nombreux endroits de la configuration, par exemple lors de la configuration d’interfaces. En regroupant les instructions, vous pouvez limiter les mises à jour de configuration au groupe uniquement.
Vous pouvez également utiliser des caractères génériques dans un groupe de configuration. Tout objet qui correspond à l’expression générique hérite des données de configuration du groupe.
Le mécanisme de groupe de configuration est distinct des mécanismes de regroupement utilisés ailleurs dans la configuration, tels que les groupes BGP. Les groupes de configuration fournissent un mécanisme générique que vous pouvez utiliser tout au long de la configuration, mais qui n’est connu que de la CLI. Les processus logiciels individuels qui exécutent les actions dirigées par la configuration reçoivent la forme étendue de la configuration ; ils n’ont aucune connaissance des groupes de configuration.
Modèle d’héritage
Les groupes de configuration utilisent le véritable héritage, qui implique une relation dynamique et continue entre la source des données de configuration et la cible de ces données. La cible hérite automatiquement des valeurs de données que vous modifiez dans le groupe de configuration. La cible n’a pas besoin de contenir les informations héritées. Toutefois, les valeurs héritées peuvent être remplacées dans la cible sans affecter la source à partir de laquelle elles ont été héritées.
Ce modèle d’héritage vous permet de voir uniquement les informations spécifiques à l’instance sans voir les détails hérités. Un canal de commande en mode configuration vous permet d’afficher les données héritées.
Configurer les groupes de configuration
Pour que les zones de votre configuration héritent d’instructions de configuration, vous devez d’abord placer les instructions dans un groupe de configuration. Vous appliquez ensuite ce groupe aux niveaux de la hiérarchie de configuration qui nécessitent les instructions.
Pour que les zones de votre configuration héritent des instructions de configuration :
-
Configurez les instructions dans un groupe de configuration. Pour configurer les groupes de configuration et l’héritage, vous pouvez inclure l’instruction groups au niveau de la hiérarchie [modifier] :
[edit] groups {group-name{configuration-data; } } -
Appliquez le groupe de configuration de l’étape 1 aux niveaux de la hiérarchie de configuration qui nécessitent les instructions.
Incluez l’instruction n’importe
apply-groups [ group-names ]où dans la configuration où les instructions de configuration contenues dans un groupe de configuration sont nécessaires.
Créer un groupe de configuration
La CLI de Junos OS vous permet de créer des groupes réutilisables contenant des instructions de configuration. Vous pouvez appliquer ces groupes à différentes sections de la configuration où les mêmes instructions de configuration sont répétées plusieurs fois.
Lorsque vous appliquez le groupe dans différentes sections de la configuration, cette partie de la configuration hérite des instructions configurées dans le groupe. Les groupes de configuration suivent la règle de l’héritage, qui consiste à définir une relation dynamique et continue entre la source des données de configuration et la cible de ces données. Si vous modifiez les valeurs de données dans le groupe de configuration, la cible héritée reflète automatiquement les modifications.
Vous pouvez remplacer les valeurs dans la configuration cible si nécessaire, ce qui n’affecte pas la source dans le groupe.
Ce modèle d’héritage vous permet de voir uniquement les informations spécifiques à l’instance sans voir les détails hérités. Un canal de commande en mode configuration vous permet d’afficher les données héritées. Par exemple, vous pouvez configurer toutes vos ge-0/0/1 interfaces pour une valeur de MTU de 1500.
Pour ce faire, configurez toutes vos ge-0/0/1 interfaces pour une valeur de MTU de 1500 :
-
Créez un groupe avec une valeur de MTU de 1500 :
[edit groups group-1] lab@vSRX3-05# show interfaces { ge-0/0/1 { unit 0 { family inet { mtu 1500; } } } } -
Ensuite, vous appliquez le groupe dans la configuration de l’interface.
[edit interfaces ge-0/0/1] lab@vSRX3-05# set apply-groups group-1
-
Consultez la configuration héritée.
[edit] lab@vSRX3-05# show interfaces ge-0/0/1 | display inheritance unit 0 { family inet { ## ## '1500' was inherited from group 'group-1' ## mtu 1500; address 5.0.0.254/24; } }
Si vous souhaitez configurer la valeur MTU pour l’interface ge-0/0/1 dans différentes parties de la configuration, vous pouvez appliquer l’instruction de groupe à l’aide de l’option apply-groups . Si vous effectuez cette opération manuellement et que vous souhaitez ensuite augmenter la MTU, vous devrez peut-être modifier manuellement chaque interface. Si vous utilisez un groupe de configuration, vous pouvez modifier la configuration du groupe, mettant ainsi automatiquement à jour toutes les interfaces associées.
Vous pouvez également utiliser des caractères génériques dans un groupe de configuration pour permettre à tout objet qui correspond à une expression générique d’hériter des données de configuration. Par exemple :
[edit groups group-1]
lab@vSRX3-05# show
interfaces {
ge-* {
unit 0 {
family inet {
mtu 1500;
}
}
}
}
Application d’un groupe de configuration
Si vous souhaitez qu’une configuration de périphérique Juniper Networks hérite des instructions d’un groupe de configuration, incluez l’instruction apply-groups dans la configuration.
apply-groups [ group-names ];
Si vous spécifiez plusieurs noms de groupe, vous devez lister les noms par ordre de priorité d’héritage. Les données de configuration du premier groupe ont la priorité sur les données des groupes suivants.
Pour les périphériques qui prennent en charge plusieurs moteurs de routage, vous pouvez spécifier re0 et re1 regrouper des noms. La configuration spécifiée dans le groupe re0 n’est appliquée que si le moteur de routage actuel se trouve dans l’emplacement 0. De même, la configuration spécifiée dans le groupe re1 n’est appliquée que si le moteur de routage actuel se trouve dans l’emplacement 1. Par conséquent, les deux moteurs de routage peuvent utiliser le même fichier de configuration, chacun utilisant uniquement les instructions de configuration qui s’y appliquent. Chaque re0 groupe contient re1 au minimum la configuration du nom d’hôte et de l’interface de gestion (fxp0). Si chaque moteur de routage utilise une interface de gestion différente, le groupe doit également contenir la configuration du routeur de secours et des routes statiques.
Vous ne pouvez inclure qu’une apply-groups seule instruction à chaque niveau spécifique de la hiérarchie de configuration. L’instruction apply-groups d’un niveau hiérarchique spécifique répertorie les groupes de configuration à ajouter à la liste des groupes de configuration de l’instruction qui la contient.
Les valeurs spécifiées au niveau de la hiérarchie spécifique remplacent les valeurs héritées du groupe de configuration.
Les groupes répertoriés dans les instructions imbriquées apply-groups ont la priorité sur les groupes dans les instructions externes. Dans l’exemple suivant, le voisin 10.0.0.1 BGP hérite d’abord des données de configuration du groupe one . Il hérite ensuite des données de configuration de group two et group three. Les données de configuration du groupe one remplacent les données de tout autre groupe. Les données du groupe ten ne sont utilisées que si une instruction n’est contenue dans aucun autre groupe.
apply-groups [ eight nine ten ];
protocols {
apply-groups seven;
bgp {
apply-groups [ five six ];
group some-bgp-group {
apply-groups four;
neighbor 10.0.0.1 {
apply-groups [ one two three ];
}
}
}
}
Le niveau racine est le système logique par défaut. Lorsque vous configurez un groupe défini pour le niveau racine, vous ne pouvez pas appliquer ce groupe à un système logique autre que celui par défaut au niveau hiérarchique [edit logical-systems logical-system-name] . Bien que l’appareil accepte la validation si vous appliquez le groupe, le groupe de configuration ne prend pas effet pour le système logique autre que celui par défaut. Vous pouvez à la place créer un groupe de configuration supplémentaire au niveau racine et l’appliquer au sein du système logique. Vous pouvez également modifier le groupe d’origine afin qu’il inclue la configuration pour les niveaux hiérarchiques du système logique par défaut et non par défaut.
Dans Junos Evolved, les groupes re0 spécifiques au moteur de routage et re1 qui sont utilisés pour appliquer une configuration sélective aux emplacements 0 et 1 du moteur de routage ne sont pas pris en charge.
Exemple : Créer et appliquer des groupes de configuration
Cet exemple illustre la création et l’application de groupes de configuration. Dans cet exemple, la configuration SNMP est répartie entre la hiérarchie de groupe basic et la hiérarchie de configuration normale.
Vous bénéficiez de nombreux avantages en plaçant la configuration spécifique au système (contact SNMP) dans un groupe de configuration, la séparant ainsi de la hiérarchie de configuration normale :
-
Vous pouvez remplacer l’une ou l’autre section sans supprimer les données de l’autre à l’aide de la
load replacecommande. -
Vous pouvez définir un contact pour une zone spécifique car les données de groupe sont masquées par les données spécifiques à l’appareil.
[edit] groups { basic { # User-defined group name snmp { # This group contains some SNMP data contact "My Engineering Group"; community BasicAccess { authorization read-only; } } } } apply-groups basic; # Enable inheritance from group "basic" snmp { # Some normal (non-group) configuration location "West of Nowhere"; }
Cette configuration équivaut à ce qui suit :
[edit]
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
Exemple : Désactiver l’héritage d’un groupe de configuration
Vous pouvez désactiver l’héritage d’un groupe de configurations à n’importe quel niveau, à l’exception du niveau supérieur de la hiérarchie. Pour désactiver l’héritage, vous incluez l’instruction apply-groups-except dans la configuration :
apply-groups-except [ group-names ];
Cette instruction est utile lorsque vous utilisez l’instruction apply-group à un niveau hiérarchique spécifique, mais que vous souhaitez également remplacer les valeurs héritées du groupe de configuration pour un paramètre spécifique.
Exemple : Désactiver l’héritage sur l’interface so-1/1/0
Dans l’exemple suivant, l’instruction apply-groups est appliquée globalement au niveau des interfaces. L’instruction apply-groups-except est également appliquée à l’interface so-1/1/0 afin qu’elle utilise les valeurs par défaut pour les hold-time instructions and link-mode .
[edit]
groups { # "groups" is a top-level statement
global { # User-defined group name
interfaces {
<*> {
hold-time down 640;
link-mode full-duplex;
}
}
}
}
apply-groups global;
interfaces {
so-1/1/0 {
apply-groups-except global; # Disables inheritance from group "global"
# so-1/1/0 uses default value for “hold-time”
# and "link-mode"
}
}
Les groupes de configuration peuvent ajouter une certaine confusion concernant les valeurs réelles utilisées par l’appareil, car un appareil peut hériter des données de configuration des groupes de configuration. Pour afficher les valeurs réelles utilisées par le périphérique, utilisez la display inheritance commande après le canal ( | ) dans une show commande. Cette commande affiche les instructions héritées au niveau auquel elles sont héritées et au groupe dont elles ont hérité :
[edit]
user@host# show | display inheritance
snmp {
location "West of Nowhere";
##
## 'My Engineering Group' was inherited from group 'basic'
##
contact "My Engineering Group";
##
## 'BasicAccess' was inherited from group 'basic'
##
community BasicAccess {
##
## 'read-only' was inherited from group 'basic'
##
authorization read-only;
}
}
Pour afficher la configuration développée (la configuration, y compris les instructions héritées) sans les lignes ##, vous utilisez la except commande après le canal dans une show commande :
[edit]
user@host# show | display inheritance | except ##
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
L’utilisation de l’option display inheritance | except ## supprime toutes les lignes avec ##. Par conséquent, vous ne pourrez peut-être pas afficher les informations sur les mots de passe ou d’autres données importantes où ## elles sont utilisées. Pour afficher les détails complets de la configuration avec toutes les informations (sans seulement les commentaires marqués par ##), vous utilisez l’option no-comments avec la display inheritance commande :
[edit]
user@host# show | display inheritance no-comments
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
Exemple : Utiliser le groupe de junos-defaults configuration
Junos OS fournit un groupe de configuration caché et immuable, appelé qui junos-defaults est automatiquement appliqué à la configuration de votre équipement. Le junos-defaults groupe contient des instructions préconfigurées qui contiennent des valeurs prédéfinies pour des applications courantes. Certaines instructions doivent être référencées pour prendre effet, telles que les définitions des applications (par exemple, les paramètres FTP ou telnet). D’autres instructions sont appliquées automatiquement, telles que les paramètres du terminal.
De nombreux identificateurs inclus dans le groupe de junos-defaults configuration commencent par le nom junos-. Les identificateurs commençant par le nom junos- étant réservés à l’usage de Juniper Networks, vous ne pouvez pas définir d’objets de configuration utilisant ce nom.
Vous ne pouvez pas inclure junos-defaults en tant que nom de groupe de configuration dans une apply-groups instruction.
Pour afficher l’ensemble complet des instructions prédéfinies disponibles à partir junos-defaults du groupe, vous exécutez la show groups junos-defaults commande mode de configuration au niveau supérieur de la configuration. L’exemple suivant affiche une liste partielle des groupes par défaut de Junos :
user@host# show groups junos-defaults
# Make vt100 the default for the console port
system {
ports {
console type vt100;
}
}
applications {
# File Transfer Protocol
application junos-ftp {
application-protocol ftp;
protocol tcp;
destination-port 21;
}
# Trivial File Transfer Protocol
application junos-tftp {
application-protocol tftp;
protocol udp;
destination-port 69;
}
# RPC port mapper on TCP
application junos-rpc-portmap-tcp {
application-protocol rpc-portmap;
protocol tcp;
destination-port 111;
}
# RPC port mapper on UDP
}
Pour référencer des instructions disponibles dans le junos-defaults groupe, vous incluez l’instruction sélectionnée junos- default-name au niveau de la hiérarchie applicable.
Pour afficher la liste des applications du junos-defaults groupe, vous émettez le show configuration groups junos-defaults applicationsfichier . Les applications de départ junos- sont configurées par défaut par Juniper Networks. L’exemple suivant affiche une liste partielle des applications de groupes par défaut de Junos.
user@host>show configuration groups junos-defaults applications
## protect: groups junos-defaults
##
#
# File Transfer Protocol
#
application junos-ftp {
application-protocol ftp;
protocol tcp;
destination-port 21;
}
#
# Trivial File Transfer Protocol
#
application junos-ftp-data {
application-protocol ftp-data;
protocol tcp;
destination-port 20;
}
application junos-tftp {
application-protocol tftp;
protocol udp;
destination-port 69;
}
#
# Two-Way Active Measurement Protocol
#
application junos-twamp {
application-protocol twamp;
protocol tcp;
destination-port 862;
}
#
# Real Time Streaming Protocol
#
application junos-rtsp {
application-protocol rtsp;
protocol tcp;
destination-port 554;
}
#
# Network Basic Input Output System - networking protocol used on
# Windows networks session service port
#
application junos-netbios-session {
protocol tcp;
destination-port 139;
}
application junos-smb-session {
protocol tcp;
destination-port 445;
}
application junos-ssh {
protocol tcp;
destination-port 22;
}
application junos-telnet {
protocol tcp;
destination-port 23;
}
Exemple : Utiliser des caractères génériques avec des groupes de configuration
Vous pouvez utiliser des caractères génériques pour identifier des noms et permettre à une instruction de fournir des données pour plusieurs instructions.
L’utilisation de caractères génériques dans les données de configuration normale est effectuée dans un style cohérent avec celui utilisé avec les caractères génériques traditionnels de l’interpréteur de commandes UNIX. Dans ce style, vous pouvez utiliser les métacaractères suivants :
-
Astérisque (
*) : correspond à n’importe quelle chaîne de caractères. -
Point d’interrogation (
?) : correspond à n’importe quel caractère unique. -
Crochet ouvert (
[) : introduit une classe de caractères. -
Crochet fermant (
]) : indique la fin d’une classe de caractères. Si le crochet fermant est manquant, le crochet ouvert correspond à un crochet[ouvert plutôt qu’à l’introduction d’une classe de caractères. -
Une classe de caractères correspond à l’un des caractères entre crochets. Dans un groupe de configuration, vous devez placer entre guillemets un nom d’interface qui inclut une classe de caractères.
-
Trait d’union (
-) : spécifie une plage de caractères. -
Point d’exclamation (
!) : vous pouvez compléter la classe de caractères en faisant d’un point d’exclamation le premier caractère de la classe de caractères. Pour inclure un crochet fermant (]) dans une classe de caractères, faites-en le premier caractère répertorié (après le!, le cas échéant). Pour inclure un signe moins, faites-en le premier ou le dernier caractère répertorié.
Si vous utilisez un identificateur à l’intérieur de la groups hiérarchie, commencez le nom de l’identificateur par autre chose que <. Toutefois, si vous définissez une instruction générique, vous pouvez l’utiliser < car l’instruction générique doit avoir une fermeture >.
L’utilisation de caractères génériques dans les groupes de configuration suit les mêmes règles que pour une configuration normale. Cependant, < et > ont une signification particulière lorsqu’ils sont utilisés dans la groups hiérarchie. Dans la groups hiérarchie, vous devez placer entre crochets tout terme utilisant un modèle générique <pattern> pour le différencier des autres caractères génériques du fichier de configuration.
[edit]
groups {
sonet-default {
interfaces {
<so-*> {
sonet-options {
payload-scrambler;
rfc-2615;
}
}
}
}
}
Les expressions génériques correspondent (et fournissent des données de configuration pour) des instructions existantes dans la configuration qui correspondent uniquement à leur expression. Dans l’exemple précédent, l’expression <so-*> transmet son sonet-options instruction à toute interface qui correspond à l’expression so-*.
L’exemple suivant montre comment spécifier une plage d’interfaces :
[edit]
groups {
gigabit-ethernet-interfaces {
interfaces {
"<ge-1/2/[5-8]>" {
description "These interfaces reserved for Customer ABC";
}
}
}
}
Les chevrons vous permettent de faire passer des caractères génériques normaux sans modification. Dans toute correspondance au sein de la configuration, qu’elle soit effectuée avec ou sans caractères génériques, le premier élément rencontré dans la configuration qui correspond est utilisé. Dans l’exemple suivant, les données des groupes BGP génériques sont héritées dans l’ordre dans lequel les groupes sont répertoriés.
- La valeur de préférence de
<*a*>remplace la préférence dans<*b*>. - La
pvaleur de remplace<*c*>celle de<*d*>
Les valeurs de données de l’un de ces groupes remplacent les valeurs de données de abcd:
[edit] user@host#showgroups { one { protocols { bgp { group <*a*> { preference 1; } group <*b*> { preference 2; } group <*c*> { out-delay 3; } group <*d*> { out-delay 4; } group abcd { preference 10; hold-time 10; out-delay 10; } } } } } protocols { bgp { group abcd { apply-groups one; } } } [edit] user@host#show | display inheritanceprotocols { bgp { group abcd { ## ## ’1’ was inherited from group ’one’ ## preference 1; ## ## ’10’ was inherited from group ’one’ ## hold-time 10; ## ## ’3’ was inherited from group ’one’ ## out-delay 3; } } }
Comment améliorer le temps de validation lors de l’utilisation de groupes de configuration
Vous utilisez des groupes de configurations pour appliquer des configurations à d’autres hiérarchies sans avoir à saisir à nouveau les données de configuration. Vous pouvez spécifier chaque détail de configuration dans un groupe de configuration. Vous pouvez également utiliser des caractères génériques dans les groupes de configuration pour configurer des plages de données, sans détailler chaque ligne de configuration. Une autre façon d’utiliser les groupes de configuration consiste à créer un chemin d’héritage qui inclut une longue chaîne de configurations à appliquer.
Lorsqu’une configuration qui utilise des groupes de configuration est validée, le processus de validation s’étend et lit toutes les données de configuration du groupe en mémoire pour appliquer les configurations comme prévu. Les performances de la validation peuvent être affectées négativement si de nombreux groupes de configuration sont appliqués, en particulier si les groupes de configuration utilisent beaucoup de caractères génériques.
Si votre système utilise de nombreux groupes de configuration qui utilisent des caractères génériques, vous pouvez configurer l’instruction au niveau de la hiérarchie pour améliorer les persist-groups-inheritance performances au moment de la [edit system commit] validation.
L’utilisation de cette option permet au système de créer le chemin d’héritage pour chaque groupe de configuration dans la base de données plutôt que dans la mémoire de processus. Cette modification peut améliorer les performances au moment de la validation. Cependant, il peut également augmenter la taille de la base de données.
Exemple : Configuration d’ensembles d’instructions avec des groupes de configuration
Lorsque des ensembles d’instructions existent dans des groupes de configuration, toutes les valeurs sont héritées. Par exemple :
[edit] user@host#showgroups { basic { snmp { interface so-1/1/1.0; } } } apply-groups basic; snmp { interface so-0/0/0.0; } [edit] user@host#show | display inheritancesnmp { ## ## ’so-1/1/1.0’ was inherited from group ’basic’ ## interface [ so-0/0/0.0 so-1/1/1.0 ]; }
Pour les ensembles qui ne sont pas affichés entre crochets, toutes les valeurs sont également héritées. Par exemple :
[edit] user@host#showgroups { worldwide { system { name-server { 10.0.0.100; 10.0.0.200; } } } } apply-groups worldwide; system { name-server { 10.0.0.1; 10.0.0.2; } } [edit] user@host#show | display inheritancesystem { name-server { ## ## ’10.0.0.100’ was inherited from group ’worldwide’ ## 10.0.0.100; ## ## ’10.0.0.200’ was inherited from group ’worldwide’ ## 10.0.0.200; 10.0.0.1; 10.0.0.2; } }
Exemple : configuration d’interfaces à l’aide de groupes de configuration
Vous pouvez utiliser des groupes de configuration pour séparer les paramètres de support d’interface communs des informations d’adressage spécifiques à l’interface. L’exemple suivant place les données de configuration des interfaces ATM dans un groupe appelé atm-options.
[edit] user@host#showgroups { atm-options { interfaces { <at-*> { atm-options { vpi 0 maximum-vcs 1024; } unit <*> { encapsulation atm-snap; point-to-point; family iso; } } } } } apply-groups atm-options; interfaces { at-0/0/0 { unit 100 { vci 0.100; family inet { address 10.0.0.100/30; } } unit 200 { vci 0.200; family inet { address 10.0.0.200/30; } } } } [edit] user@host#show | display inheritanceinterfaces { at-0/0/0 { ## ## "atm-options" was inherited from group "atm-options" ## atm-options { ## ## "1024" was inherited from group "atm-options" ## vpi 0 maximum-vcs 1024; } unit 100 { ## ## "atm-snap" was inherited from group "atm-options" ## encapsulation atm-snap; ## ## "point-to-point" was inherited from group "atm-options" ## point-to-point; vci 0.100; family inet { address 10.0.0.100/30; } ## ## "iso" was inherited from group "atm-options" ## family iso; } unit 200 { ## ## "atm-snap" was inherited from group "atm-options" ## encapsulation atm-snap; ## ## "point-to-point" was inherited from group "atm-options" ## point-to-point; vci 0.200; family inet { address 10.0.0.200/30; } ## ## "iso" was inherited from group "atm-options" ## family iso; } } } [edit] user@host#show | display inheritance | except ##interfaces { at-0/0/0 { atm-options { vpi 0 maximum-vcs 1024; } unit 100 { encapsulation atm-snap; point-to-point; vci 0.100; family inet { address 10.0.0.100/30; } family iso; } unit 200 { encapsulation atm-snap; point-to-point; vci 0.200; family inet { address 10.0.0.200/30; } family iso; } } }
Voir aussi
Exemple : Utiliser des groupes de configuration pour configurer une adresse IP cohérente pour l’interface de gestion
Sur les appareils dotés de plusieurs moteurs de routage, chaque moteur de routage est configuré avec une adresse IP distincte pour l’interface de gestion. Pour accéder au moteur de routage principal, vous devez savoir quel moteur de routage est actif et utiliser l’adresse IP appropriée.
Une autre option pour un accès cohérent au moteur de routage principal consiste à configurer une adresse IP supplémentaire. Vous utilisez ensuite cette adresse pour l’interface de gestion, quel que soit le moteur de routage actif. Cette adresse IP supplémentaire est active uniquement sur l’interface de gestion du moteur de routage principal. Lors du basculement, l’adresse est déplacée vers le nouveau moteur de routage principal.
Cet exemple configure l’adresse 10.17.40.131 pour les deux moteurs de routage et inclut une master-only instruction. Avec cette configuration, l’adresse 10.17.40.131 est active uniquement sur le moteur de routage principal. L’adresse reste cohérente, quel que soit le moteur de routage actif. L’adresse 10.17.40.132 est affectée à fxp0 le global interfaces re0:mgmt-0, et 10.17.40.133 est affectée à fxp0 le global interfaces re1:mgmt-0.
[edit groups global interfaces re0:mgmt-0 interfaces fxp0]
unit 0 {
family inet {
address 10.17.40.131/25 {
master-only;
}
address 10.17.40.132/25;
}
}
[edit groups global interfaces re1:mgmt-0 interfaces fxp0]
unit 0 {
family inet {
address 10.17.40.131/25 {
master-only;
}
address 10.17.40.133/25;
}
}
Cette fonctionnalité est disponible sur tous les routeurs équipés de deux moteurs de routage. Sur une matrice de routage composée du routeur TX Matrix, cette fonctionnalité s’applique uniquement au châssis de carte de commutation (SCC). De même, sur une matrice de routage composée d’un routeur TX Matrix Plus, cette fonctionnalité s’applique uniquement au châssis de fabric de commutation (SFC).
-
Vous devez attribuer des adresses IP uniques à deux interfaces qui ont des adresses en double sur les interfaces privées et publiques. Lorsque GRES (graceful moteur de routage switchover) est activé, le CLI affiche un message d’erreur de commit approprié s’il trouve des adresses identiques. Cette erreur peut se produire si vous configurez la même adresse IP pour une interface de gestion ou une interface interne telle que et une interface physique externe telle que
fxp0ge-0/0/1. -
L’interface
em0Ethernet de gestion est utilisée pour le routeur TX Matrix Plus, T1600 routeurs dans une matrice de routage et PTX Series Routeurs de transport de paquets. Junos OS crée automatiquement l’interface Ethernet de gestion de l’équipement.em0
Exemple : Utiliser des groupes de configuration pour configurer des entités homologues
Cet exemple crée un groupe some-isp qui contient les données de configuration relatives à un autre FAI. Il insère ensuite des apply-group instructions à différents endroits pour permettre à ces emplacements de la hiérarchie de configuration d’hériter de ces données.
[edit] user@host#showgroups { some-isp { interfaces { <xe-*> { gigether-options { flow-control; } } } protocols { bgp { group <*> { neighbor <*> { remove-private; } } } pim { interface <*> { version 1; } } } } } interfaces { xe-0/0/0 { apply-groups some-isp; unit 0 { family inet { address 10.0.0.1/24; } } } } protocols { bgp { group main { neighbor 10.254.0.1 { apply-groups some-isp; } } } pim { interface xe-0/0/0.0 { apply-groups some-isp; } } } [edit] user@host#show | display inheritanceinterfaces { xe-0/0/0 { ## ## "gigether-options" was inherited from group "some-isp" ## gigether-options { ## ## "flow-control" was inherited from group "some-isp" ## flow-control; } unit 0 { family inet { address 10.0.0.1/24; } } } } protocols { bgp { group main { neighbor 10.254.0.1 { ## ## "remove-private" was inherited from group "some-isp" ## remove-private; } } } pim { interface xe-0/0/0.0 { ## ## "1" was inherited from group "some-isp" ## version 1; } } }
Exemple : Utiliser des groupes de configuration pour établir des configurations régionales
Cet exemple remplit un groupe avec des données de configuration standard dans toute l’entreprise, tandis qu’un autre groupe contient des écarts régionaux par rapport à cette norme :
[edit] user@host#showgroups { standard { interfaces { <t3-*> { t3-options { compatibility-mode larscom subrate 10; idle-cycle-flag ones; } } } } northwest { interfaces { <t3-*> { t3-options { long-buildout; compatibility-mode kentrox; } } } } } apply-groups standard; interfaces { t3-0/0/0 { apply-groups northwest; } } [edit] user@host#show | display inheritanceinterfaces { t3-0/0/0 { ## ## "t3-options" was inherited from group "northwest" ## t3-options { ## ## "long-buildout" was inherited from group "northwest" ## long-buildout; ## ## "kentrox" was inherited from group "northwest" ## compatibility-mode kentrox; ## ## "ones" was inherited from group "standard" ## idle-cycle-flag ones; } } }
Exemple : Configurer des noms de groupes de configuration génériques
Les caractères génériques sont des noms de groupes de configuration qui utilisent des caractères spéciaux pour créer un modèle que vous pouvez appliquer à plusieurs instructions. Les caractères génériques sont utiles pour copier un ensemble d’options de configuration dans de nombreux groupes de configuration différents. Vous devez configurer correctement votre nom générique pour vous assurer que les options de configuration génériques sont copiées dans les groupes de configuration appropriés.
Cet exemple configure des valeurs différentes pour les <*-major> groupes génériques et <*-minor> génériques sous l’instruction label-switched-path . L’astérisque (*) représente une section du nom générique qui peut correspondre à n’importe quelle chaîne de caractères. Par exemple, les options de configuration ci-dessous label-switched-path <*-major> sont transmises à label-switched-path metro-major et tout autre groupe de label-switched-path configuration contenant -major dans son nom.
[edit] user@host#showgroups { mpls-conf { protocols { mpls { label-switched-path <*-major> { retry-timer 5; bandwidth 155m; optimize-timer 60; } label-switched-path <*-minor> { retry-timer 15; bandwidth 64k; optimize-timer 120; } } } } } apply-groups mpls-conf; protocols { mpls { label-switched-path metro-major { to 10.0.0.10; } label-switched-path remote-minor { to 10.0.0.20; } } } [edit] user@host#show | display inheritanceprotocols { mpls { label-switched-path metro-major { to 10.0.0.10; ## ## "5" was inherited from group "mpls-conf" ## retry-timer 5; ## "155m" was inherited from group "mpls-conf" ## bandwidth 155m; ## ## "60" was inherited from group "mpls-conf" ## optimize-timer 60; } label-switched-path remote-minor { to 10.0.0.20; ## ## "15" was inherited from group "mpls-conf" ## retry-timer 15; ## ## "64k" was inherited from group "mpls-conf" ## bandwidth 64k; ## ## "120" was inherited from group "mpls-conf" ## optimize-timer 120; } } }
Exemple : Référencer l’instruction Preset du groupe Defaults
L’exemple suivant est une instruction prédéfinie du groupe defaults disponible pour FTP dans un pare-feu dynamique :
[edit]
groups {
junos-defaults {
applications {
application junos-ftp {# Use FTP default configuration
application-protocol ftp;
protocol tcp;
destination-port 21;
}
}
}
Pour référencer une instruction par défaut prédéfinie à partir du groupe defaults, incluez l’instruction junos-default-name au niveau de la hiérarchie applicable. Par exemple, pour référencer l’instruction FTP par défaut dans un pare-feu dynamique, incluez l’instruction junos-ftp au niveau de la [edit services stateful-firewall rule my-rule term my-term from applications] hiérarchie :
[edit]
services {
stateful-firewall {
rule my-rule {
term my-term {
from {
applications junos-ftp; #Reference predefined statement, junos-ftp
}
}
}
}
}
Exemple : Afficher les instructions par défaut qui ont été appliquées à la configuration
Pour afficher les valeurs par défaut qui ont été appliquées à la configuration de l’appareil, vous exécutez la show | display inheritance defaults commande. Cet exemple affiche les valeurs par défaut héritées au niveau de la [edit system ports] hiérarchie :
user@host# show system ports | display inheritance defaults
## ## 'console' was inherited from group 'junos-defaults'
## 'vt100' was inherited from group 'junos-defaults'
## console type vt100;
Si vous choisissez de ne pas utiliser les instructions par défaut existantes, vous pouvez créer vos propres groupes de configuration manuellement.
Pour afficher les informations de configuration complètes en omettant les commentaires marqués par ##, utilisez l’option no-comments avec la display inheritance commande.
Configurer des groupes de configuration du moteur de routage
Dans un périphérique avec deux moteurs de routage, les deux moteurs de routage doivent partager une même configuration. Cette configuration garantit que les deux configurations du moteur de routage sont identiques. Dans cette configuration, créez deux groupes de moteur de routage, un pour chaque moteur de routage. Dans ces groupes, vous spécifiez les paramètres spécifiques au moteur de routage.
Pour plus d’informations sur la configuration initiale des systèmes redondants du moteur de routage et du groupe re0, reportez-vous au Guide de l’utilisateur haute disponibilité de Junos OS.
Pour configurer un groupe de configuration de moteur de routage :
Utilisation des conditions pour appliquer des groupes de configuration
Vous pouvez utiliser l’instruction when au niveau de la [edit groups group-name] hiérarchie pour définir les conditions dans lesquelles appliquer un groupe de configuration.
Vous pouvez configurer un groupe à appliquer en fonction de l’heure de début et de fin facultative de la journée ou de la date.
Par exemple, vous pouvez utiliser l’instruction when pour créer un groupe de configuration générique qui est appliqué uniquement pendant des fenêtres de temps spécifiques, en fonction d’une heure de début et de fin planifiée.
Exemple : Configurer les conditions d’application des groupes de configuration
Cet exemple montre comment configurer les conditions dans lesquelles un groupe de configuration spécifié doit être appliqué.
Exigences
Aucune configuration spéciale au-delà de l’initialisation de l’appareil n’est requise avant de configurer cet exemple.
Vue d’ensemble
Vous pouvez configurer vos données de configuration de groupe au niveau de la [edit groups group-name] hiérarchie. Vous pouvez ensuite utiliser l’instruction when pour appliquer la configuration de groupe en fonction de conditions telles que celles-ci : Type de châssis, modèle, moteur de routage, membre Virtual Chassis, nœud de cluster et heure de début et de fin facultative du jour ou de la date.
Si vous spécifiez plusieurs conditions dans un seul groupe de configuration, toutes les conditions doivent être remplies avant que le groupe de configuration ne soit appliqué.
Vous pouvez spécifier l’heure de début ou la durée du groupe de configuration à appliquer. Si seule l’heure de début est spécifiée, le groupe de configuration est appliqué à l’heure spécifiée et il reste en vigueur jusqu’à ce que l’heure soit modifiée. Si l’heure de fin est spécifiée, le groupe de configuration appliqué est démarré et arrêté chaque jour aux heures spécifiées.
Cet exemple définit des conditions dans un groupe de configuration, test1de sorte que ce groupe n’est appliqué que lorsque toutes les conditions suivantes sont remplies : le routeur est un modèle MX240 routeur avec un châssis de type LCC0, avec un moteur de routage fonctionnant comme RE0, est membre0 du Virtual Chassis sur node0 et le groupe de configuration ne sera effectif que de 9 h à 17 h chaque jour.
La configuration
Configuration rapide de la CLI
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-collez les commandes dans le CLI au niveau de la [edit] hiérarchie.
set groups test1 when model mx240set groups test1 when chassis lcc0set groups test1 when routing-engine re0set groups test1 when member member0set groups test1 when node node0set groups test1 when time 9 to 5
Procédure
Procédure étape par étape
Pour configurer les conditions du groupe test1de configuration :
Définissez la condition qui identifie le modèle de routeur MX240.
[edit groups test1 when] user@host#
set model mx240Définissez la condition qui identifie le type de châssis sur LCC0.
[edit groups test1 when] user@host#
set chassis lcc0Définit la condition qui identifie le moteur de routage fonctionnant en tant que
RE0.[edit groups test1 when] user@host#
set routing-engine re0Définissez la condition qui identifie le Virtual Chassis
member0.[edit groups test1 when] user@host#
set member member0Définissez la condition qui identifie le cluster
node0.[edit groups test1 when] user@host#
set node node0Définissez la condition qui applique le groupe uniquement entre 9h00 et 17h00 tous les jours.
[edit groups test1 when] user@host#
set time 9 to 5Remarque :La syntaxe pour spécifier l’heure est la suivante :
time <start-time> [to <end-time>]en utilisant le format d’heure aaaa-mm-jj.hh :mm, hh :mm ou hh.Validez la configuration.
user@host#
commit
Résultats
En mode configuration, confirmez votre configuration en entrant la show groups test1 commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.
user@host# show groups test1
when {
time 9 to 5;
chassis lcc0;
model mx240;
routing-engine re0;
member member0;
node node0;
}
Vérification
Vérifier l’héritage de groupe avec des données conditionnelles
Objet
Vérifiez que les données conditionnelles d’un groupe de configuration sont héritées lorsqu’elles sont appliquées.
Mesures à prendre
Exécutez la show | display inheritance commande opérationnelle avec les when données pour afficher l’héritage conditionnel. En utilisant cet exemple, vous pouvez exécuter l’une de ces commandes pour déterminer que les données conditionnelles ont été héritées :
user@host>show | display inheritance when model mx240user@host>show | display inheritance when chassis lcc0user@host>show | display inheritance when routing-engine re0user@host>show | display inheritance when member member0user@host>show | display inheritance when node node0user@host>show | display inheritance when time 9 to 5