Nesta página
Como melhorar o tempo de comprometimento ao usar grupos de configuração
Exemplo: Configure conjuntos de declarações com grupos de configuração
Exemplo: Use grupos de configuração para configurar entidades peer
Exemplo: Use grupos de configuração para estabelecer configurações regionais
Exemplo: Configure nomes de grupos de configuração de curingas
Exemplo: Referência à declaração predefinida do Grupo Defaults
Exemplo: Veja as declarações padrão que foram aplicadas à configuração
Configure grupos de configuração de mecanismos de roteamento
Exemplo: Configure condições para aplicar grupos de configuração
Use grupos de configuração para configurar rapidamente dispositivos
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 Junos OS CLI.
Como os grupos de configuração funcionam
Grupos de configuração permitem que você crie um grupo que contenha declarações de configuração e direcione a herança das declarações desse grupo no resto da configuração. O mesmo grupo pode ser aplicado a diferentes seções da configuração. Diferentes seções das declarações de configuração de um grupo podem ser herdadas em diferentes lugares da configuração.
Os grupos de configuração permitem que você crie arquivos de configuração menores e mais logicamente construídos, tornando mais fácil configurar e manter os dispositivos da Juniper Networks. Por exemplo, você pode agrupar declarações que se repetem em muitos lugares da configuração, como ao configurar interfaces. Ao agrupar declarações, você pode limitar as atualizações de configuração apenas para o 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 outros lugares 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 são conhecidos 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 verdadeira herança, que envolve uma relação dinâmica e contínua entre a fonte dos dados de configuração e o alvo desses dados. O alvo herda automaticamente os valores de dados que você altera no grupo de configuração. O alvo não precisa conter as informações herdadas. No entanto, os valores herdados podem ser substituídos no alvo sem afetar a fonte da qual foram herdados.
Este modelo de herança permite que você veja apenas as informações específicas de instâncias sem ver os detalhes herdados. Um pipe de comando no modo de configuração permite exibir os dados herdados.
Configure grupos de configuração
Para que as áreas de sua configuração herdem declarações de configuração, você deve primeiro colocar as declarações em um grupo de configuração. Em seguida, você aplica esse grupo aos níveis na hierarquia de configuração que exigem as declarações.
Para áreas de sua configuração herdar 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 declaração de grupos no nível de hierarquia [editar]:
[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 declarações.
Inclua a
apply-groups [ group-names ]
declaraçã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 Junos OS CLI permite que você crie grupos re-utilizáveis contendo declarações de configuração. Você pode aplicar esses grupos em diferentes seções da configuração, onde as mesmas declaraçõ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 declarações configuradas no grupo. Os grupos de configuração seguem a regra da herança onde a relação dinâmica e contínua é definida entre a fonte dos dados de configuração e o alvo desses dados. Se você alterar os valores de dados no grupo de configuração, a meta herdada reflete as mudanças automaticamente.
Você pode substituir os valores na configuração-alvo se necessário, o que não afeta a fonte do grupo.
Este modelo de herança permite que você veja apenas as informações específicas de instâncias sem ver os detalhes herdados. Um pipe de comando no modo de configuração permite exibir os dados herdados. Por exemplo, você pode querer configurar todas as suas ge-0/0/1
interfaces para o valor de MTU de 1500.
Para configurar todas as suas ge-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 { ge-0/0/1 { unit 0 { family inet { mtu 1500; } } } }
-
Em seguida, você aplica o grupo na configuração da interface.
[edit interfaces ge-0/0/1] lab@vSRX3-05# set apply-groups group-1
-
Veja a configuração herdada.
[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; } }
Se você quiser configurar o valor do MTU para interface ge-0/0/1
em diferentes partes da configuração, você pode aplicar a declaração do grupo usando a opção apply-groups
. Se você fizer isso manualmente e depois quiser aumentar a MTU, você pode precisar mudar manualmente cada interface. Se você usa um grupo de configuração, pode 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 { ge-* { 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, deve listar os nomes por ordem de prioridade de herança. Os dados de configuração do primeiro grupo têm prioridade sobre os dados em grupos subsequentes.
Para dispositivos que oferecem suporte a vários mecanismos de roteamento, você pode especificar e nomes re0
re1
de grupos. A configuração especificada em grupo re0
só é aplicada se o mecanismo de roteamento atual estiver no slot 0. Da mesma forma, a configuração especificada em grupo re1
só é aplicada se o mecanismo de roteamento atual estiver no slot 1. Portanto, ambos os mecanismos de roteamento podem usar o mesmo arquivo de configuração, cada um usando apenas as declarações de configuração que se aplicam a ele. Cada re0
grupo contém re1
no mínimo a configuração para o nome de host e a interface de gerenciamento (fxp0
). Se cada mecanismo de roteamento usar uma interface de gerenciamento diferente, o grupo também deve conter a configuração para o roteador de backup e rotas estáticas.
Você pode incluir apenas uma apply-groups
declaração em cada nível específico da hierarquia de configuração. A apply-groups
declaração em um nível de hierarquia específico lista os grupos de configuração a serem adicionados à lista de grupos de configuração da declaração contendo.
Valores especificados no nível de hierarquia específico sobrepõem valores herdados do grupo de configuração.
Grupos listados em declarações aninhadas apply-groups
priorizam grupos em declarações externas. No exemplo a seguir, o vizinho 10.0.0.1
BGP herda os dados de configuração do grupo em primeiro lugar one
. Em seguida, herda dados de configuração de grupo two
e grupo three
. Os dados de configuração em grupo one
se sobrepõem a dados em qualquer outro grupo. Os dados do grupo ten
só são usados se uma declaraçã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. Quando você configura um grupo definido para o nível raiz, você não pode aplicar esse grupo com sucesso a um sistema lógico não desdestaminado sob o nível hierárquico [edit logical-systems logical-system-name]
. Embora o dispositivo aceite o compromisso se você aplicar o grupo, o grupo de configuração não faz efeito para o sistema lógico não indestabilizante. Em vez disso, você pode criar um grupo de configuração adicional no nível raiz e aplicá-lo dentro do sistema lógico. Alternativamente, você pode modificar o grupo original para que ele inclua configuração tanto para os níveis de hierarquia do sistema lógico padrão quanto para os níveis de hierarquia do sistema não indestabilizados.
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 ao colocar 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 seção sem descartar dados da outra, usando o
load replace
comando. -
Você pode definir um contato para uma caixa específica porque os dados do grupo estão 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 equivale ao seguinte:
[edit] snmp { location "West of Nowhere"; contact "My Engineering Group"; community BasicAccess { authorization read-only; } }
Exemplo: Desativar herança de um grupo de configuração
Você pode desabilitar a herança de um grupo de configuração em qualquer nível, exceto no nível superior da hierarquia. Para desativar a herança, você inclui a apply-groups-except
declaração na configuração:
apply-groups-except [ group-names ];
Essa declaração é útil quando você usa a apply-group
declaração em um nível de hierarquia específico, mas também deseja substituir os valores herdados do grupo de configuração para um parâmetro específico.
Exemplo: Desativar herança na interface so-1/1/0
No exemplo a seguir, a apply-groups
declaração é aplicada globalmente no nível de interfaces. A apply-groups-except
declaração também é aplicada na interface so-1/1/0
para que ela use os valores padrão para as declarações e link-mode
declaraçõeshold-time
.
[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" } }
Grupos de configuração podem adicionar alguma confusão sobre os valores reais usados pelo dispositivo, porque um dispositivo pode herdar dados de configuração de grupos de configuração. Para visualizar os valores reais usados pelo dispositivo, você usa o display inheritance
comando após o pipe (|) em um show
comando. Este comando exibe as declarações herdadas no nível em que são herdadas e o 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 declarações herdadas) sem as linhas ##, você usa o except
comando após o tubo 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 opção display inheritance | except ##
remove todas as linhas com ##
. Portanto, você pode não ser capaz de visualizar informações sobre senhas ou outros dados importantes onde ##
é usado. Para visualizar os detalhes completos da configuração com todas as informações (sem apenas os comentários marcados ##
), você usa a opção no-comments
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: Use o junos-defaults
grupo de configuração
Junos OS fornece 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 declarações pré-configuradas que contêm valores predefinidos para aplicativos comuns. Algumas das declarações devem ser mencionadas para surtir efeito, como definições para aplicativos (por exemplo, configurações de FTP ou telnet). Outras declarações são aplicadas automaticamente, como configurações de terminal.
Muitos identificadores incluídos no grupo de junos-defaults
configuração começam com o nome junos-
. Como os identificadores que começam com o nome junos-
estão reservados para uso pela Juniper Networks, você não pode definir nenhum objeto de configuração usando este nome.
Você não pode incluir junos-defaults
como um nome de grupo de configuração em uma declaração apply-groups
.
Para ver o conjunto completo de declarações predefinidas disponíveis do junos-defaults
grupo, você emite o comando do show groups junos-defaults
modo de configuração no nível superior da configuração. O exemplo a seguir exibe uma lista parcial de grupos padrão 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 declarações de referência disponíveis do junos-defaults
grupo, você inclui a declaração selecionada junos-
default-name
no nível de hierarquia aplicável.
Para ver a lista de aplicativos do junos-defaults
grupo, você emite o show configuration groups junos-defaults applications
. Os aplicativos que começam com junos-
são configurados pela Juniper Networks por padrão. O exemplo a seguir exibe uma lista parcial de aplicativos de grupos padrão 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: Use curingas com grupos de configuração
Você pode usar curingas para identificar nomes e permitir que uma declaração forneça dados para uma variedade de declaraçõ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 metacaracters:
-
Asterisco (
*
)— combina com qualquer sequência de caracteres. -
Ponto de interrogação (
?
)— corresponde a qualquer personagem. -
Suporte aberto (
[
)— apresenta uma aula de caracteres. -
Feche o suporte (
]
)— indica o fim de uma classe de caracteres. Se o suporte próximo estiver ausente, o suporte aberto corresponde a um suporte[
aberto em vez de introduzir uma classe de caracteres. -
Uma classe de caracteres combina com qualquer um dos caracteres entre os parênteses quadrados. Dentro de um grupo de configuração, você deve incluir entre aspas um nome de interface que inclua uma classe de caracteres.
-
Hífen (
-
)— especifica uma variedade de caracteres. -
Ponto de exclamação (
!
)— Você pode complementar a classe de caracteres fazendo um ponto de exclamação o primeiro personagem da classe de personagens. Para incluir um suporte próximo (]
) em uma classe de caracteres, torne-o o primeiro caractere listado (após o!
, se houver). Para incluir um sinal negativo, torne-o o primeiro ou último caractere listado.
Se estiver usando um identificador dentro da groups
hierarquia, inicie o nome do identificador com algo diferente <
. No entanto, se você estiver definindo uma declaração curinga, você pode usar <
porque a declaração curinga deve ter um encerramento >
.
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 sob a groups
hierarquia. groups
Na hierarquia, você deve usar um padrão curinga <pattern> para diferenciá-lo de outros curingas no arquivo de configuração.
[edit] groups { sonet-default { interfaces { <so-*> { sonet-options { payload-scrambler; rfc-2615; } } } } }
As expressões de curinga correspondem (e fornecem dados de configuração para) declarações existentes na configuração que correspondem apenas à sua expressão. No exemplo anterior, a expressão <so-*>
passa sua sonet-options
declaração para qualquer interface que corresponda à expressão so-*
.
O exemplo a seguir mostra como especificar uma variedade de interfaces:
[edit] groups { gigabit-ethernet-interfaces { interfaces { "<ge-1/2/[5-8]>" { description "These interfaces reserved for Customer ABC"; } } } }
Os suportes de ângulo permitem que você passe curingas normais sem modificações. Em qualquer correspondência dentro da configuração, seja feito com ou sem curingas, o primeiro item encontrado na configuração que combina é usado. No exemplo a seguir, os dados dos grupos BGP curingas são herdados na ordem em que os grupos estão listados.
- O valor de preferência de
<*a*>
substituição da preferência em<*b*>
. - O
p
valor do<*c*>
overrides do<*d*>
Os valores de dados de qualquer um desses grupos substituem os valores dos dados 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; } } }
Como melhorar o tempo de comprometimento ao usar grupos de configuração
Você usa grupos de configuração para aplicar configurações em outras hierarquias sem reinserção de dados de configuração. Você pode especificar cada detalhe 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 série de configurações a serem aplicadas.
Quando uma configuração que usa grupos de configuração é comprometida, 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 desejado. O desempenho de 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ê pode configurar a persist-groups-inheritance
declaração no nível hierárquico para melhorar o [edit system commit]
desempenho do tempo de comprometimento.
Usar essa opção permite que o sistema crie o caminho de herança para cada grupo de configuração dentro do banco de dados e não na memória do processo. Essa mudança pode melhorar o desempenho do tempo de comprometimento. No entanto, ele também pode aumentar o tamanho do banco de dados.
Exemplo: Configure conjuntos de declarações com grupos de configuração
Quando existem conjuntos de declarações em grupos de configuração, todos os valores são herdados. Por exemplo:
[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 ]; }
Para conjuntos que não são exibidos dentro de parênteses, todos os valores também são herdados. Por exemplo:
[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; } }
Exemplo: Configure interfaces usando grupos de configuração
Você pode usar grupos de configuração para separar os parâmetros comuns de mídia da interface das informações de endereçamento específicas da interface. O exemplo a seguir coloca dados de configuração para interfaces atm em um grupo chamado 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; } } }
Consulte também
Exemplo: Use 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 primário, 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 primário é configurar um endereço IP adicional. Em seguida, você usa esse endereço para a interface de gerenciamento, independentemente de qual mecanismo de roteamento esteja ativo. Este endereço IP adicional está ativo apenas na interface de gerenciamento para o mecanismo de roteamento primário. Durante a transferência, o endereço passa para o novo mecanismo de roteamento primário.
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 está ativo apenas no mecanismo de roteamento primário. O endereço permanece consistente, independentemente do mecanismo de roteamento estar ativo. O endereço 10.17.40.132
é atribuído, re0
fxp0
e 10.17.40.133
é atribuído afxp0
.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; } }
Esse recurso está disponível em todos os roteadores que incluem mecanismos de roteamento duplos. Em uma matriz de roteamento composta pelo roteador TX Matrix, esse recurso é aplicável apenas ao chassi de placa de switch (SCC). Da mesma forma, em uma matriz de roteamento composta por um roteador TX Matrix Plus, esse recurso é aplicável apenas ao chassi de malha de switch (SFC).
-
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) é 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
fxp0
uma interface física externa, comoge-0/0/1
. -
A
em0
interface Ethernet de gerenciamento é usada para o roteador TX Matrix Plus, roteadores T1600 em uma matriz de roteamento e roteadores de transporte de pacotes da Série PTX. Junos OS Cria automaticamente a interfaceem0
Ethernet de gerenciamento do dispositivo.
Exemplo: Use grupos de configuração para configurar entidades peer
Este exemplo cria um grupo some-isp
que contém dados de configuração relacionados a outro ISP. Em seguida, ele insere apply-group
declarações em vários pontos para permitir que esses locais na hierarquia de configuração herdem esses dados.
[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; } } }
Exemplo: Use grupos de configuração para estabelecer configurações regionais
Este exemplo preenche um grupo com dados de configuração padrão em toda a empresa, enquanto outro grupo contém desvios regionais deste padrão:
[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; } } }
Exemplo: Configure nomes de grupos de configuração de curingas
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 declaraçõ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 o seu nome curinga corretamente para garantir que as opções de configuração curingas são copiadas para os grupos de configuração apropriados.
Este exemplo configura valores diferentes para os <*-major>
grupos <*-minor>
curingas sob a label-switched-path
declaração. O caractere asterisco (*
) representa uma seção do nome curinga que pode combinar com qualquer seqüência de caracteres. Por exemplo, as opções de configuração em baixo label-switched-path <*-major>
são repassadas label-switched-path metro-major
e qualquer outro label-switched-path
grupo de configuração contendo -major
em seu nome.
[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; } } }
Exemplo: Referência à declaração predefinida do Grupo Defaults
O exemplo a seguir é uma declaração predefinida do grupo de padrões 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 declaração de padrão predefinida do grupo padrão, inclua a junos-default-name
declaração no nível de hierarquia aplicável. Por exemplo, para fazer referência à declaração padrão de FTP em um firewall stateful, inclua a junos-ftp
declaração no nível de [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: Veja as declarações padrão que foram aplicadas à configuração
Para visualizar os padrões que foram aplicados à configuração do dispositivo, você emite o show | display inheritance defaults
comando. Este exemplo exibe os padrões herdados no nível de [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 as declarações padrão existentes, você pode criar seus próprios grupos de configuração manualmente.
Para visualizar as informações de configuração completas omitindo quaisquer comentários marcados com ##
, use a opção no-comments
com o display inheritance
comando.
Configure grupos de configuração de mecanismos de roteamento
Em um dispositivo com dois mecanismos de roteamento, ambos os mecanismos de roteamento devem compartilhar uma configuração. Essa configuração garante que ambas as configurações do Mecanismo de Roteamento sejam idênticas. Nesta configuração, crie dois grupos de mecanismos de roteamento, um para cada Mecanismo de Roteamento. Nesses grupos, você especifica os parâmetros específicos do mecanismo de roteamento.
Para obter mais informações sobre a configuração inicial para sistemas redundantes de mecanismos de roteamento e o grupo re0, consulte o Guia de usuário de alta disponibilidade do Junos OS.
Para configurar um grupo de configuração do Mecanismo de Roteamento:
Como usar condições para aplicar grupos de configuração
Você pode usar a when
declaração no nível de [edit groups group-name]
hierarquia para definir as condições sob as quais aplicar um grupo de configuração.
Você pode configurar um grupo para aplicar com base no tipo de chassi, modelo ou mecanismo de roteamento, membro do chassi virtual , nó de cluster e hora de término do dia ou data do início e opcional.
Por exemplo, você pode usar a when
declaração para criar um grupo de configuração genérico para cada tipo de nó e então aplicar a configuração com base em determinadas propriedades de nós, como chassi ou modelo.
Exemplo: Configure condições para aplicar grupos de configuração
Este exemplo mostra como configurar as condições sob as quais um grupo de configuração especificado deve ser aplicado.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
Você pode configurar os dados de configuração do seu grupo no nível de [edit groups group-name]
hierarquia. Em seguida, você pode usar a when
declaração para aplicar a configuração do grupo com base em condições como estas: Tipo de chassi, modelo, mecanismo de roteamento, membro virtual do chassi, nó de cluster e hora de término de início e opcional do dia ou data.
Se você especificar várias condições em um único grupo de configuração, todas as condições devem ser atendidas antes que o grupo de configuração seja aplicado.
Você pode especificar o tempo de início ou a duração do tempo para que o grupo de configuração seja aplicado. Se apenas o tempo de início for especificado, o grupo de configuração será aplicado no momento especificado e permanecerá em vigor até que o tempo seja alterado. Se o tempo de final for especificado, em seguida, em cada dia, o grupo de configuração aplicado é iniciado e parado nos momentos especificados.
Este exemplo estabelece condições em um grupo de configuração, test1
de forma que esse grupo só seja aplicado quando todas as seguintes condições forem atendidas: o roteador é um roteador MX240 modelo com chassi tipo LCC0, com um mecanismo de roteamento operando como RE0, é membro0 do chassi virtual em nó0, e o grupo de configuração só estará em vigor das 9h às 17h todos os dias.
Configuração
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit]
hierarquia.
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
Procedimento
Procedimento passo a passo
Para configurar condições para grupo test1
de configuração:
Definir a condição que identifica o roteador modelo MX240.
[edit groups test1 when] user@host#
set model mx240
Definir a condição que identifica o tipo de chassi como LCC0.
[edit groups test1 when] user@host#
set chassis lcc0
Definir a condição que identifica o mecanismo de roteamento operando como
RE0
.[edit groups test1 when] user@host#
set routing-engine re0
Defina a condição que identifica o chassi
member0
virtual.[edit groups test1 when] user@host#
set member member0
Definir a condição que identifica o cluster
node0
.[edit groups test1 when] user@host#
set node node0
Definir a condição que aplica o grupo apenas entre as 9:00 e as 17:00 diariamente.
[edit groups test1 when] user@host#
set time 9 to 5
Nota:A sintaxe para especificar a hora é:
time <start-time> [to <end-time>]
usando o formato de tempo yyy-mm-dd.hh:mm, hh:mm ou hh.Confirmar a configuração.
user@host#
commit
Resultados
No modo de configuração, confirme sua configuração inserindo o show groups test1
comando. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@host# show groups test1
when {
time 9 to 5;
chassis lcc0;
model mx240;
routing-engine re0;
member member0;
node node0;
}
Verificação
Verifique a herança do grupo com dados condicionais
Propósito
Verifique se os dados condicionais de um grupo de configuração são herdados quando aplicados.
Ação
Emita o show | display inheritance
comando operacional com os when
dados para exibir a herança condicional. Usando este exemplo, você pode emitir um desses comandos para determinar se os dados condicionais foram herdados:
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