Ajude-nos a melhorar a sua experiência.

Conte-nos a sua opinião.

Tem dois minutos para uma pesquisa?

Announcement: Try the Ask AI chatbot for answers to your technical questions about Juniper products and solutions.

close
header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
Guia de usuário da CLI para o Junos OS
Table of Contents Expand all
list Table of Contents

Esta tradução automática foi útil?

starstarstarstarstar
Go to English page
ISENÇÃO DE RESPONSABILIDADE:

Esta página será traduzida com software de tradução por máquina de terceiros. Embora esforços razoáveis tenham sido feitos para fornecer uma tradução de qualidade, a Juniper Networks não pode garantir sua exatidão. Se houver dúvidas sobre a exatidão das informações contidas nesta tradução, consulte a versão em inglês. O PDF para download está disponível apenas em inglês.

Modifique a configuração de um dispositivo

date_range 18-Jan-25

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:

content_copy zoom_out_map
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).

content_copy zoom_out_map
[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]).

content_copy zoom_out_map
[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]

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 o edit cria. O edit comando tem a seguinte sintaxe:

    content_copy zoom_out_map
    edit <statement-path>
    
  • set— Cria uma declaração de configuração e define os valores do identificador. Depois de emitir um set comando, você permanece no mesmo nível na hierarquia. O set comando tem a seguinte sintaxe:

    content_copy zoom_out_map
    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.

Nota:

