Sur cette page
Exemple : Désactiver l’héritage d’un groupe de configuration
Exemple : Utiliser le
junos-defaults
groupe de configurationExemple : 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 : Configurer des ensembles d’instructions avec des groupes de configuration
Exemple : Configurer les 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 les noms génériques des groupes de configuration
Exemple : Référencer l’instruction prédéfinie du groupe Defaults (Valeurs par défaut)
Exemple : Afficher les instructions par défaut qui ont été appliquées à la configuration
Configurer des groupes de configuration du moteur de routage
Comment utiliser 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 équipements
Utilisez des groupes de configuration pour configurer et appliquer des éléments communs qui sont réutilisés dans la même configuration.
Vue d’ensemble des groupes de configuration
Cette rubrique fournit une vue d’ensemble des groupes de configuration et du modèle d’héritage dans l’interface de ligne Junos OS de commande.
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. Un 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 dans la configuration, par exemple lors de la configuration d’interfaces. En regroupant les instructions, vous pouvez limiter les mises à jour de configuration au seul groupe.
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 l’interface de ligne de commande. 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 l’héritage véritable, 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 dont 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 permet d’afficher les données héritées.
Configurer les groupes de configuration
Pour que les zones de votre configuration héritent des 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 les zones de votre configuration qui doivent hériter 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 [edit] :
[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
L’interface Junos OS de ligne de commande 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 à 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 d’héritage selon laquelle une relation dynamique et continue est définie 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 de 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 permet d’afficher les données héritées. Par exemple, vous pouvez configurer toutes vos ge-0/0/1
interfaces pour la valeur MTU de 1500.
Pour configurer toutes vos ge-0/0/1
interfaces avec la valeur MTU de 1500 :
-
Créez un groupe avec une valeur 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
-
Affichez 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 group à l’aide de l’option apply-groups
. Si vous effectuez cette opération manuellement et que vous souhaitez augmenter la MTU par la suite, vous devrez peut-être modifier manuellement chaque interface. Si vous utilisez un groupe de configuration, vous pouvez modifier la configuration du groupe, ce qui met 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 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 d’équipement Juniper Networks hérite des instructions d’un groupe de configuration, incluez-les apply-groups
dans la configuration.
apply-groups [ group-names ];
Si vous spécifiez plusieurs noms de groupe, vous devez les répertorier par ordre de priorité d’héritage. Les données de configuration du premier groupe sont prioritaires 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
est appliquée uniquement si le moteur de routage actuel se trouve dans l’emplacement 0. De même, la configuration spécifiée dans group re1
est appliquée uniquement 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’appliquent à lui. Chaque re0
ou re1
groupe contient 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
à un niveau hiérarchique spécifique répertorie les groupes de configuration à ajouter à la liste des groupes de configuration de l’instruction conteneure.
Les valeurs spécifiées au niveau hiérarchique spécifique remplacent les valeurs héritées du groupe de configuration.
Les groupes répertoriés dans les instructions imbriquées apply-groups
sont prioritaires 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 groupe two
et de groupe three
. Les données de configuration d’un groupe remplacent les données de tout autre groupe one
. Les données du groupe ne sont utilisées que si une instruction n’est contenue dans aucun autre groupe ten
.
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 sous le 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. Au lieu de cela, vous pouvez créer un groupe de configuration supplémentaire au niveau racine et l’appliquer dans le système logique. Vous pouvez également modifier le groupe d’origine afin qu’il inclue la configuration des niveaux hiérarchiques du système logique par défaut et non par défaut.
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 divisée entre la hiérarchie de configuration 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 replace
commande. -
Vous pouvez définir un contact pour une boîte spécifique, car les données du 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 est équivalente à 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 configuration à n’importe quel niveau, à l’exception du niveau supérieur de la hiérarchie. Pour désactiver l’héritage, vous devez inclure l’instruction suivante apply-groups-except
dans la configuration :
apply-groups-except [ group-names ];
Cette instruction est utile lorsque vous l’utilisez 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 des 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 créer une certaine confusion quant aux 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 l’appareil, utilisez la display inheritance
commande après le tube ( | ) dans une show
commande. Cette commande affiche les instructions héritées au niveau auquel elles sont héritées et du groupe dont elles ont été héritées :
[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, il se peut que vous ne puissiez pas afficher les informations sur les mots de passe ou d’autres données importantes lorsqu’elles ##
sont utilisées. Pour afficher les détails complets de la configuration avec toutes les informations (sans seulement les commentaires marqués d’un ##
), 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 junos-defaults
groupe de configuration
Junos OS Fournit un groupe de configuration caché et immuable appelé junos-defaults
qui est automatiquement appliqué à la configuration de votre appareil. Le junos-defaults
groupe contient des instructions préconfigurées qui contiennent des valeurs prédéfinies pour les applications courantes. Certaines de ces instructions doivent être référencées pour être prises en compte, telles que les définitions d’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 configuration commencent par le junos-defaults
nom junos-
. Les identifiants 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 l’inclure junos-defaults
en tant que nom de groupe de configuration dans une apply-groups
instruction.
Pour afficher l’ensemble des instructions prédéfinies disponibles dans le junos-defaults
groupe, vous exécutez la commande configuration mode au niveau supérieur de la show groups junos-defaults
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 les instructions disponibles à partir junos-defaults
du groupe, vous devez inclure l’instruction sélectionnée junos-
default-name
au niveau hiérarchique applicable.
Pour afficher la liste des applications du junos-defaults
groupe, vous émettez le show configuration groups junos-defaults applications
fichier . Les applications qui commencent par sont configurées par défaut par junos-
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 une variété d’instructions.
L’utilisation de caractères génériques dans les données de configuration normale se fait dans un style cohérent avec celui utilisé avec les caractères génériques de shell UNIX traditionnels. 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. -
Crochet ouvert (
[
) : introduit une classe de caractères. -
Crochet fermant (
]
) : indique la fin d’une classe de caractères. Si la parenthèse fermante est manquante, la parenthèse ouverte correspond à une parenthèse[
ouverte plutôt que d’introduire une classe de caractères. -
Une classe de caractères correspond à l’un des caractères entre crochets. Au sein d’un groupe de configuration, vous devez mettre 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 une parenthèse fermante () 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 de la liste.
Si vous utilisez un identificateur à l’intérieur de la hiérarchie, commencez le nom de groups
l’identificateur par autre chose que <
. Toutefois, si vous définissez une instruction générique, vous pouvez 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 leur utilisation pour une configuration normale. Cependant, <
et >
ont une signification particulière lorsqu’ils sont utilisés sous la groups
hiérarchie. Dans la groups
hiérarchie, vous devez placer entre chevrons 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) aux instructions existantes dans la configuration qui correspondent uniquement à leur expression. Dans l’exemple précédent, <so-*>
l’expression 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 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
p
valeur de<*c*>
remplace 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#show
groups { 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 inheritance
protocols { 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
Les groupes de configuration permettent d’appliquer des configurations à d’autres hiérarchies sans avoir à ressaisir les données de configuration. Vous pouvez spécifier tous les détails de configuration d’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 se développe et lit toutes les données de configuration du groupe en mémoire pour appliquer les configurations comme prévu. Les performances de validation peuvent être affectées négativement si de nombreux groupes de configuration sont appliqués, en particulier si les groupes de configuration utilisent de manière intensive des 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 persist-groups-inheritance
l’instruction au niveau de la [edit system commit]
hiérarchie pour améliorer les performances au moment de la validation.
L’utilisation de cette option permet au système de construire le chemin d’héritage pour chaque groupe de configuration à l’intérieur de 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, cela peut également augmenter la taille de la base de données.
Exemple : Configurer des ensembles d’instructions avec des groupes de configuration
Lorsqu’il existe des ensembles d’instructions dans des groupes de configuration, toutes les valeurs sont héritées. Par exemple :
[edit] user@host#show
groups { basic { snmp { interface so-1/1/1.0; } } } apply-groups basic; snmp { interface so-0/0/0.0; } [edit] user@host#show | display inheritance
snmp { ## ## ’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 parenthèses, toutes les valeurs sont également héritées. Par exemple :
[edit] user@host#show
groups { 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 inheritance
system { 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 : Configurer les interfaces à l’aide de groupes de configuration
Vous pouvez utiliser des groupes de configuration pour séparer les paramètres multimédias 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#show
groups { 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 inheritance
interfaces { 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 également
Exemple : Utiliser des groupes de configuration pour configurer une adresse IP cohérente pour l’interface de gestion
Sur les équipements 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 re0
, et 10.17.40.133
est affectée à fxp0
le re1
.
[edit groups re0 interfaces fxp0] unit 0 { family inet { address 10.17.40.131/25 { master-only; } address 10.17.40.132/25; } } [edit groups re1 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 la 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 la structure de commutation (SFC).
-
Vous devez attribuer des adresses IP uniques à deux interfaces qui ont des adresses dupliquées sur les interfaces privées et publiques. Lorsque GRES (Graceful moteur de routage Switchover) est activé, l’interface de ligne de commande affiche un message d’erreur de validation approprié si elle 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
fxp0
et une interface physique externe telle quege-0/0/1
. -
L’interface
em0
Ethernet de gestion est utilisée pour le routeur TX Matrix Plus, les routeurs T1600 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’appareil,em0
.
Exemple : Utiliser des groupes de configuration pour configurer des entités homologues
Cet exemple crée un groupe some-isp
qui contient des données de configuration relatives à un autre FAI. Il insère ensuite des apply-group
instructions à différents points pour permettre à ces emplacements dans la hiérarchie de configuration d’hériter de ces données.
[edit] user@host#show
groups { 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 inheritance
interfaces { 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 renseigne 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#show
groups { 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 inheritance
interfaces { 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 les noms génériques des groupes de configuration
Les caractères génériques sont des noms de groupe 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 plusieurs 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 différentes valeurs pour les groupes de caractères génériques <*-major>
et <*-minor>
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
tout autre label-switched-path
groupe de configuration contenant -major
dans son nom.
[edit] user@host#show
groups { 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 inheritance
protocols { 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 prédéfinie du groupe Defaults (Valeurs par défaut)
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 hiérarchique applicable. Par exemple, pour référencer l’instruction par défaut de FTP 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 d’un ##
, utilisez l’option no-comments
avec la display inheritance
commande.
Configurer des groupes de configuration du moteur de routage
Dans un appareil avec deux moteurs de routage, les deux moteurs de routage doivent partager la même configuration. Cette configuration garantit que les deux configurations du moteur de routage sont identiques. Dans cette configuration, créez deux groupes de moteurs 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, consultez le Guide de l’utilisateur de la haute disponibilité de Junos OS.
Pour configurer un groupe de configuration du moteur de routage :
Comment utiliser 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 du type de châssis, du modèle ou du moteur de routage, du membre du châssis virtuel , du nœud de cluster et 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 pour chaque type de nœud, puis appliquer la configuration en fonction de certaines propriétés de nœud, telles que le châssis ou le modèle.
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é.
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
Vous pouvez configurer les données de configuration de votre groupe au niveau de la [edit groups group-name]
hiérarchie. Vous pouvez ensuite utiliser l’instruction when
pour appliquer la configuration du 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, 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 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é aux heures spécifiées chaque jour.
Cet exemple définit des conditions dans un groupe de configuration, test1
de sorte que ce groupe n’est appliqué que lorsque toutes les conditions suivantes sont remplies : le routeur est un modèle MX240 de routeur avec le type de châssis LCC0, avec un moteur de routage fonctionnant en tant que RE0, est membre0 du châssis virtuel sur le nœud 0, et le groupe de configuration ne sera en vigueur que de 9 h 00 à 17 h 00 chaque jour.
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.
set groups test1 when model mx240
set groups test1 when chassis lcc0
set groups test1 when routing-engine re0
set groups test1 when member member0
set groups test1 when node node0
set groups test1 when time 9 to 5
Procédure
Procédure étape par étape
Pour configurer les conditions du groupe test1
de configuration :
Définissez la condition qui identifie le modèle de routeur MX240.
[edit groups test1 when] user@host#
set model mx240
Définissez la condition qui identifie le type de châssis sur LCC0.
[edit groups test1 when] user@host#
set chassis lcc0
Définissez la condition qui identifie le moteur de routage fonctionnant comme
RE0
.[edit groups test1 when] user@host#
set routing-engine re0
Définissez la condition qui identifie le châssis
member0
virtuel .[edit groups test1 when] user@host#
set member member0
Définissez la condition qui identifie le cluster
node0
.[edit groups test1 when] user@host#
set node node0
Définissez la condition qui s’applique au groupe uniquement entre 9h00 et 17h00 tous les jours.
[edit groups test1 when] user@host#
set time 9 to 5
REMARQUE :La syntaxe pour spécifier l’heure est la suivante :
time <start-time> [to <end-time>]
en utilisant le format horaire 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 du groupe avec des données conditionnelles
But
Vérifiez que les données conditionnelles d’un groupe de configuration sont héritées lorsqu’elles sont appliquées.
Action
Exécutez la show | display inheritance
commande opérationnelle avec les when
données pour afficher l’héritage conditionnel. À l’aide de cet exemple, vous pouvez exécuter l’une des commandes suivantes pour déterminer que les données conditionnelles ont été héritées :
user@host>show | display inheritance when model mx240
user@host>show | display inheritance when chassis lcc0
user@host>show | display inheritance when routing-engine re0
user@host>show | display inheritance when member member0
user@host>show | display inheritance when node node0
user@host>show | display inheritance when time 9 to 5