Nesta página
Como modificar a configuração do dispositivo da Juniper Networks
Como adicionar declarações e identificadores de configuração
Como excluir uma declaração de uma configuração de dispositivo
Exemplo: Exclua uma declaração da configuração do dispositivo
Insira um novo identificador na configuração de um dispositivo
Exemplo: Insira um novo identificador na configuração de um dispositivo
Desativar e reativar declarações e identificadores em uma configuração de dispositivo
Exemplo: Desativar e reativar declarações e identificadores em uma configuração de dispositivo
Exemplo: Como usar a substituição global em uma configuração de dispositivo — a referência de volta
Exemplo: Substituição global em uma configuração de dispositivo — substituindo um nome de interface
Exemplo: Substituição global em uma configuração de dispositivo — a opção atualizada
Exemplo: Inclua comentários em uma configuração de dispositivo usando a CLI
Modifique a configuração de um dispositivo
A CLI permite que você modifique uma configuração existente Junos OS . Esta seção explica os detalhes de adicionar uma declaração, excluir uma declaração, copiar uma declaração e inserir um novo identificador, incluindo exemplos.
Exibir usuários atualmente editando a configuração
Para exibir os usuários que estão editando a configuração atualmente, use o comando do status
modo de configuração:
user@host# status
Users currently editing the configuration:
rchen terminal p0 (pid 55691) on since 2018-03-01 13:17:25 PST
[edit interfaces]
O sistema exibe quem está editando a configuração (rchen
), onde o usuário está logado (terminal p0
), a data e a hora em que o usuário está logado (2018-03-01 13:17:25
PST
) e qual nível da hierarquia o usuário está editando ([edit interfaces]
).
Se você emitir o comando do status
modo de configuração e um usuário tiver agendado uma configuração do candidato para ficar ativo por um tempo futuro, o sistema exibe quem agendou o commit (root
), onde o usuário está logado (terminal d0
), a data e a hora em que o usuário está logado (2018-10-31 14:55:15 PST
) e que um compromisso está pendente (commit at).
[edit]
user@host# status
Users currently editing the configuration:
root terminal d0 (pid 767) on since 2018-10-31 14:55:15 PST, idle 00:03:09
commit at
Se você emitir o comando do status
modo de configuração e um usuário estiver editando a configuração no modo exclusivo de configuração, o sistema exibe quem está editando a configuração (root
), onde o usuário está logado (terminal d0
), a data e hora em que o usuário está logado (2018-11-01 13:05:11 PST
) e que um usuário está editando a configuração no modo exclusivo de configuração (exclusive [edit]
).
[edit]
user@host# status
Users currently editing the configuration:
root terminal d0 (pid 2088) on since 2018-11-01 13:05:11 PST
exclusive [edit]
Consulte também
Como modificar a configuração do dispositivo da Juniper Networks
Para configurar um dispositivo da Juniper Networks ou modificar uma configuração existente, você adiciona declarações à configuração usando o e set
comandosedit
. Para cada hierarquia de declaração, você cria a hierarquia começando com uma declaração no nível superior. Em seguida, você continua criando a hierarquia com declarações que se movem progressivamente mais baixo na hierarquia.
Para modificar a hierarquia, você usa dois comandos de modo de configuração. Selecione o comando relevante com base no que deseja realizar:
edit
— Migra para um nível de hierarquia especificado. Se esse nível de hierarquia não existir, o comando oedit
cria. Oedit
comando tem a seguinte sintaxe:edit <statement-path>
set
— Cria uma declaração de configuração e define os valores do identificador. Depois de emitir umset
comando, você permanece no mesmo nível na hierarquia. Oset
comando tem a seguinte sintaxe:set <statement-path> statement <identifier>
A hierarquia para a declaração de configuração e a declaração em si é
statement-path
. Se você já tiver se mudado para o nível de hierarquia da declaração, você pode omitir o caminho da declaração. A declaração de configuração em si éstatement
. Aidentifier
corda identifica uma instância de uma declaração.
As declarações podem ser declarações de contêiner ou declarações da leaf. Uma declaração de contêiner pode incluir declarações adicionais de contêiner dentro dele, bem como declarações da leaf. Uma declaração da leaf, no entanto, está sozinha. O comando edit?
exibe as declarações do contêiner enquanto set?
exibe as declarações do contêiner e da leaf, usando >
para diferenciar entre elas.
Você não pode usar o edit
comando para alterar o valor dos identificadores. Você deve usar o set
comando.
Consulte também
Como adicionar declarações e identificadores de configuração
Você configura todas as propriedades de um dispositivo da Juniper Networks incluindo declarações na configuração. Uma declaração consiste em uma palavra-chave, que é texto fixo. Você também pode incluir um identificador em uma declaração. Um identificador é um nome de identificação que você define, como o nome de uma interface ou um nome de usuário, e que permite que você e a CLI discriminam uma coleção de declarações.
Por exemplo, a lista a seguir mostra as declarações disponíveis no nível superior no modo de configuração:
user@host# set ?
Possible completions:
> accounting-options Accounting data configuration
+ apply-groups Groups from which to inherit configuration data
> chassis Chassis configuration
> class-of-service Class-of-service configuration
> firewall Define a firewall configuration
> forwarding-options Configure options to control packet sampling
> groups Configuration groups
> interfaces Interface configuration
> policy-options Routing policy option configuration
> protocols Routing protocol configuration
> routing-instances Routing instance configuration
> routing-options Protocol-independent routing option configuration
> snmp Simple Network Management Protocol
> system System parameters
Um suporte de ângulo ( >
) antes que o nome da declaração indique que é uma declaração de contêiner e que você pode definir outras declarações em níveis abaixo dele. Se não houver suporte de ângulo antes >
do nome da declaração, a declaração é uma declaração leaf; você não pode definir outras declarações nos níveis de hierarquia abaixo dela.
Um sinal plus (+) antes que o nome da declaração indique que ele pode conter um conjunto de valores. Para especificar um conjunto, inclua os valores entre parênteses. Por exemplo:
[edit]
user@host# set policy-options community my-as1-transit members [65535:10 65535:11]
Em algumas declarações, você pode incluir um identificador. Para alguns identificadores, como nomes de interface, você deve especificar o identificador em um formato preciso. Por exemplo, o nome da interface so-0/0/0 refere-se a uma interface SONET/SDH que está no Concentrador PIC Flexível (FPC) no slot 0, no primeiro local pic e na primeira porta na placa de interface física (PIC).
Para outros identificadores, como nomes de texto descritivo de interface e políticas e de termos de firewall, você pode especificar qualquer nome, incluindo caracteres especiais, espaços e guias.
Você deve incluir identificadores entre aspas (cotações duplas). Você também deve usar aspas para incluir identificadores e quaisquer strings que incluam um espaço, um caractere de guia ou qualquer um dos seguintes caracteres:
( ) [ ] { } ! @ # $ % ^ & | ' = ?
Se você não digitar uma opção para uma declaração que exija uma, uma mensagem indica o tipo de informação necessária. Neste exemplo, você deve digitar um número de área para completar o comando:
[edit]
user@host# set protocols ospf area
^
syntax error, expecting <identifier>
Consulte também
Como excluir uma declaração de uma configuração de dispositivo
Você exclui uma declaração ou identificador de uma configuração de dispositivo usando o comando do delete
modo de configuração. Excluir uma declaração ou um identificador efetivamente "não configura" a funcionalidade associada a essa declaração ou identificador, devolvendo essa funcionalidade à sua condição padrão.
user@host# delete <statement-path> <identifier>
Ao excluir uma declaração, a declaração e todas as suas declarações subordinadas e identificadores são removidos da configuração.
Para declarações que podem ter mais de um identificador, quando você exclui um identificador, apenas esse identificador é excluído. Os outros identificadores na declaração permanecem.
Para excluir toda a hierarquia a partir do nível de hierarquia atual, use o delete
comando sem especificar uma declaração ou um identificador. Ao omitir a declaração ou o identificador, você é solicitado a confirmar a exclusão:
[edit]
user@host# delete
Delete everything under this level? [yes, no] (no)
Possible completions:
no Don't delete everything under this level
yes Delete everything under this level
Delete everything under this level? [yes, no] (no)
Você não pode excluir várias declarações ou identificadores dentro de uma hierarquia usando um único delete
comando. Você deve excluir cada declaração ou identificador individualmente, usando vários delete
comandos. Por exemplo, considere a seguinte configuração no nível de [edit system]
hierarquia:
system { host-name host-211; domain-name domain-122; backup-router 192.168.71.254; arp; authentication-order [ radius password tacplus ]; }
Para excluir a domain-name
, host-name
e backup-router
da configuração, você deve excluir cada declaração individualmente.
user@hostdelete system host-name host-211
user@hostdelete system domain-name domain-122
user@hostdelete system backup-router 192.168.71.254
Você não pode emitir um único delete
comando. Por exemplo, o comando a seguir não funcionaria:
user@host> delete system hostname host-211 domain-name domain-122 backup-router 192.168.71.254
Você pode excluir itens de configuração relacionados simultaneamente, como interfaces canalizadas ou rotas estáticas, usando um único comando e expressões regulares. Excluir uma declaração ou um identificador efetivamente "não configura" a funcionalidade associada a essa declaração ou identificador, devolvendo essa funcionalidade à sua condição padrão.
Você pode excluir apenas certas partes da configuração onde normalmente você coloca vários itens, como interfaces. No entanto, você não pode excluir "grupos" de diferentes itens, como mostrado neste exemplo:
user@host#show system services
ftp; rlogin; rsh; ssh { root-login allow; } telnet; [edit] user@host#wildcard delete system services *
syntax error.
Ao excluir uma declaração, a declaração e todas as suas declarações subordinadas e identificadores são removidos da configuração.
Para excluir itens de configuração relacionados, emita o comando de wildcard
modo de configuração com a opção delete
e especifique o caminho de declaração, os itens a serem resumidos com uma expressão regular e a expressão regular, da seguinte forma:
user@host# wildcard delete <statement-path> <identifier> <regular-expression>
Quando você usa o wildcard
comando para excluir itens de configuração relacionados, a expressão regular deve ser a declaração final.
Se for compatível Junos OS com mais de oito itens relacionados, a CLI exibe apenas os oito primeiros itens.
Como excluir interfaces da configuração
Você pode excluir várias interfaces T1 na faixa de t1-0/0/0:0
até t1-0/0/0:23
lá usando esta sintaxe:
user@host# wildcard delete interfaces t1-0/0/0:.*
matched: t1-0/0/0:0
matched: t1-0/0/0:1
matched: t1-0/0/0:2
Delete 3 objects? [yes,no] (no) no
Como excluir rotas da configuração
Você pode excluir rotas estáticas na faixa de 172.0.0.0
até 172.255.0.0
usando esta sintaxe:
user@host# wildcard delete routing-options static route 172.*
matched: 172.16.0.0/12
matched: 172.16.14.0/24
matched: 172.16.100.0/24
matched: 172.16.128.0/19
matched: 172.16.160.0/24
matched: 172.17.12.0/23
matched: 172.17.24.0/23
matched: 172.17.28.0/23
...
Delete 13 objects? [yes,no] (no)
Exemplo: Exclua uma declaração da configuração do dispositivo
O exemplo a seguir mostra como excluir a ospf
declaração, efetivamente inconfigurante OSPF no roteador:
[edit] user@host#set protocols ospf area 0.0.0.0 interface so-0/0/0 hello-interval 5
[edit] user@host#show
protocols { ospf { area 0.0.0.0 { interface so-0/0/0 { hello-interval 5; } } } } [edit] user@host#delete protocols ospf
[edit] user@host#show
[edit] user@host#
Exclua todas as declarações do nível atual para baixo:
[edit] user@host#edit protocols ospf area 0.0.0.0
[edit protocols ospf area 0.0.0.0] user@host#set interface so-0/0/0 hello-interval 5
[edit protocols ospf area 0.0.0.0] user@host#delete
Delete everything under this level? [yes, no]yes
[edit protocols ospf area 0.0.0.0] user@host#show
[edit] user@host#
Desconfigure uma propriedade específica. Neste exemplo, remova a configuração de velocidade da interface:
[edit] user@host#set interfaces so-3/0/0 speed 100mb
[edit] user@host#show
interfaces { so-3/0/0 { speed 100mb; } } [edit] user@host#delete interfaces so-3/0/0 speed
[edit] user@host#show
interfaces { so-3/0/0; }
Copie uma declaração na configuração
Quando você tem muitas declarações semelhantes em uma configuração de dispositivo, você pode adicionar uma declaração e, em seguida, fazer cópias dessa declaração. Copiar uma declaração duplica essa declaração e toda a hierarquia de declarações configuradas sob essa declaração. Copiar declarações é útil quando você está configurando muitas interfaces físicas ou lógicas do mesmo tipo.
Para fazer uma cópia de uma declaração existente na configuração:
- Use o comando do modo
copy
de configuração:user@host#
copy existing-statement to new-statement
- Logo após ter copiado uma parte da configuração, verifique a validade da nova configuração.
- Se a configuração for inválida, modifique a porção copiada ou a porção original para produzir uma configuração válida.
Exemplo: Copie uma declaração na configuração
Este exemplo mostra como você pode criar uma conexão virtual (VC) em uma interface copiando um VC existente.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Antes de começar este exemplo, configure a seguinte configuração inicial:
[edit interfaces]
user@host# show
at-1/0/0 {
description "PAIX to MAE West"
encapsulation atm-pvc;
unit 61 {
point-to-point;
vci 0.61;
family inet {
address 10.0.1.1/24;
}
}
}
Para configurar rapidamente a configuração inicial para este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha e altere quaisquer detalhes necessários para combinar com a configuração da sua rede, copiar e colar este comando no CLI no [edit]
nível de hierarquia e, em seguida, entrar commit
no modo de configuração.
set interfaces at-1/0/0 description "PAIX to MAE West" set interfaces at-1/0/0 encapsulation atm-pvc set interfaces at-1/0/0 unit 61 point-to-point set interfaces at-1/0/0 unit 61 vci 0.61 set interfaces at-1/0/0 unit 61 family inet address 10.0.1.1/24
Visão geral
Neste exemplo que ilustra como copiar declarações, você adiciona uma conexão virtual muito semelhante a uma conexão virtual já configurada.
Configuração
Configuração rápida da CLI
Comece no nível hierárquica [edit interfaces at-1/0/0]
.
copy unit 61 to unit 62
set unit 62 vci 0.62
edit unit 62
replace pattern 10.0.1.1 with 10.0.2.1
Configure copiando
Procedimento passo a passo
Para configurar copiando uma configuração:
Vá para o nível de hierarquia e copie a
[edit interfaces at-1/0/0]
unidade 61.[edit interfaces at-1/0/0] user@host#
copy unit 61 to unit 62
-
Dê uma olhada na nova configuração e veja o que você precisa mudar para tornar a configuração válida.
user@host#
show interfaces at-1/0/0
description "PAIX to MAE West" encapsulation atm-pvc; unit 61 { point-to-point; vci 0.61; family inet { address 10.0.1.1/24; } } unit 62 { point-to-point; vci 0.61; family inet { address 10.0.1.1/24; } } Altere a configuração para torná-la válida.
Neste exemplo, você deseja reconfigurar o identificador de circuito virtual (VCI) e o identificador de caminho virtual (VPI).
[edit interfaces at-1/0/0] user@host#
set unit 62 vci 0.62
Você também deseja substituir o endereço IP da nova interface por seu próprio endereço IP.
[edit interfaces at-1/0/0] user@host#
edit unit 62
user@host#replace pattern 10.0.1.1 with 10.0.2.1
Resultados
[edit] show interfaces at-1/0/0 { description "PAIX to MAE West" encapsulation atm-pvc; unit 61 { point-to-point; vci 0.61; family inet { address 10.0.1.1/24; } } unit 62 { point-to-point; vci 0.62; family inet { address 10.0.2.1/24; } } }
Exemplo: Substitua uma configuração
Se você precisar fazer alterações na configuração de um dispositivo, você sempre pode remover as configurações de configuração originais usando o delete
comando e adicionar suas novas configurações de configuração usando o set
comando. No entanto, existem outras maneiras de modificar uma configuração que são mais eficientes e fáceis de usar.
Este exemplo mostra como usar os seguintes comandos de modo de configuração para atualizar uma configuração existente:
rename
— Renomeie uma configuração existente, como um nome de interface. Esse comando pode ser útil quando você está adicionando novas interfaces a um dispositivo.copy
— Copie uma configuração de configuração e toda a hierarquia de declarações configuradas sob essa configuração. Copiar declarações de configuração é útil quando você está configurando muitas interfaces físicas ou lógicas do mesmo tipo.replace
— Faça mudanças globais nos padrões de texto na configuração. Por exemplo, se você escrever consistentemente uma palavra comum à declaração de descrição de todas as interfaces do seu dispositivo, você pode corrigir esse erro com um único comando.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
Durante o primeiro exemplo neste tópico, você faz as seguintes alterações de configuração:
Crie uma nova interface com uma descrição que contenha um erro de digitação.
Copie a configuração da interface que você criou para criar uma nova interface.
Renomeie uma das interfaces que você criou.
Corrija o erro de digitação na descrição das interfaces que você criou.
No segundo exemplo mais curto, você tenta alguns dos mesmos comandos em circunstâncias um pouco diferentes.
Configuração
- Use a cópia, renomeie e substitua comandos para modificar uma configuração de interface de loopback
- Compare o comando de cópia no nível de hierarquia de configuração de alto nível
Use a cópia, renomeie e substitua comandos para modificar uma configuração de interface de loopback
Procedimento passo a passo
Se a sua configuração existente usar algum dos números da unidade de interface de loopback usado neste exemplo, você deve substituir diferentes números de unidade de interface de loopback não utilizados. Caso contrário, seguir essas etapas pode prejudicar o status operacional existente do seu dispositivo.
Para criar e modificar uma configuração de uma interface de loopback usando o copy
e replace
rename
os comandos:
-
Crie um novo número de unidade de interface de loopback e inclua uma descrição.
Os erros na ortografia do loopback na descrição são intencionais.
[edit] user@host#
set interfaces lo0 unit 100 description "this is a lopbck interface"
-
Exibir a configuração para a interface de loopback que você acabou de adicionar.
[edit] user@host#
show interfaces lo0 unit 100
description "this is a lopbck interface";
-
Duplicar a interface de loopback que você acabou de criar, erros incluídos, da unidade 100 à unidade 101.
[edit] user@host#
copy interfaces lo0 unit 100 to unit 101
-
Exibir as configurações para interfaces de loopback lo0 unidade 100 e unidade lo0 101.
[edit] user@host#
show interfaces lo0 unit 100
description "this is a lopbck interface";
[edit] user@host#show interfaces lo0 unit 101
description "this is a lopbck interface";
O
copy
comando duplica uma interface, incluindo quaisquer declarações de crianças, comodescription
. -
Renomeie a interface de loopback lo0 unidade 100 para interface de loopback lo0 unidade 102.
[edit] user@host#
rename interfaces lo0 unit 100 to unit 102
-
Exibir a configuração para interface de loopback lo0 unidade 100.
[edit] user@host#
show interfaces lo0 unit 100
[edit] user@host#Você não deve ver nenhum resultado deste comando. A interface de loopback lo0 unit 100 já se foi. O
rename
comando substitui a declaração de configuração indicada pela nova configuração. -
Corrija a ortografia incorreta da palavra loopback nas descrições para interfaces de loopback lo0 unidade 101 e lo0 unidade 102.
[edit] user@host#
replace pattern lopbck with loopback
-
Exibir a configuração para interfaces de loopback lo0 unidade 101 e lo0 102 para verificar se a palavra loopback agora está escrito corretamente.
[edit] user@host#
show interfaces lo0 unit 101
description "this is a loopback interface";
[edit] user@host#show interfaces lo0 unit 102
description "this is a loopback interface";
O
replace
comando substitui todas as instâncias do padrão especificado no comando, a menos que limitado de alguma forma. O próximo exemplo neste tópico mostra uma maneira de limitar o efeito doreplace
comando. -
No modo de configuração, use o
rollback
comando para devolvera configuração do dispositivo ao estado em que estava antes de executar as etapas anteriores.[edit] user@host#
rollback
Resultados
No modo de configuração, use o show interfaces lo0 unit 101
e show interfaces lo0 unit 102
comandos para garantir que a configuração do dispositivo esteja no estado em que estava antes de executar as etapas neste exemplo.
[edit]
user@host: show interfaces lo0 unit 101
[edit]
user@host#
Você não deve ver nenhum resultado deste comando.
[edit] user@host# show interfaces lo0 unit 102 [edit] user@host#
Você não deve ver nenhum resultado deste comando.
Compare o comando de cópia no nível de hierarquia de configuração de alto nível
Procedimento passo a passo
O exemplo anterior mostra o copy
e rename
replace
os comandos no nível hierárquicos[edit interfaces interface-name unit logical-interface-number]
. Este exemplo mostra como alguns desses comandos funcionam no nível superior da hierarquia do modo de configuração CLI.
O exemplo a seguir exige que você navegue a vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração .
-
Crie uma interface Ethernet.
[edit] user@host#
set interfaces et-2/0/0 unit 0 family inet address 192.0.2.2
-
Copie a interface que você acabou de criar para outra interface.
[edit] user@host#
copy interfaces et-2/0/0 to et-2/1/0
Compare este
copy
comando com o do exemplo anterior, em que ocopy
comando toma a palavra-chaveunit
antes que o valor seja copiado:[edit] user@host#
copy interfaces lo0 unit 100 to unit 101
Observe que a palavra-chave
interfaces
não se repete após a preposiçãoto
e antes que o valor seja copiado. Isso acontece em algumas declarações de alto nível com ocopy
comando.Dica:Da mesma forma, no
rename
comando, você não repete a parte da palavra-chave da declaração antes do novo identificador em algumas declarações de alto nível. -
Mostre sua configuração até agora.
[edit] user@host#
show interfaces
et-2/0/0 { unit 0 { family inet { address 192.0.2.2/32; } } } et-2/1/0 { unit 0 { family inet { address 192.0.2.2/32; } } } -
Substitua o endereço por et-2/1/0 por outro endereço IP.
[edit interfaces et-2/1/0 unit 0 family inet] user@host#
replace pattern 192.0.2.2 with 192.0.2.40
Observe que se você quiser alterar apenas uma ocorrência específica de um padrão em vez de todas as ocorrências, você deve navegar até esse nível de hierarquia específico antes de usar o
replace
comando. -
Mostre as interfaces novamente.
[edit] user@host#
show interfaces
et-2/0/0 { unit 0 { family inet { address 192.0.2.2/32; } } } et-2/1/0 { unit 0 { family inet { address 192.0.2.40/32; } } } -
No modo de configuração, use o
rollback
comando para devolver a configuração do dispositivo ao estado em que estava antes de executar as etapas anteriores.[edit] user@host#
rollback
Resultados
No modo de configuração, use o show interfaces et-2/0/0
e show interfaces et-2/1/0
comandos para garantir que a configuração do dispositivo esteja no estado em que estava antes de executar as etapas neste exemplo.
[edit]
user@hostshow interfaces et-2/0/0
[edit]
user@host#
Você não deve ver nenhum resultado deste comando.
[edit]
user@R1# show interfaces et-2/1/0
[edit]
user@host#
Você não deve ver nenhum resultado deste comando.
Insira um novo identificador na configuração de um dispositivo
Ao configurar um dispositivo da Juniper Networks, você pode inserir a maioria das declarações e identificadores em qualquer ordem. Independentemente da ordem em que você insira as declarações de configuração, a CLI sempre exibe a configuração em uma ordem rigorosa. No entanto, em alguns casos, a ordem das declarações é importante porque as declarações de configuração criam uma sequência que é analisada em ordem.
Por exemplo, em uma política de roteamento ou filtro de firewall, você define termos que são analisados sequencialmente. Além disso, quando você cria um caminho nomeado no MPLS dinâmico, você define uma lista ordenada dos roteadores de trânsito no caminho, começando pelo primeiro roteador de trânsito e terminando com o último.
Para modificar uma parte da configuração em que a ordem de declaração é importante, use o comando do insert
modo de configuração:
user@host#insert <statement-path> identifier1 (before | after) identifier2
Se você não usar o insert
comando, mas configurar o identificador, o identificador será colocado no final da lista de identificadores semelhantes.
Exemplo: Insira um novo identificador na configuração de um dispositivo
Este exemplo mostra o uso do insert
comando.
Considerando que um termo adicionado usando o set
comando é colocado no final da lista de termos existente, você usa o insert
comando para adicionar um termo na ordem que especifica. Especificar a ordem das declarações é importante nos casos em que a ordem é importante porque as declarações de configuração criam uma sequência que é analisada em ordem.
Como este exemplo mostra, você deve criar o termo (ou ele já deve existir) antes de poder usá-lo com o insert
comando. O ponto de referência para a colocação do termo também deve existir; por exemplo, para colocar o termo T1 antes do termo T2, tanto o T1 quanto o T2 já devem existir e ser preenchidos. Junos OS remove os termos vazios automaticamente.
Requisitos
Antes de inserir um termo, você deve configurar uma política inicial. Para configurar rapidamente a política inicial para este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha e altere quaisquer detalhes necessários para combinar com a configuração da sua rede, copiar e colar os comandos no CLI no nível de hierarquia e, em seguida, entrar no [edit policy-options]
commit
modo de configuração.
set policy-statement statics term term1 from route-filter 192.168.0.0/16 orlonger set policy-statement statics term term1 from route-filter 224.0.0.0/3 orlonger set policy-statement statics term term1 then reject set policy-statement statics term term2 from protocol direct set policy-statement statics term term2 then reject set policy-statement statics term term3 from protocol static set policy-statement statics term term3 then reject set policy-statement statics term term4 then accept
Agora verifique se você tem a hierarquia configurada corretamente:
[edit policy-options]
user@host# show
policy-statement statics {
term term1 {
from {
route-filter 192.168.0.0/16 orlonger;
route-filter 224.0.0.0/3 orlonger;
}
then reject;
}
term term2 {
from protocol direct;
then reject;
}
term term3 {
from protocol static;
then reject;
}
term term4 {
then accept;
}
}
Visão geral
Para modificar uma parte da configuração em que a ordem de declaração é importante, você deve usar o comando de insert
modo de configuração. Se você usar o set
comando em vez disso, a declaração adicional ou o identificador estarão no lugar errado sequencialmente. A única outra maneira de obter os termos do comando na ordem correta é desmantelar a configuração e começar de novo.
Configuração
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha e altere os detalhes necessários para combinar com a configuração da sua rede, copiar e colar os comandos no CLI no nível de hierarquia [editar opções de política] e, em seguida, entrar commit
no modo de configuração.
[edit] user@host#rename policy-options policy-statement statics term term4 to term term6
[edit] user@host#set policy-options policy-statement statics term term4 from protocol local
[edit] user@host#set policy-options policy-statement statics term term4 then reject
[edit] user@host#set policy-options policy-statement statics term term5 from protocol aggregate
[edit] user@host#set policy-options policy-statement statics term term5 then reject
[edit] user@host#insert policy-options policy-statement statics term term4 after term term3
[edit] user@host#insert policy-options policy-statement statics term term5 after term term4
Configure para inserir termos
Procedimento passo a passo
-
Determine a ordem em que os termos de configuração precisam ser usados. Considere os termos originais e os novos termos que você planeja adicionar.
Na configuração original, a política é nomeada
statics
e há quatro termos. Cada um dos três primeiros termos corresponde a um critério de partida diferente, e as partidas resultantes são recusadas. O último termo aceita todo o resto do tráfego.Neste exemplo, você precisa adicionar dois termos que eliminam tipos adicionais de tráfego. Ambos os termos precisam ser usados antes do último termo na configuração original.
Renomeie o termo original4 para term6.
[edit] user@host#
rename policy-options policy-statement statics term term4 to term term6
Essa etapa preserva o último termo original, agora renomeado para termo6, como o último termo.
Crie um novo termo4.
[edit] user@host#
set policy-options policy-statement statics term term4 from protocol local
user@host#set policy-options policy-statement statics term term4 then reject
Um novo termo é adicionado que corresponde ao tráfego dos endereços do sistema local e o rejeita.
Crie um novo termo5.
[edit] user@host#
set policy-options policy-statement statics term term5 from protocol aggregate
user@host#set policy-options policy-statement statics term term5 then reject
Um novo termo é adicionado que corresponde ao tráfego de rotas agregadas e o rejeita.
Insira o termo4 após o termo3.
[edit] user@host#
insert policy-options policy-statement statics term term4 after term term3
Insira o termo5 após o termo4.
[edit] user@host#
insert policy-options policy-statement statics term term5 after term term4
Resultados
[edit]
user@host# show policy-options policy-statement statics
term term1 {
from {
route-filter 192.168.0.0/16 orlonger;
route-filter 224.0.0.0/3 orlonger;
}
then reject;
}
term term2 {
from protocol direct;
then reject;
}
term term3 {
from protocol static;
then accept;
}
term term4 {
from protocol local;
then reject;
}
term term5 {
from protocol aggregate;
then reject;
}
term term6 {
then accept;
}
Desativar e reativar declarações e identificadores em uma configuração de dispositivo
Em uma Junos OS configuração, você pode desativar declarações e identificadores para que eles não surtiram efeito quando você emite o commit
comando. Quaisquer declarações e identificadores desativados estão marcados com a inactive
tag. Eles permanecem na configuração, mas não são ativados quando você emite um commit
comando.
Para desativar uma declaração ou identificador, use o comando do deactivate
modo de configuração:
user@host# deactivate( statement | identifier )
Para reativar uma declaração ou identificador, use o comando do activate
modo de configuração:
user@host# activate ( statement | identifier )
Em ambos os comandos, o statement
e o identifier
que você especifica deve estar no nível de hierarquia atual. Quando você desativa uma declaração, essa declaração específica é ignorada e não é aplicada quando você emite um commit
comando.
Para desativar uma declaração, use o comando de disable
modo de configuração.
Em algumas partes da hierarquia de configuração, você pode incluir uma disable
declaração para desativar a funcionalidade. Um exemplo é a desativação de uma interface, incluindo a disable
declaração no nível de [edit interface
interface-name]
hierarquia. Quando você desativa uma função, ela é reativada quando você emite um commit
comando, mas é tratado como se estivesse desativado ou desativado administrativamente.
Exemplo: Desativar e reativar declarações e identificadores em uma configuração de dispositivo
Este exemplo mostra um caso de uso comum em que você usa os comandos do modo e activate
configuraçãodeactivate
. Ela envolve mecanismos de roteamento duplos, primários e backup, que têm o switchover gracioso do mecanismo de roteamento (GRES) configurado. O software em ambos os mecanismos de roteamento precisa ser atualizado. Isso pode ser feito facilmente desativando o GRES, atualizando os mecanismos de roteamento e reativando o GRES.
Você também pode realizar uma atualização semelhante usando a mesma configuração, exceto que o roteamento ativo ininterrupto (NSR) está configurado em vez de GRES. Você precisaria desativar o NSR e depois atualizar os Mecanismos de roteamento antes de reativar o NSR.
Requisitos
Este exemplo requer o uso de um dispositivo com mecanismos de roteamento duplos que podem ser atualizados.
Antes de começar este exemplo, certifique-se de ter o GRES configurado.
Visão geral
Neste exemplo, existem dois mecanismos de roteamento. O GRES está configurado e os mecanismos de roteamento precisam ser atualizados. Para realizar a atualização, você precisa desativar o recurso GRES, atualizar cada um dos mecanismos de roteamento e ativar o GRES novamente.
Configuração
Configure a desativação e a reativação do GRES
Procedimento passo a passo
Para desativar e reativar a atualização do GRES para o mecanismo de roteamento:
Mostre que o GRES está habilitado para o roteador.
[edit] user@host#
show chassis
redundancy { graceful-switchover; } fpc 2 { pic 0 { tunnel-services { bandwidth 1g; } } }Desativar GRES.
[edit] user@host#
deactivate chassis redundancy graceful-switchover
user@host#commit
Mostre que o GRES está desativado.
[edit] user@host#
show chassis
redundancy { inactive: graceful-switchover; } fpc 2 { pic 0 { tunnel-services { bandwidth 1g; } } }-
Atualize os mecanismos de roteamento um a um.
Para obter instruções sobre como atualizar o Junos OS em mecanismos de roteamento duplos, veja a instalação do pacote de software em um dispositivo com mecanismos de roteamento redundantes.
Reativar GRES.
[edit] user@host#
activate chassis redundancy graceful-switchover
user@host#commit
Resultados
Verifique se o recurso GRES foi ativado novamente.
[edit]
user@host# show chassis
redundancy {
graceful-switchover;
}
fpc 2 {
pic 0 {
tunnel-services {
bandwidth 1g;
}
}
}
Como fazer mudanças globais na configuração do dispositivo
Você pode fazer mudanças globais em variáveis e identificadores na configuração do dispositivo usando o comando do replace
modo de configuração. Esse comando substitui um padrão em uma configuração por outro padrão. Por exemplo, você pode usar este comando para encontrar e substituir todas as ocorrências de um nome de interface quando um PIC é movido para outro slot no roteador.
user@host# replace pattern pattern1 with pattern2 <upto n>
A opção pattern
pattern1
é uma string de texto ou expressão regular que define os identificadores e valores que você deseja substituir na configuração.
A opção pattern2
é uma string de texto ou expressão regular que substitui os identificadores e os valores localizados dentro pattern1
.
A CLI usa sintaxe de expressão regular no estilo UNIX padrão (conforme definido no POSIX 1003.2). Se a expressão regular contém espaços, operadores ou caracteres curingas, coloquem a expressão entre aspas. As classificatórias gananciosas (igualam o máximo possível) são apoiadas. As classificatórias preguiçosas (o menor possível) não são apoiadas.
A opção upto
n
especifica o número de objetos substituídos. O valor dos n
controles é o número total de objetos que são substituídos na configuração (não o número total de vezes que o padrão ocorre). Objetos no mesmo nível de hierarquia (irmãos) são substituídos primeiro. Várias ocorrências de um padrão dentro de um determinado objeto são consideradas uma única substituição. Por exemplo, se uma configuração contém uma 010101
string de texto, o comando replace pattern 01 with pattern 02 upto 2
substitui 010101
020202
por (em vez de 020201
). A substituição por 010101
com 020202
é considerada uma única substituição (n
= 1
), não três substituições separadas (n
=3
).
Se você não especificar uma upto
opção, todos os identificadores e valores na configuração compatíveis pattern1
serão substituídos.
O replace
comando está disponível no modo de configuração em qualquer nível de hierarquia. Todos os fósforos são sensíveis ao caso.
Expressões regulares comuns para usar com o replace
comando
Operador |
Função |
---|---|
|
Indica que uma correspondência pode ser um dos dois termos em ambos os lados do tubo. |
|
Usado no início de uma expressão, denota onde uma correspondência deve começar. |
|
Usado no final de uma expressão, denota que um termo deve ser combinado exatamente com o ponto do |
|
Especifica uma variedade de letras ou dígitos para combinar. Para separar o início e o fim de um intervalo, use um hífen ( - ). |
|
Especifica um grupo de termos a combinar. Armazenadas como variáveis numeradas. Uso para referências de volta como |
|
Denota 0 ou mais termos. |
|
Denota um ou mais termos. |
|
Denota qualquer caractere, exceto por um espaço (" "). |
|
Um backslash escapa de personagens especiais para suprimir seu significado especial. Por exemplo\. correspondências |
|
Referência de volta que combina com o nth group. |
|
Referência de volta que corresponde a toda a partida. |
A tabela a seguir lista alguns exemplos de substituição.
Comando |
Resultado |
---|---|
|
Fósforo: Resultado: |
|
Fósforo: Resultado: |
|
Fósforo: Resultado: |
|
Fósforo: Resultado: |
Exemplo: Como usar a substituição global em uma configuração de dispositivo — a referência de volta
Este exemplo mostra como você pode usar uma referência traseira para substituir um padrão.
Requisitos
Nenhuma configuração especial além da iniciação do dispositivo é necessária antes de configurar este exemplo.
Antes de começar, configure o seguinte:
[edit]
user@host# show interfaces
xe-0/0/0 {
unit 0;
}
fe-3/0/1 {
vlan-tagging;
unit 0 {
description "inet6 configuration. IP: 2000::c0a8::1bf5";
vlan-id 100;
family inet {
address 17.10.1.1/24;
}
family inet6 {
address 2000::c0a8:1bf5/3;
}
}
}
Para configurar rapidamente essa configuração inicial, copie os seguintes comandos e cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere quaisquer detalhes necessários para combinar com a configuração de sua rede e, em seguida, copie e cole os comandos no CLI no [edit]
nível de hierarquia:
set interfaces xe-0/0/0 unit 0
set interfaces fe-3/0/1 vlan-tagging
set interfaces fe-3/0/1 unit 0 description "inet6 configuration IP: 2000::c0a8::1bf5"
set interfaces fe-3/0/1 unit 0 vlan-id 100
set interfaces fe-3/0/1 unit 0 family inet address 17.10.1.1/24
set interfaces fe-3/0/1 unit 0 family inet6 address 2000::c0a8:1bf5/3
Visão geral
Um dos recursos mais úteis de expressões regulares é a referência de volta. As backreferences fornecem uma maneira conveniente de identificar um personagem ou sub-cordão repetido dentro de uma corda. Depois de encontrar o padrão, você pode repeti-lo sem ecriá-lo novamente. Você se refere ao padrão capturado anteriormente apenas \#
(onde #
está um numeral que indica o número de vezes que você deseja que o padrão corresponda).
Você pode usar backreferences para recordar, ou encontrar, dados e substituí-los por outra coisa. Dessa forma, você pode reformat grandes conjuntos de dados com um único comando de substituição, economizando assim o tempo necessário para procurar e substituir o padrão manualmente.
Configuração
Configuração de uma substituição usando uma referência traseira no comando
Procedimento passo a passo
Substituir um padrão em uma Junos OS configuração usando uma referência traseira:
Use o
replace
comando.[edit] user@host#
replace pattern pattern1 with pattern2
Neste caso, queremos substituir
:1bf5
1bf5
por .[edit] user@host#
replace pattern "(.*):1bf5" with "\11bf5"
Observe a referência de volta (\1), que indica que o padrão deve ser pesquisado e substituído apenas uma vez.
Resultados
Aqui está a configuração resultante:
[edit]
user@host# show interfaces
xe-0/0/0 {
unit 0;
}
fe-3/0/1 {
vlan-tagging;
unit 0 {
description "inet6 configuration. IP: 2000::c0a8:1bf5";
vlan-id 100;
family inet {
address 17.10.1.1/24;
}
family inet6 {
address 2000::c0a8:1bf5/3;
}
}
}
Neste exemplo, o padrão 2000::c0a8::1bf5
é substituído por 2000::c0a8:1bf5
uma vez.
Exemplo: Substituição global em uma configuração de dispositivo — substituindo um nome de interface
Este exemplo mostra como substituir um nome de interface globalmente em uma configuração usando o replace
comando.
Usar o replace
comando pode ser uma maneira mais rápida e melhor de mudar uma configuração. Por exemplo, um PIC pode ser movido para outro slot em um roteador, o que muda o nome da interface. Com um único comando, você pode atualizar toda a configuração. Ou você pode querer estender rapidamente a configuração com outras configurações semelhantes, por exemplo, interfaces semelhantes.
Ao usar uma combinação de copy
comandos e replace
comandos, você pode adicionar a uma configuração e, em seguida, substituir certos aspectos das configurações recém-copiadas. O replace
comando funciona com expressões regulares. Expressões regulares são rápidas, flexíveis e onipresentes. Você pode criar praticamente qualquer padrão que você possa precisar procurar, e a maioria das linguagens de programação suportam expressões regulares.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Antes de começar, configure a hierarquia a seguir no roteador. Para configurar rapidamente essa hierarquia, veja Configuração rápida da CLI .
user@host#show interfaces
so-0/0/0 { dce; } user@host#show protocols
ospf { area 0.0.0.0 { interface so-0/0/0.0 { hello-interval 5; } } }
Visão geral
Este exemplo mostra como substituir um nome de interface globalmente em uma configuração usando o replace
comando. É um exemplo simples.
A configuração anterior é o ponto de partida para esta atualização de configuração. Ao longo deste exemplo, você altera o nome da interface inicial em toda a configuração com um único comando.
Configuração
Configuração rápida da CLI
Para configurar rapidamente a configuração inicial para este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha e altere quaisquer detalhes necessários para combinar com a configuração da sua rede, copiar e colar esses comandos no CLI no nível de hierarquia e, em seguida, entrar no [edit]
commit
modo de configuração.:
set interfaces so-0/0/0 dce set protocols ospf area 0.0.0.0 interface so-0/0/0.0 hello-interval 5
Configuração de uma mudança de nome de interface
Procedimento passo a passo
Para alterar um nome de interface:
Certifique-se de estar no topo da hierarquia do modo de configuração.
user@host#
top
-
Substitua
so-0/0/0
pelo uso doreplace
comando, que usa apattern
so-1/1/0
palavra-chave.user@host#
replace pattern so-0/0/0 with so-1/1/0
Resultados
Depois de fazer as alterações necessárias, verifique a configuração usando os comandos do modo e show protocols
configuraçãoshow interfaces
.
[edit] user@host#show interfaces
so-1/1/0 { dce; } user@host#show protocols
ospf { area 0.0.0.0 { interface so-1/1/0.0 { hello-interval 5; } } }
Depois de confirmar que a configuração está correta, entre no commit
comando.
Exemplo: Substituição global em uma configuração de dispositivo — a opção atualizada
Considere a hierarquia mostrada em Figura 1. A corda 010101
de texto aparece em três lugares: as seções de descrição de ge-0/0/0
, ge-0/0/0.0
e fe-0/0/1
. Essas três instâncias são três objetos. O exemplo a seguir mostra como você pode usar a opção upto
para realizar substituições em uma configuração de dispositivo:
Uma upto 2
opção no replace
comando é convertida 01
02
para duas instâncias de objetos. Os objetos sob as interfaces principais e fe-0/0/1
serão substituídos ge-0/0/0
primeiro (já que estes são irmãos no nível hierárquicos). Por causa da upto 2
restrição, o replace
comando substitui padrões na primeira e segunda instância na hierarquia (irmãos), mas não na terceira instância (filho da primeira instância).
user@host#show interfaces
ge-0/0/0 { description "mkt 010101"; #First instance in the hierarchy unit 0 { description "mkt 010101"; #Third instance in the hierarchy (child of the first instance) } } fe-0/0/1 { description "mkt 010101"; #second instance in the hierarchy (sibling of the first instance) unit 0 { family inet { address 200.200.20.2/24; } } } [edit] user@host#replace pattern 01 with 02 upto 2
[edit] user@host#commit
commit complete
[edit]
user@host# show interfaces
ge-0/0/0 {
description "mkt 020202"; #First instance in the hierarchy
unit 0 {
description "mkt 010101"; #Third instance in the hierarchy (child of the first
instance)
}
}
fe-0/0/1 {
description "mkt 020202"; #second instance in the hierarchy (sibling of the first
instance)
unit 0 {
family inet {
address 200.200.20.2/24;
}
}
}
Adicione comentários em uma configuração de dispositivo
Você pode incluir comentários em uma configuração de dispositivo para descrever qualquer declaração na configuração. Você pode adicionar comentários interativos na CLI e editando o arquivo de configuração ASCII.
Ao configurar interfaces, você pode adicionar comentários sobre a interface incluindo a description
declaração no nível de [edit interfaces
interface-name
]
hierarquia. Quaisquer comentários que você inclua aparecem na saída dos show interfaces
comandos..
Adicione comentários na CLI
Quando você adiciona comentários no modo de configuração, eles são associados a uma declaração no nível atual. Cada declaração pode ter um comentário de linha única associado a ela. Antes de associar um comentário a uma declaração, a declaração deve existir. O comentário é colocado na linha anterior à declaração.
Para adicionar comentários a uma configuração, use o comando do annotate
modo de configuração:
user@host# annotate statement "comment-string
"
statement
é a declaração de configuração à qual você está anexando o comentário; deve estar no nível hierárquica atual. Se um comentário para os especificados statement
já existir, ele será excluído e substituído pelo novo comentário.
comment-string
é o texto do comentário. O texto do comentário pode ser de qualquer comprimento, e você deve digitá-lo em uma única linha. Se o comentário contém espaços, você deve incluí-lo entre aspas. Na sequência de comentários, você pode incluir os delimiters /* */
de comentários ou #
. Se você não especificar nenhum, a sequência de comentários será fechada com os /* */
delimiters de comentários.
Para excluir um comentário existente, especifique uma sequência de comentários vazia:
user@host# annotate statement ""
Se você adicionar comentários com o annotate
comando, você pode visualizar os comentários dentro da configuração inserindo o comando de modo de configuração show ou o comando de show configuration
modo operacional.
Junos OS oferece suporte a anotações até o último nível na hierarquia de configuração, incluindo oneliners. No entanto, a anotação de partes (declarações de crianças ou identificadores dentro do oneliner) do oneliner não é suportada. Por exemplo, na hierarquia de configuração de amostra a seguir, a anotação é suportada até a level 1
hierarquia dos pais, mas não suporta a declaração da metric
criança:
[edit protocols] isis { interface ge-0/0/0.0 { level 1 metric 10; } } }
Adicione comentários em um arquivo
Quando você edita o arquivo de configuração ASCII e adiciona comentários, eles podem ser uma ou mais linhas e devem preceder a declaração com a qual estão associados. Se você colocar os comentários em outros lugares do arquivo, como na mesma linha após uma declaração ou em uma linha separada após uma declaração, eles serão removidos quando você usa o load
comando para abrir a configuração na CLI.
O trecho a seguir de um exemplo de configuração ilustra como colocar e como não colocar comentários em um arquivo de configuração:
/* This comment goes with routing-options */ routing-options { /* This comment goes with routing-options traceoptions */ traceoptions { /* This comment goes with routing-options traceoptions tracefile */ tracefile rpd size 1m files 10; /* This comment goes with routing-options traceoptions traceflag task */ traceflag task; /* This comment goes with routing-options traceoptions traceflag general */ traceflag general; } autonomous-system 10458; /* This comment is dropped */ } routing-options { rib-groups { ifrg { import-rib [ inet.0 inet.2 ]; /* A comment here is dropped */ } dvmrp-rib { import-rib inet.2; export-rib inet.2; /* A comment here is dropped */ } /* A comment here is dropped */ } /* A comment here is dropped */ }
Ao incluir comentários diretamente no arquivo de configuração, você pode formatar comentários das seguintes maneiras:
Inicie o comentário com um
/*
e termine com um*/
. O texto do comentário pode estar em uma única linha ou pode abranger várias linhas.Inicie o comentário com um
#
e termine-o com uma nova linha (retorno de transporte).
Exemplo: Inclua comentários em uma configuração de dispositivo usando a CLI
Adicionar comentários a uma configuração de dispositivo torna o arquivo de configuração legível e mais facilmente entendido pelos usuários. Você pode incluir comentários conforme configura, usando a annotate
declaração. Neste exemplo, os comentários são adicionados usando a CLI para uma configuração já existente:
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Antes de adicionar um comentário, você deve configurar a seguinte hierarquia no roteador.
Para configurar rapidamente a configuração inicial para este exemplo, copie o comando a seguir, cole-o em um arquivo de texto, remova qualquer quebra de linha e altere quaisquer detalhes necessários para combinar com a configuração da sua rede, copiar e colar este comando no CLI no nível de hierarquia e, em seguida, entrar no [edit]
commit
modo de configuração.
set protocols ospf area 0.0.0.0 interface so-0/0/0.0 hello-interval 5
Agora verifique se você tem essa hierarquia configurada.
user@host# show protocols
ospf {
area 0.0.0.0 {
interface so-0/0/0 {
hello-interval 5;
}
}
}
Visão geral
Ao adicionar comentários usando a CLI, você faz isso no modo de configuração usando a annotate
declaração. Cada comentário que você adiciona está associado a uma declaração no nível atual. Cada declaração pode ter um comentário de linha única associado a ela.
Para configurar a annotate
declaração, vá para o nível da declaração com a qual deseja associar um comentário. Para ver os comentários, vá para o topo da hierarquia de configuração e use o show
comando.
Configuração
Configuração rápida da CLI
Para configurar rapidamente os comentários para este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha e altere quaisquer detalhes necessários para combinar com a configuração da sua rede, copiar e colar os comandos no CLI, começando no nível de hierarquia e depois entrar no [edit]
commit
modo de configuração.
edit protocols ospf
annotate area 0.0.0.0 "Backbone area configuration added June 15, 2018"
edit area 0.0.0.0
annotate interface so-0/0/0.0 "Interface from router sj1 to router sj2"
Observe que os comandos estão movendo você para baixo da hierarquia enquanto você anota diferentes seções da hierarquia.
Incluindo comentários no modo de configuração CLI
Procedimento passo a passo
Esse procedimento pressupõe que você já configurou a configuração inicial.
Para adicionar comentários a uma configuração:
Passe para o primeiro nível de hierarquia ao qual você precisa adicionar um comentário.
[edit] user@host#
edit protocols ospf
Adicione um comentário à declaração de
area
configuração usando aannotate
declaração.[edit protocols ospf] user@host#
annotate area 0.0.0.0 "Backbone area configuration added June 15, 1998"
Suba um nível para a declaração de
interface
configuração.[edit protocols ospf] user@host#
edit area 0.0.0.0
-
Adicione um comentário à interface
so-0/0/0.0
usando aannotate
declaração.[edit protocols ospf area 0.0.0.0] user@host#
annotate interface so-0/0/0.0 "Interface from router sj1 to router sj2"
Resultados
Vá para o topo da hierarquia e use o show
comando para ver os comentários que você adicionou. Os comentários precedem a declaração com a que estão associados.
[edit]
user@host# show protocols
ospf {
/* Backbone area configuration added June 15, 2018 */
area 0.0.0.0 {
/* Interface from router sj1 to router sj2 */
interface so-0/0/0.0 {
hello-interval 5;
}
}
}
Depois de confirmar que a configuração está correta, entre no commit
comando.
Exemplo: Use o comando curinga com a opção de alcance
Se você precisar fazer alterações na configuração de um dispositivo, você sempre pode remover as configurações de configuração originais usando o delete
comando e adicionar suas novas configurações de configuração usando o set
comando. No entanto, existem outras maneiras de modificar uma configuração que são mais eficientes e fáceis de usar.
Este exemplo mostra como usar o comando curinga junto com intervalos para ativar, desativar, excluir, proteger, definir, mostrar e desprotegir comandos de configuração.
O comando curinga não pode criar uma hierarquia de configuração. Você as usa para modificar as declarações existentes. Espere erros de CLI do formulário warning: statement not found
quando tentar definir parâmetros, como a desativação, em uma hierarquia vazia.
Requisitos
Junos OS Release 12.1 ou posterior no dispositivo.
Visão geral
A opção de alcance com o comando curinga permite especificar intervalos em ativar, desativar, excluir, proteger, definir, mostrar e desprotegir comandos. Você pode usar intervalos para especificar uma variedade de interfaces, unidades lógicas, VLANs e outros elementos numerados. A opção de alcance curinga expande o comando que você inscreveu em vários comandos, cada um dos quais corresponde a um item no intervalo.
A opção de alcance curinga permite configurar várias declarações de configuração usando um único comando de conjunto, em vez de configurar cada uma delas individualmente. Por exemplo, para configurar interfaces Ethernet de 24 Gigabit com diferentes números de porta, você pode usar um único comando de conjunto de intervalos curinga em vez de 24 comandos de interfaces de conjunto individuais.
Da mesma forma, para desativar um grupo de 30 interfaces lógicas, você pode usar o comando desativar o wildcard em vez de desativar cada interface lógica individualmente.
Configuração
- Use o comando curinga com declarações de intervalo para uma variedade de tarefas de configuração.
- Usando a opção de alcance para configurar uma série de identificadores nomeados para uma declaração de configuração
- Especificando vários intervalos na sintaxe
- Especificando um intervalo e números únicos na sintaxe
- Excluindo alguns valores de uma gama
- Especificando um intervalo com um número de etapa
- Use o Curinga para excluir políticas p1-p10
Use o comando curinga com declarações de intervalo para uma variedade de tarefas de configuração.
Procedimento passo a passo
- Você pode usar o intervalo curinga com os comandos ativos, desativados, excluídos, protegidos, definidos, exibidos e desprotegidos de configuração.
[edit] user@host#
wildcard range ? Possible completions: activate Remove the inactive tag from a statement annotate Annotate the statement with a comment deactivate Add the inactive tag to a statement delete Delete a data element protect Protect the statement set Set a parameter show Show a parameter unprotect Unprotect the statement
-
A
wildcard
declaração pode ser qualificada com uma hierarquia de configuração completa. Quando estacionado em uma hierarquia de configuração, o comando curinga é relativo às opções suportadas nessa hierarquia.[edit] user@host#
wildcard range set interfaces ? Possible completions: <interface-name> Interface name + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > interface-range Interface ranges configuration > interface-set Logical interface set configuration lo0 Interface name > stacked-interface-set Stacked interface set configuration > traceoptions Interface trace options xe-0/0/0:0 Interface name xe-0/0/0:1 Interface name
user@host# edit interfaces [edit interfaces]wildcard range set ? Possible completions: <interface-name> Interface name + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > interface-range Interface ranges configuration > interface-set Logical interface set configuration lo0 Interface name > stacked-interface-set Stacked interface set configuration > traceoptions Interface trace options xe-0/0/0:0 Interface name xe-0/0/0:1 Interface name
No primeiro caso, o caminho completo para a hierarquia de interfaces é especificado com a declaração curinga. No segundo, o usuário está estacionado na hierarquia de interfaces. As opções suportadas são as mesmas com ambos os métodos.
Usando a opção de alcance para configurar uma série de identificadores nomeados para uma declaração de configuração
Procedimento passo a passo
Para configurar uma série do mesmo tipo de interface com diferentes números de porta (0 a 23), especifique o intervalo para os números de porta com o formato a seguir.
-
[edit] user@host# wildcard range set interfaces ge-0/0/[0-23] unit 0 family vpls
-
Exibir o resultado. A gama de curingas de alcance é expandida para 24 comandos de conjunto diferentes para configurar interfaces com números de porta que variam de 0 a 23. Neste caso, as interfaces são criadas para adicionar a família de
vpls
protocolo. Se as interfaces já estiverem definidas, então apenas a família será adicionada.root@R1# show | compare [edit interfaces] + ge-0/0/0 { + unit 0 { + family vpls; + } + } + ge-0/0/1 { + unit 0 { + family vpls; + } + } + ge-0/0/2 { + unit 0 { + family vpls; + } + } . . . + ge-0/0/23 { + unit 0 { + family vpls; + }
Especificando vários intervalos na sintaxe
Procedimento passo a passo
Você pode ter vários intervalos especificados em um comando de alcance curinga. Cada faixa deve ser separada por uma vírgula. Você também pode ter intervalos sobrepostos.
Para os exemplos restantes, você cria uma cópia temporária de sua configuração com dez declarações de política. Ter essas declarações evita erros de CLI que são relatados quando você tenta manipular atributos em uma parte nula da hierarquia.
[edit] user@device# set policy-options policy-statement p1 then reject set policy-options policy-statement p10 then reject set policy-options policy-statement p2 then reject set policy-options policy-statement p3 then reject set policy-options policy-statement p4 then reject set policy-options policy-statement p5 then reject set policy-options policy-statement p6 then reject set policy-options policy-statement p7 then reject set policy-options policy-statement p8 then reject set policy-options policy-statement p9 then reject [edit] user@device# save temp Wrote 254 lines of configuration to 'temp'
- Para especificar mais de uma faixa na sintaxe, inclua os valores mínimos e máximos para cada faixa, separados por uma vírgula.
[edit] user@host# wildcard range deactivate policy-options policy-statement p[1-3,5-7,6-9]
-
Exibir o resultado. A gama de curingas se expande para adicionar a declaração a
deactivate
políticas que tenham nomes que correspondam às faixas especificadas. Nota-se a ausência de p4 e p10 na lista de alterações na configuração do candidato.Nota:Um erro é devolvido se o nome da política especificado ainda não existir na configuração. Isso é porque você não pode adicionar a declaração de desativação a uma parte vazia da hierarquia de configuração.
[edit] show | compare [edit policy-options] ! inactive: policy-statement p1 { ... } ! inactive: policy-statement p2 { ... } ! inactive: policy-statement p3 { ... } ! inactive: policy-statement p5 { ... } ! inactive: policy-statement p6 { ... } ! inactive: policy-statement p7 { ... } ! inactive: policy-statement p8 { ... } ! inactive: policy-statement p9 { ... }
Especificando um intervalo e números únicos na sintaxe
Procedimento passo a passo
Você pode especificar uma combinação de um intervalo e números únicos na sintaxe do comando de alcance curinga.
-
Recarregue a configuração temporária.
[edit] user@host# load override temp load complete
- Para especificar um intervalo e um número único, separe-os com uma vírgula. Neste exemplo, 10 é adicionado como um número único a uma série de intervalos.
[edit] user@host# wildcard range deactivate policy-options policy-statement p[1-3,5,7,10]
-
Exibir o resultado. A gama de curingas se expande para adicionar a
deactivate
declaração às políticas que têm nomes que correspondem às faixas especificadas e também ao número único. Como resultado, a p10 política também é desativada neste exemplo.Nota:Um erro é devolvido se o nome da política especificado ainda não existir na configuração. Isso é porque você não pode adicionar a declaração de desativação a uma hierarquia de configuração vazia.
[edit] user@host# show | compare [edit policy-options] ! inactive: policy-statement p1 { ... } ! inactive: policy-statement p10 { ... } ! inactive: policy-statement p2 { ... } ! inactive: policy-statement p3 { ... } ! inactive: policy-statement p5 { ... } ! inactive: policy-statement p7 { ... }
Excluindo alguns valores de uma gama
Procedimento passo a passo
Você pode excluir certos valores de um intervalo marcando os números ou a faixa de números a serem excluídos usando um ponto de exclamação.
-
Recarregue a configuração temporária.
[edit] user@host# load override temp load complete
- Para excluir determinados valores de uma faixa, inclua a parte a ser excluída com ! na sintaxe.
[edit] user@host# wildcard range deactivate policy-options policy-statement p[1-5,!3-4]
-
Exibir o resultado. A gama de curingas se expande para adicionar a declaração a
deactivate
políticas que tenham nomes que correspondam às faixas especificadas. Observe que as políticas p3 e p4 estão ausentes na lista de modificações feitas na configuração do candidato. Eles foram excluídos da faixa curinga.Nota:Um erro é devolvido se o nome da política especificado ainda não existir na configuração. Isso é porque você não pode adicionar a declaração de desativação a uma hierarquia de configuração vazia.
[edit] user@host# show | compare [edit policy-options] ! inactive: policy-statement p1 { ... } ! inactive: policy-statement p2 { ... } ! inactive: policy-statement p5 { ... }
Especificando um intervalo com um número de etapa
Procedimento passo a passo
Você pode fornecer um número de etapa para ter um intervalo constante no intervalo. O valor da etapa conta a primeira partida e, em seguida, ignora as partidas subsequentes até o valor de etapa especificado.
-
Recarregue a configuração temporária.
[edit] user@host# load override temp load complete
- Para fornecer uma etapa, inclua o valor de passo na sintaxe precedida por uma redução para a frente (/). Aqui especificamos um intervalo de 1 a 10, faltando 1 número entre cada partida usando um valor de etapa de 2. O efeito é pular todas as partidas numeradas iguais à medida que começamos, igualando um número ímpar (1).
[edit] user@host# wildcard range deactivate policy-options policy-statement p[1-10/2]
-
Exibir o resultado. A gama de curingas se expande para adicionar a
deactivate
declaração a todas as outras declarações correspondentes, começando pela primeira partida.Nota:Um erro é devolvido se o nome da política especificado ainda não existir na configuração. Isso é porque você não pode adicionar a declaração de desativação a uma hierarquia de configuração vazia.
[edit] user@host# show | compare [edit policy-options] ! inactive: policy-statement p1 { ... } ! inactive: policy-statement p3 { ... } ! inactive: policy-statement p5 { ... } ! inactive: policy-statement p7 { ... } ! inactive: policy-statement p9 { ... }
Para ilustrar melhor a função de etapa, a configuração temporária é restaurar e o comando curinga é repetido, desta vez com um valor de passo de 4. Agora, 3 entradas são indispedidas após cada partida inicial.
[edit] user@host# load override temp load complete user@host## wildcard range deactivate policy-options policy-statement p[1-10/4] \
-
Exibir o resultado. A gama de curingas se expande para adicionar a
deactivate
declaração a cada quarta declaração correspondente, começando pela primeira partida.[edit] user@host# show | compare [edit policy-options] ! inactive: policy-statement p1 { ... } ! inactive: policy-statement p5 { ... } ! inactive: policy-statement p9 { ... }
Use o Curinga para excluir políticas p1-p10
Procedimento passo a passo
Exclua as políticas temporárias adicionadas para testar a função curinga.
- Use a
delete
declaração com uma declaração de intervalo curinga para excluir políticas p1 por .p10[edit] user@host# wildcard range delete policy-options policy-statement p[1-10]
-
Exibir o resultado. Nossa
policy-options
estrofe contém apenas políticas p1 até p10. Isso resulta em uma hierarquia de configuração vaziapolicy-options
.[edit] user@host# show policy-options