Você não pode usar o edit comando para alterar o valor dos identificadores. Você deve usar o set comando.

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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
[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:

content_copy zoom_out_map
( ) [ ] { } ! @ # $ % ^ & | ' = ?  

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:

content_copy zoom_out_map
[edit]
user@host# set protocols ospf area
                                ^
syntax error, expecting <identifier>

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.

content_copy zoom_out_map
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:

content_copy zoom_out_map
[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) 
Nota:

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:

content_copy zoom_out_map
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-namee backup-router da configuração, você deve excluir cada declaração individualmente.

content_copy zoom_out_map
user@host delete system host-name host-211
user@host delete system domain-name domain-122
user@host delete 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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
user@host# wildcard delete <statement-path> <identifier> <regular-expression>
Nota:

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:

content_copy zoom_out_map
  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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
[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:

content_copy zoom_out_map
[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:

content_copy zoom_out_map
[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:

  1. Use o comando do modo copy de configuração:
    content_copy zoom_out_map
    user@host# copy existing-statement to new-statement 
    
  2. Logo após ter copiado uma parte da configuração, verifique a validade da nova configuração.
  3. 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:

content_copy zoom_out_map
[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.

content_copy zoom_out_map
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] .

content_copy zoom_out_map
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:

  1. Vá para o nível de hierarquia e copie a [edit interfaces at-1/0/0] unidade 61.

    content_copy zoom_out_map
    [edit interfaces at-1/0/0]
    user@host# copy unit 61 to unit 62
    
  2. Dê uma olhada na nova configuração e veja o que você precisa mudar para tornar a configuração válida.

    content_copy zoom_out_map
    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;
        }
    }
    
  3. 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).

    content_copy zoom_out_map
    [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.

    content_copy zoom_out_map
    [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

content_copy zoom_out_map
[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

Procedimento passo a passo
CUIDADO:

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 copye replacerenameos comandos:

  1. 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.

    content_copy zoom_out_map
    [edit]
    user@host# set interfaces lo0 unit 100 description "this is a lopbck interface"
    
  2. Exibir a configuração para a interface de loopback que você acabou de adicionar.

    content_copy zoom_out_map
    [edit]
    user@host# show interfaces lo0 unit 100
    description "this is a lopbck interface";
    
  3. Duplicar a interface de loopback que você acabou de criar, erros incluídos, da unidade 100 à unidade 101.

    content_copy zoom_out_map
    [edit]
    user@host# copy interfaces lo0 unit 100 to unit 101
    
  4. Exibir as configurações para interfaces de loopback lo0 unidade 100 e unidade lo0 101.

    content_copy zoom_out_map
    [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, como description.

  5. Renomeie a interface de loopback lo0 unidade 100 para interface de loopback lo0 unidade 102.

    content_copy zoom_out_map
    [edit]
    user@host# rename interfaces lo0 unit 100 to unit 102
    
  6. Exibir a configuração para interface de loopback lo0 unidade 100.

    content_copy zoom_out_map
    [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.

  7. Corrija a ortografia incorreta da palavra loopback nas descrições para interfaces de loopback lo0 unidade 101 e lo0 unidade 102.

    content_copy zoom_out_map
    [edit]
    user@host# replace pattern lopbck with loopback
    
  8. Exibir a configuração para interfaces de loopback lo0 unidade 101 e lo0 102 para verificar se a palavra loopback agora está escrito corretamente.

    content_copy zoom_out_map
    [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 do replace comando.

  9. 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.

    content_copy zoom_out_map
    [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.

content_copy zoom_out_map
[edit]
user@host: show interfaces lo0 unit 101
[edit]
user@host# 

Você não deve ver nenhum resultado deste comando.

content_copy zoom_out_map
[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 copye renamereplace 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 .

  1. Crie uma interface Ethernet.

    content_copy zoom_out_map
    [edit]
    user@host# set interfaces et-2/0/0 unit 0 family inet address 192.0.2.2
    
  2. Copie a interface que você acabou de criar para outra interface.

    content_copy zoom_out_map
    [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 o copy comando toma a palavra-chave unit antes que o valor seja copiado:

    content_copy zoom_out_map
    [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ção to e antes que o valor seja copiado. Isso acontece em algumas declarações de alto nível com o copy 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.

  3. Mostre sua configuração até agora.

    content_copy zoom_out_map
    [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;
            }
        }
    }
    
  4. Substitua o endereço por et-2/1/0 por outro endereço IP.

    content_copy zoom_out_map
    [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.

  5. Mostre as interfaces novamente.

    content_copy zoom_out_map
    [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;
            }
        }
    }
    
  6. 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.

    content_copy zoom_out_map
    [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.

content_copy zoom_out_map
[edit]
user@hostshow interfaces et-2/0/0
[edit]
user@host# 

Você não deve ver nenhum resultado deste comando.

content_copy zoom_out_map
[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:

content_copy zoom_out_map
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.

content_copy zoom_out_map
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:

content_copy zoom_out_map
[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 commitno modo de configuração.

content_copy zoom_out_map
[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
  1. 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 staticse 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.

  2. Renomeie o termo original4 para term6.

    content_copy zoom_out_map
    [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.

  3. Crie um novo termo4.

    content_copy zoom_out_map
    [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.

  4. Crie um novo termo5.

    content_copy zoom_out_map
    [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.

  5. Insira o termo4 após o termo3.

    content_copy zoom_out_map
    [edit]
    user@host# insert policy-options policy-statement statics term term4 after term term3
    
  6. Insira o termo5 após o termo4.

    content_copy zoom_out_map
    [edit]
    user@host# insert policy-options policy-statement statics term term5 after term term4
    

Resultados

content_copy zoom_out_map
[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:

content_copy zoom_out_map
user@host# deactivate( statement | identifier )

Para reativar uma declaração ou identificador, use o comando do activate modo de configuração:

content_copy zoom_out_map
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.

Nota:

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:

  1. Mostre que o GRES está habilitado para o roteador.

    content_copy zoom_out_map
    [edit]
    user@host# show chassis 
    redundancy {
        graceful-switchover;
    }
    fpc 2 {
        pic 0 {
            tunnel-services {
                bandwidth 1g;
            }
        }
    }
    
  2. Desativar GRES.

    content_copy zoom_out_map
    [edit]
    user@host# deactivate chassis redundancy graceful-switchover
    user@host# commit
    
  3. Mostre que o GRES está desativado.

    content_copy zoom_out_map
    [edit]
    user@host# show chassis 
    redundancy {
        inactive: graceful-switchover;
    }
    fpc 2 {
        pic 0 {
            tunnel-services {
                bandwidth 1g;
            }
        }
    }
  4. 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.

  5. Reativar GRES.

    content_copy zoom_out_map
    [edit]
    user@host# activate chassis redundancy graceful-switchover
    user@host# commit
    
Resultados

Verifique se o recurso GRES foi ativado novamente.

content_copy zoom_out_map
[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.

content_copy zoom_out_map
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 010101020202 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

Tabela 1: 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 $ personagem.

[ ]

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 \1 \2 .... \9.

*

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 . (símbolo de ponto).

\n

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.

Tabela 2: Exemplos de substituição

Comando

Resultado

replace pattern myrouter with router1

Fósforo: myrouter

Resultado: router1

replace pattern "192\.168\.(.*)/24" with "10.2.\1/28"

Fósforo: 192.168.3.4/24

Resultado: 10.2.3.4/28

replace pattern "1.\1" with "abc&def"

Fósforo: 1.1

Resultado: abc1.1def

replace pattern 1.1 with " abc\&def"

Fósforo: 1#1

Resultado: abc&def

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:

content_copy zoom_out_map
[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:

content_copy zoom_out_map
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.

    content_copy zoom_out_map
    [edit]
    user@host# replace pattern pattern1 with pattern2
    

    Neste caso, queremos substituir :1bf51bf5por .

    content_copy zoom_out_map
    [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:

content_copy zoom_out_map
[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 .

content_copy zoom_out_map
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.:

content_copy zoom_out_map
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:

  1. Certifique-se de estar no topo da hierarquia do modo de configuração.

    content_copy zoom_out_map
    user@host# top
    
  2. Substitua so-0/0/0 pelo uso do replace comando, que usa a patternso-1/1/0 palavra-chave.

    content_copy zoom_out_map
    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.

content_copy zoom_out_map
[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.0e 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:

Figura 1: Substituição por objeto Substituição por objeto

Uma upto 2 opção no replace comando é convertida 0102 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).

content_copy zoom_out_map
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
content_copy zoom_out_map
[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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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.

Nota:

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:

content_copy zoom_out_map
[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:

content_copy zoom_out_map
/* 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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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:

  1. Passe para o primeiro nível de hierarquia ao qual você precisa adicionar um comentário.

    content_copy zoom_out_map
    [edit]
    user@host# edit protocols ospf
    
  2. Adicione um comentário à declaração de area configuração usando a annotate declaração.

    content_copy zoom_out_map
    [edit protocols ospf]
    user@host# annotate area 0.0.0.0 "Backbone area configuration added June 15, 1998" 
    
  3. Suba um nível para a declaração de interface configuração.

    content_copy zoom_out_map
    [edit protocols ospf]
    user@host# edit area 0.0.0.0
    
  4. Adicione um comentário à interface so-0/0/0.0 usando a annotate declaração.

    content_copy zoom_out_map
    [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.

content_copy zoom_out_map
[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.

Nota:

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.

Procedimento passo a passo
  1. Você pode usar o intervalo curinga com os comandos ativos, desativados, excluídos, protegidos, definidos, exibidos e desprotegidos de configuração.
    content_copy zoom_out_map
    [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
    
  2. 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.

    content_copy zoom_out_map
    [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.

  1. content_copy zoom_out_map
    [edit]
    user@host# wildcard range set interfaces ge-0/0/[0-23] unit 0 family vpls
  2. 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.

    content_copy zoom_out_map
    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.

Nota:

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.

content_copy zoom_out_map
[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'
  1. Para especificar mais de uma faixa na sintaxe, inclua os valores mínimos e máximos para cada faixa, separados por uma vírgula.
    content_copy zoom_out_map
    [edit]
    user@host# wildcard range deactivate policy-options policy-statement p[1-3,5-7,6-9]
  2. 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.

    content_copy zoom_out_map
    [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.

  1. Recarregue a configuração temporária.

    content_copy zoom_out_map
    [edit]
    user@host# load override temp 
    load complete
    
  1. 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.
    content_copy zoom_out_map
    [edit]
    user@host# wildcard range deactivate policy-options policy-statement p[1-3,5,7,10]
  2. 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.

    content_copy zoom_out_map
    [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.

  1. Recarregue a configuração temporária.

    content_copy zoom_out_map
    [edit]
    user@host# load override temp 
    load complete
    
  2. Para excluir determinados valores de uma faixa, inclua a parte a ser excluída com ! na sintaxe.
    content_copy zoom_out_map
    [edit]
    user@host# wildcard range deactivate policy-options policy-statement p[1-5,!3-4]
  3. 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.

    content_copy zoom_out_map
    [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.

  1. Recarregue a configuração temporária.

    content_copy zoom_out_map
    [edit]
    user@host# load override temp 
    load complete
    
  2. 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).
    content_copy zoom_out_map
    [edit]
    user@host# wildcard range deactivate policy-options policy-statement p[1-10/2]
  3. 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.

    content_copy zoom_out_map
    [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.

    content_copy zoom_out_map
    [edit]
    user@host# load override temp                                                     
    load complete
    user@host## wildcard range deactivate policy-options policy-statement p[1-10/4]    
    \
  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.

    content_copy zoom_out_map
    [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.

  1. Use a delete declaração com uma declaração de intervalo curinga para excluir políticas p1 por .p10
    content_copy zoom_out_map
    [edit]
    user@host# wildcard range delete policy-options policy-statement p[1-10]
  2. Exibir o resultado. Nossa policy-options estrofe contém apenas políticas p1 até p10. Isso resulta em uma hierarquia de configuração vazia policy-options.

    content_copy zoom_out_map
    [edit]
    user@host# show policy-options 
    
footer-navigation