NESTA PÁGINA
Como melhorar o tempo de confirmação ao usar grupos de configuração
Exemplo: configurar conjuntos de instruções com grupos de configuração
Exemplo: usar grupos de configuração para configurar entidades pares
Exemplo: Fazer referência à instrução predefinida do grupo Padrões
Exemplo: exibir instruções padrão que foram aplicadas à configuração
Usar grupos de configuração para configurar dispositivos rapidamente
Use grupos de configuração para configurar e aplicar elementos comuns que são reutilizados na mesma configuração.
Visão geral dos grupos de configuração
Este tópico fornece uma visão geral dos grupos de configuração e do modelo de herança na CLI do Junos OS Evolved .
Como funcionam os grupos de configuração
Os grupos de configuração permitem que você crie um grupo contendo instruções de configuração e direcione a herança das instruções desse grupo no restante da configuração. O mesmo grupo pode ser aplicado a diferentes seções da configuração. Diferentes seções das instruções de configuração de um grupo podem ser herdadas em locais diferentes na configuração.
Os grupos de configuração permitem que você crie arquivos de configuração menores e mais logicamente construídos, facilitando a configuração e a manutenção dos dispositivos da Juniper Networks. Por exemplo, você pode agrupar instruções que são repetidas em muitos lugares na configuração, como ao configurar interfaces. Ao agrupar declarações, você pode limitar as atualizações de configuração apenas ao grupo.
Você também pode usar curingas em um grupo de configuração. Qualquer objeto que corresponda à expressão curinga herda os dados de configuração do grupo.
O mecanismo do grupo de configuração é separado dos mecanismos de agrupamento usados em outras partes da configuração, como grupos BGP. Os grupos de configuração fornecem um mecanismo genérico que você pode usar em toda a configuração, mas que é conhecido apenas pela CLI. Os processos de software individuais que executam as ações direcionadas pela configuração recebem a forma expandida da configuração; Eles não têm conhecimento de grupos de configuração.
Modelo de herança
Os grupos de configuração usam a herança verdadeira, que envolve uma relação dinâmica e contínua entre a origem dos dados de configuração e o destino desses dados. O destino herda automaticamente os valores de dados que você altera no grupo de configuração. O destino não precisa conter as informações herdadas. No entanto, os valores herdados podem ser substituídos no destino sem afetar a origem da qual foram herdados.
Esse modelo de herança permite que você veja apenas as informações específicas da instância sem ver os detalhes herdados. Uma tubulação de comando no modo de configuração permite exibir os dados herdados.
Configurar grupos de configuração
Para que as áreas de sua configuração herdem instruções de configuração, você deve primeiro colocar as instruções em um grupo de configuração. Em seguida, você aplica esse grupo aos níveis na hierarquia de configuração que exigem as instruções.
Para que áreas de sua configuração herdem declarações de configuração:
-
Configure declarações em um grupo de configuração. Para configurar grupos de configuração e herança, você pode incluir a groups declaração no nível de [edit] hierarquia:
[edit] groups {group-name{configuration-data; } } -
Aplique o grupo de configuração da etapa 1 aos níveis na hierarquia de configuração que exigem as instruções.
Inclua a
apply-groups [ group-names ]instrução em qualquer lugar da configuração em que as declarações de configuração contidas em um grupo de configuração sejam necessárias.
Criar um grupo de configuração
A CLI do Junos OS Evolved permite que você crie grupos reutilizáveis contendo declarações de configuração. Você pode aplicar esses grupos a diferentes seções da configuração em que as mesmas instruções de configuração são repetidas várias vezes.
Quando você aplica o grupo em diferentes seções da configuração, essa parte da configuração herda as instruções configuradas no grupo. Os grupos de configuração seguem a regra de herança em que a relação dinâmica e contínua é definida entre a origem dos dados de configuração e o destino desses dados. Se você alterar os valores de dados no grupo de configuração, o destino herdado refletirá as alterações automaticamente.
Você pode substituir os valores na configuração de destino, se necessário, o que não afeta a origem no grupo.
Esse modelo de herança permite que você veja apenas as informações específicas da instância sem ver os detalhes herdados. Uma tubulação de comando no modo de configuração permite exibir os dados herdados. Por exemplo, você pode querer configurar todas as suas et-0/0/1 interfaces para o valor de MTU de 1500.
Para fazer configurar todas as suas et-0/0/1 interfaces para o valor de MTU de 1500:
-
Crie um grupo com valor de MTU 1500:
[edit groups group-1] lab@vSRX3-05# show interfaces { et-0/0/1 { unit 0 { family inet { mtu 1500; } } } } -
Em seguida, você aplica o grupo na configuração da interface.
[edit interfaces et-0/0/1] lab@vSRX3-05# set apply-groups group-1
-
Exiba a configuração herdada.
[edit] lab@vSRX3-05# show interfaces et-0/0/1 | display inheritance unit 0 { family inet { ## ## '1500' was inherited from group 'group-1' ## mtu 1500; address 5.0.0.254/24; } }
Se você deseja configurar o valor de MTU para a interface et-0/0/1 em diferentes partes da configuração, pode aplicar a group declaração usando a apply-groups opção. Se você fizer isso manualmente e depois quiser aumentar a MTU, talvez seja necessário alterar manualmente todas as interfaces. Se você usar um grupo de configuração, poderá alterar a configuração do grupo, atualizando automaticamente todas as interfaces associadas.
Você também pode usar curingas em um grupo de configuração para permitir que os dados de configuração sejam herdados por qualquer objeto que corresponda a uma expressão curinga. Por exemplo:
[edit groups group-1]
lab@vSRX3-05# show
interfaces {
et-* {
unit 0 {
family inet {
mtu 1500;
}
}
}
}
Como aplicar um grupo de configuração
Se você quiser que uma configuração de dispositivo da Juniper Networks herde as declarações de um grupo de configuração, inclua a apply-groups declaração na configuração.
apply-groups [ group-names ];
Se você especificar mais de um nome de grupo, deverá listar os nomes em ordem de prioridade de herança. Os dados de configuração no primeiro grupo têm prioridade sobre os dados nos grupos subsequentes.
Você pode incluir apenas uma apply-groups instrução em cada nível específico da hierarquia de configuração. A apply-groups instrução em um nível de hierarquia específico lista os grupos de configuração a serem incluídos na lista de grupos de configuração da instrução que a contém.
Os valores especificados no nível de hierarquia específico substituem os valores herdados do grupo de configuração.
Os grupos listados em instruções aninhadas apply-groups têm prioridade sobre os grupos em instruções externas. No exemplo a seguir, o vizinho 10.0.0.1 BGP herda os dados de configuração do grupo one primeiro. Em seguida, ele herda os dados de configuração do grupo two e do grupo three. Os dados de configuração no grupo one substituem os dados em qualquer outro grupo. Os dados do grupo ten serão usados somente se uma instrução não estiver contida em nenhum outro grupo.
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 ];
}
}
}
}
O nível raiz é o sistema lógico padrão. Ao configurar um grupo definido para o nível raiz, você não pode aplicar com êxito esse grupo a um sistema lógico não padrão no [edit logical-systems logical-system-name] nível de hierarquia. Embora o dispositivo aceite a confirmação se você aplicar o grupo, o grupo de configuração não entrará em vigor para o sistema lógico não padrão. Em vez disso, é possível criar um grupo de configuração adicional no nível raiz e aplicá-lo no sistema lógico. Como alternativa, é possível modificar o grupo original para que ele inclua a configuração para os níveis de hierarquia do sistema lógico padrão e não padrão.
No Junos Evolved, não há suporte para grupos re0 específicos do Mecanismo de Roteamento que re1 são usados para aplicar a configuração seletivamente ao slot 0 e ao slot 1 do Mecanismo de Roteamento.
Exemplo: Criar e aplicar grupos de configuração
Este exemplo ilustra a criação e a aplicação de grupos de configuração. Neste exemplo, a configuração SNMP é dividida entre o grupo basic e a hierarquia de configuração normal.
Você ganha várias vantagens colocando a configuração específica do sistema (contato SNMP) em um grupo de configuração, separando-a da hierarquia de configuração normal:
-
Você pode substituir qualquer uma das seções sem descartar os dados da outra, usando o
load replacecomando. -
Você pode definir um contato para uma caixa específica porque os dados do grupo ficam ocultos pelos dados específicos do dispositivo.
[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"; }
Essa configuração é equivalente ao seguinte:
[edit]
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
Exemplo: desabilitar a herança de um grupo de configuração
Você pode desativar a herança de um grupo de configuração em qualquer nível, exceto no nível superior da hierarquia. Para desabilitar a herança, inclua a apply-groups-except instrução na configuração:
apply-groups-except [ group-names ];
Essa instrução é útil quando você usa a instrução em um nível de hierarquia específico, apply-group mas também deseja substituir os valores herdados do grupo de configuração para um parâmetro específico.
Exemplo: Desabilitar herança na interface et-1/1/0
No exemplo a seguir, a apply-groups instrução é aplicada globalmente no nível das interfaces. A apply-groups-except instrução também é aplicada na interface et-1/1/0 para que ela use os valores padrão para as hold-time instruções 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 {
et-1/1/0 {
apply-groups-except global; # Disables inheritance from group "global"
# et-1/1/0 uses default value for “hold-time”
# and "link-mode"
}
}
Os grupos de configuração podem adicionar alguma confusão em relação aos valores reais usados pelo dispositivo, pois um dispositivo pode herdar dados de configuração de grupos de configuração. Para visualizar os valores reais usados pelo dispositivo, use o display inheritance comando após a barra vertical ( | ) em um show comando. Esse comando exibe as instruções herdadas no nível em que são herdadas e no grupo do qual foram herdadas:
[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;
}
}
Para exibir a configuração expandida (a configuração, incluindo as instruções herdadas) sem as linhas ##, use o except comando após a barra vertical em um show comando:
[edit]
user@host# show | display inheritance | except ##
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
Usar a display inheritance | except ## opção remove todas as linhas com ##. Portanto, talvez você não consiga visualizar informações sobre senhas ou outros dados importantes onde ## são usados. Para visualizar os detalhes completos da configuração com todas as informações (sem apenas os comentários marcados com ##), use a no-comments opção com o display inheritance comando:
[edit]
user@host# show | display inheritance no-comments
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
Exemplo: usar o junos-defaults grupo de configuração
O Junos OS Evolved oferece um grupo de configuração oculto e imutável chamado junos-defaults que é aplicado automaticamente à configuração do seu dispositivo. O junos-defaults grupo contém instruções pré-configuradas que contêm valores predefinidos para aplicativos comuns. Algumas das instruções devem ser referenciadas para entrar em vigor, como definições para aplicativos (por exemplo, configurações de FTP ou telnet). Outras instruções são aplicadas automaticamente, como configurações de terminal.
Muitos identificadores incluídos no junos-defaults grupo de configuração começam com o nome junos-. Como os identificadores que começam com o nome junos- são reservados para uso pela Juniper Networks, você não pode definir nenhum objeto de configuração usando esse nome.
Você não pode incluir junos-defaults como um nome de grupo de configuração em uma apply-groups instrução.
Para visualizar o conjunto completo de instruções predefinidas disponíveis do junos-defaults grupo, emita o show groups junos-defaults comando configuration mode no nível superior da configuração. O exemplo a seguir exibe uma lista parcial de grupos de padrões do 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
}
Para fazer referência a instruções disponíveis no junos-defaults grupo, inclua a instrução selecionada junos- default-name no nível de hierarquia aplicável.
Para exibir a lista de aplicativos do junos-defaults grupo, você emite o show configuration groups junos-defaults applications. Os aplicativos que começam são junos- configurados pela Juniper Networks por padrão. O exemplo a seguir exibe uma lista parcial de aplicativos de grupos de padrões do 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;
}
Exemplo: usar curingas com grupos de configuração
Você pode usar curingas para identificar nomes e permitir que uma instrução forneça dados para uma variedade de instruções.
O uso de curingas em dados de configuração normais é feito em um estilo consistente com o usado com curingas de shell UNIX tradicionais. Nesse estilo, você pode usar os seguintes metacaracteres:
-
Asterisco (
*) — Corresponde a qualquer sequência de caracteres. -
Ponto de interrogação (
?) — Corresponde a qualquer caractere único. -
Colchete aberto (
[) — Introduz uma classe de caracteres. -
Colchete fechado (
]) — Indica o fim de uma classe de caracteres. Se o colchete fechado estiver ausente, o colchete aberto corresponderá a um colchete[aberto em vez de introduzir uma classe de caractere. -
Uma classe de caracteres corresponde a qualquer um dos caracteres entre colchetes. Dentro de um grupo de configuração, você deve colocar entre aspas um nome de interface que inclua uma classe de caracteres.
-
Hífen (
-) — Especifica um intervalo de caracteres. -
Ponto de exclamação (
!) — Você pode complementar a classe de caracteres tornando um ponto de exclamação o primeiro caractere da classe de caracteres. Para incluir um colchete fechado (]) em uma classe de caracteres, torne-o o primeiro caractere listado (após o!, se houver). Para incluir um sinal de menos, torne-o o primeiro ou o último caractere listado.
Se estiver usando um identificador dentro da groups hierarquia, inicie o nome do identificador com algo diferente de <. No entanto, se você estiver definindo uma instrução curinga, poderá usar < porque a instrução curinga deve ter um .>
O uso de curingas em grupos de configuração segue as mesmas regras que usá-los para configuração normal. No entanto, < e > têm um significado especial quando usados na groups hierarquia. Na hierarquia, você deve colocar entre colchetes angulares qualquer termo usando um padrão curinga groups <pattern> para diferenciá-lo de outros curingas no arquivo de configuração.
[edit]
groups {
sonet-default {
interfaces {
<et-*> {
sonet-options {
payload-scrambler;
rfc-2615;
}
}
}
}
}
As expressões curinga correspondem (e fornecem dados de configuração para) instruções existentes na configuração que correspondem apenas à expressão. No exemplo anterior, a expressão <et-*> passa sua sonet-options instrução para qualquer interface que corresponda à expressão et-*.
O exemplo a seguir mostra como especificar um intervalo de interfaces:
[edit]
groups {
gigabit-ethernet-interfaces {
interfaces {
"<et-1/2/[5-8]>" {
description "These interfaces reserved for Customer ABC";
}
}
}
}
Os colchetes angulares permitem que você passe curingas normais sem modificação. Em qualquer correspondência dentro da configuração, seja feita com ou sem curingas, o primeiro item encontrado na configuração correspondente é usado. No exemplo a seguir, os dados dos grupos BGP curinga são herdados na ordem em que os grupos são listados.
- O valor de preferência substitui
<*a*>a preferência em<*b*>. - O
pvalor de<*c*>substitui o de<*d*>
Os valores de dados de qualquer um desses grupos substituem os valores de dados 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; } } }
Como melhorar o tempo de confirmação ao usar grupos de configuração
Você usa grupos de configuração para aplicar configurações em outras hierarquias sem inserir novamente os dados de configuração. Você pode especificar todos os detalhes de configuração em grupos de configuração. Você também pode usar curingas em grupos de configuração para configurar intervalos de dados, sem detalhar cada linha de configuração. Outra maneira de usar grupos de configuração é criar um caminho de herança que inclua uma longa cadeia de caracteres de configurações a serem aplicadas.
Quando uma configuração que usa grupos de configuração é confirmada, o processo de confirmação se expande e lê todos os dados de configuração do grupo na memória para aplicar as configurações conforme pretendido. O desempenho da confirmação pode ser afetado negativamente se muitos grupos de configuração estiverem sendo aplicados, especialmente se os grupos de configuração usarem curingas extensivamente.
Se o seu sistema usar muitos grupos de configuração que usam curingas, você poderá configurar a persist-groups-inheritance declaração no nível da hierarquia para melhorar o desempenho do [edit system commit] tempo de confirmação.
O uso dessa opção permite que o sistema crie o caminho de herança para cada grupo de configuração dentro do banco de dados, em vez de na memória do processo. Essa alteração pode melhorar o desempenho do tempo de confirmação. No entanto, também pode aumentar o tamanho do banco de dados.
Exemplo: configurar conjuntos de instruções com grupos de configuração
Quando existem conjuntos de instruções em grupos de configuração, todos os valores são herdados. Por exemplo:
[edit] user@host#showgroups { basic { snmp { interface et-1/1/1.0; } } } apply-groups basic; snmp { interface et-0/0/0.0; } [edit] user@host#show | display inheritancesnmp { ## ## ’et-1/1/1.0’ was inherited from group ’basic’ ## interface [ et-0/0/0.0 et-1/1/1.0 ]; }
Para conjuntos que não são exibidos entre colchetes, todos os valores também são herdados. Por exemplo:
[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; } }
Exemplo: usar grupos de configuração para configurar um endereço IP consistente para a interface de gerenciamento
Em dispositivos com vários mecanismos de roteamento, cada Mecanismo de Roteamento é configurado com um endereço IP separado para a interface de gerenciamento. Para acessar o Mecanismo de Roteamento principal, você deve saber qual Mecanismo de Roteamento está ativo e usar o endereço IP apropriado.
Outra opção para acesso consistente ao Mecanismo de Roteamento principal é configurar um endereço IP adicional. Em seguida, use esse endereço para a interface de gerenciamento, independentemente de qual Mecanismo de Roteamento esteja ativo. Esse endereço IP adicional está ativo apenas na interface de gerenciamento do Mecanismo de Roteamento principal. Durante a alternância, o endereço é movido para o novo Mecanismo de Roteamento principal.
Este exemplo configura o endereço 10.17.40.131 para ambos os mecanismos de roteamento e inclui uma master-only declaração. Com essa configuração, o 10.17.40.131 endereço fica ativo apenas no Mecanismo de Roteamento principal. O endereço permanece consistente, independentemente de qual Mecanismo de Roteamento está ativo. O endereço 10.17.40.132 é atribuído a global interfaces re0:mgmt-0, e 10.17.40.133 é atribuído a global interfaces re1:mgmt-0 .
[edit groups global interfaces re0:mgmt-0]
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]
unit 0 {
family inet {
address 10.17.40.131/25 {
master-only;
}
address 10.17.40.133/25;
}
}
Esse recurso está disponível em todos os roteadores que incluem mecanismos de roteamento duplos.
-
Você deve atribuir endereços IP exclusivos para duas interfaces que têm endereços duplicados em interfaces privadas e públicas. Quando o switchover gracioso do Mecanismo de Roteamento (GRES) está habilitado, a CLI exibe uma mensagem de erro de confirmação apropriada se encontrar endereços idênticos. Esse erro pode ocorrer se você configurar o mesmo endereço IP para uma interface de gerenciamento ou interface interna, como
global interfaces re0:mgmt-0e uma interface física externa, comoet-0/0/1.
Exemplo: usar grupos de configuração para configurar entidades pares
Este exemplo cria um grupo some-isp que contém dados de configuração relacionados a outro ISP. Em seguida, ele insere apply-group instruções em vários pontos para permitir que esses locais na hierarquia de configuração herdem esses dados.
[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; } } }
Exemplo: Configurar nomes de grupos de configuração curinga
Curingas são nomes de grupos de configuração que usam caracteres especiais para criar um padrão que você pode aplicar a várias instruções. Os curingas são úteis para copiar um conjunto de opções de configuração para muitos grupos de configuração diferentes. Você deve configurar seu nome curinga corretamente para garantir que as opções de configuração curinga sejam copiadas para os grupos de configuração apropriados.
Este exemplo configura valores diferentes para os grupos curinga <*-major> e <*-minor> curinga na label-switched-path instrução. O caractere asterisco (*) representa uma seção do nome curinga que pode corresponder a qualquer sequência de caracteres. Por exemplo, as opções de configuração em label-switched-path <*-major> são passadas para label-switched-path metro-major e qualquer outro label-switched-path grupo de configuração que contenha -major seu nome.
[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; } } }
Exemplo: Fazer referência à instrução predefinida do grupo Padrões
O exemplo a seguir é uma instrução predefinida do grupo defaults que está disponível para FTP em um firewall stateful:
[edit]
groups {
junos-defaults {
applications {
application junos-ftp {# Use FTP default configuration
application-protocol ftp;
protocol tcp;
destination-port 21;
}
}
}
Para fazer referência a uma instrução padrão predefinida do grupo de padrões, inclua a junos-default-name instrução no nível de hierarquia aplicável. Por exemplo, para fazer referência à instrução padrão para FTP em um firewall stateful, inclua a junos-ftp declaração no nível da [edit services stateful-firewall rule my-rule term my-term from applications] hierarquia:
[edit]
services {
stateful-firewall {
rule my-rule {
term my-term {
from {
applications junos-ftp; #Reference predefined statement, junos-ftp
}
}
}
}
}
Exemplo: exibir instruções padrão que foram aplicadas à configuração
Para exibir os padrões que foram aplicados à configuração do dispositivo, emita o show | display inheritance defaults comando. Este exemplo exibe os padrões herdados no nível da [edit system ports] hierarquia:
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;
Se você optar por não usar instruções padrão existentes, poderá criar seus próprios grupos de configuração manualmente.
Para visualizar as informações completas de configuração, omitindo quaisquer comentários marcados com ##, use a no-comments opção com o display inheritance comando.
Como usar condições para aplicar grupos de configuração
Você pode usar a when instrução no nível da hierarquia para definir condições sob as [edit groups group-name] quais aplicar um grupo de configuração.
Você pode configurar um grupo a ser aplicado com base na hora de início e término opcional do dia ou na data.
Por exemplo, você pode usar a when instrução para criar um grupo de configuração genérico que é aplicado somente durante janelas de tempo específicas, com base em uma hora de início e término agendada.