Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Carregamento de arquivos de configuração

Carregar arquivos de configuração no dispositivo é útil para carregar partes de arquivos de configuração que podem ser comuns em muitos dispositivos dentro de uma rede.

Exemplos para carregar uma configuração de um arquivo ou terminal

Você pode criar um arquivo contendo dados de configuração para um dispositivo da Juniper Networks, copiar o arquivo para o dispositivo local e então carregar o arquivo na CLI. Depois de carregar o arquivo, você pode empenhá-lo para ativar a configuração no dispositivo ou editar a configuração de maneira interativa usando a CLI e confirmar a configuração posteriormente.

Você também pode criar uma configuração enquanto digita no terminal e depois carregar a configuração. Carregar uma configuração do terminal é útil quando você está cortando partes existentes da configuração e colando-as em outros lugares da configuração.

Para carregar um arquivo de configuração existente localizado no dispositivo, você usa o comando do modo de configuração:load

Para carregar uma configuração do terminal, você usa a versão a seguir do comando de modo de configuração.load Pressione Ctrl-d para encerrar a entrada.

Para substituir toda uma configuração, você especifica a opção em qualquer nível da hierarquia.override Uma operação substitui completamente a configuração atual do candidato pelo arquivo que você está carregando.load override Assim, se você salvou uma configuração completa, você usa essa opção.

Uma operação descarta a configuração atual do candidato e carrega a configuração ou a configuração que você digita no terminal.overridefilename Quando você usa a opção e confirma a configuração, todos os processos do sistema reparcem a configuração.override

Para substituir partes de uma configuração, você especifica a opção .replace A operação procura etiquetas que você adicionou ao arquivo carregado.load replacereplace: A operação então substitui essas partes da configuração do candidato por qualquer que seja especificado após a tag. Isso é útil quando você quer mais controle sobre exatamente o que está sendo mudado. Para que essa operação funcione, você deve incluir tags no arquivo ou configuração que você digita no terminal.replace: O software pesquisa as tags, apaga as declarações existentes de mesmo nome, se houver, e as substitui pela configuração de entrada.replace: Se nenhuma declaração de mesmo nome existir, a operação adiciona à configuração as declarações marcadas com a tag.replacereplace:

Se, em uma ou operação, você especificar um arquivo ou texto do tipo que contenha tags, as tags serão ignoradas.overridemergereplace:replace: Neste cenário, a operação ou a operação prevalece e é realizada.overridemerge

Se você estiver realizando uma operação e se o arquivo que você especifica não tiver tags , a operação será operada .replacereplace:replacemerge A operação também funciona como uma operação se o texto que você digita não tiver tags.replacemergereplace: Essas informações podem ser úteis se você estiver executando scripts automatizados e não souber antecipadamente se os scripts precisam realizar uma operação ou uma operação.replacemerge Os scripts podem usar a operação para cobrir ambos os casos.replace

A operação mescla a configuração do arquivo ou terminal salvo com a configuração do candidato existente.load merge Essas informações são úteis se você estiver adicionando novas seções de configuração. Por exemplo, suponha que você esteja adicionando uma configuração BGP ao nível de hierarquia, onde não havia configuração BGP antes.[edit protocols] Você pode usar a operação para combinar a configuração de entrada com a configuração do candidato existente.load merge Se a configuração existente e a configuração de entrada conterem declarações conflituosas, as declarações na configuração de entrada se sobrepõem às da configuração existente.

Para substituir apenas as partes da configuração que mudaram, você especifica a opção em qualquer nível da hierarquia.update A operação compara a configuração do candidato e os novos dados de configuração.load update Essa operação muda apenas as partes da configuração do candidato que são diferentes da nova configuração. Você usaria essa operação, por exemplo, se houvesse uma configuração BGP existente e o arquivo que você está carregando as alterações de alguma forma.

O , e as opções suportam o carregamento de dados de configuração no formato JavaScript Object Notation (JSON).mergeoverrideupdate Ao carregar dados de configuração que usam o formato JSON, você deve especificar a opção no comando.json Para carregar dados de configuração do JSON que contém entradas de lista não desordenadas, ou seja, listar entradas em que a chave da lista não seja necessariamente o primeiro elemento da entrada da lista, veja .Carregue dados de configuração do JSON com entradas de lista não desordenadas

Para alterar parte da configuração com um arquivo de patch, especifique a opção .patch A operação carrega um arquivo ou uma entrada terminal que contém alterações de configuração.load patch Primeiro, em um dispositivo que já tem as mudanças de configuração, você digita o comando para obter as diferenças entre duas configurações.show | compare Em seguida, você pode carregar as diferenças em outro dispositivo. A vantagem do comando é que ele salva você de ter que copiar trechos de diferentes níveis de hierarquia em um arquivo de texto antes de carregá-los no dispositivo alvo.load patch Este pode ser um poupador de tempo útil se você estiver configurando vários dispositivos com as mesmas opções. Por exemplo, suponha que você configure uma política de roteamento no roteador1 e queira replicar a configuração de política no roteador2, roteador3 e roteador4. Você pode usar a operação.load patch

Neste exemplo, você primeiro executa o comando.show | compare

Exemplo:

Continuando este exemplo, você copia a saída do comando para a prancheta, certificando-se de incluir os níveis de hierarquia.show | compare No roteador2, roteador3 e roteador4, você digita e cola a saída.load patch terminal Em seguida, pressione Enter e pressione Ctrl-d para encerrar a operação. Se a entrada de patch especificar valores diferentes para uma declaração existente, a entrada de patch substitui a declaração existente.

Para usar a opção , ou opção sem especificar o nível de hierarquia completo, você especifica a opção.mergereplacesetupdaterelative Essa opção carrega a configuração de entrada em relação ao seu ponto de edição atual na hierarquia de configuração.

Exemplo:

Para carregar uma configuração que contenha comandos de modo de configuração, especifique a opção .setset Essa opção executa as instruções de configuração linha a linha conforme elas são armazenadas em um arquivo ou de um terminal. As instruções podem conter qualquer comando de modo de configuração, como, e.seteditexittop

Para copiar um arquivo de configuração de outro sistema de rede para o roteador local, você pode usar os serviços de SSH e Telnet, conforme descrito no CLI Explorer.https://www.juniper.net/documentation/content-applications/cli-explorer/junos/

Nota:

Se você estiver trabalhando em um ambiente de Critérios Comuns, as mensagens de log do sistema são criadas sempre que um atributo é alterado (por exemplo, alterações de senha ou alterações no segredo compartilhado RADIUS).secret Essas alterações são registradas durante as seguintes operações de carga de configuração:

Como a codificação de caracteres funciona em dispositivos da Juniper Networks

Os dados de configuração e a saída de comando operacional do Junos OS podem conter caracteres não-ASCII, que estão fora do conjunto de caracteres ASCII de 7 bits. Ao exibir dados operacionais ou de configuração em determinados formatos ou dentro de um determinado tipo de sessão, o software escapa e codifica esses caracteres. O software escapa ou codifica os caracteres usando a referência de caracteres decimais UTF-8 equivalente.

A CLI tenta exibir quaisquer caracteres não-ASCII em dados de configuração produzidos em texto, conjunto ou formato JSON. A CLI também tenta exibir esses caracteres na saída de comando que é produzida em formato de texto. Nos casos de exceção, a CLI exibe a referência de caracteres decimais UTF-8. (Casos de exceção incluem dados de configuração no formato XML e saída de comando no formato XML ou JSON,) Nas sessões de protocolo NETCONF e Junos XML, você vê um resultado semelhante se solicitar dados de configuração ou saída de comando que contenha caracteres não-ASCII. Neste caso, o servidor devolu a referência de caracteres decimais UTF-8 equivalente para esses caracteres para todos os formatos.

Por exemplo, suponha que a seguinte conta de usuário, que contém a letra pequena em latino n com um azulejo (ñ), esteja configurada no dispositivo.

Ao exibir a configuração resultante no formato de texto, a CLI imprime o caractere correspondente.

Quando você exibe a configuração resultante no formato XML no CLI, o caractere ñ mapeia para sua referência de caractere decimais utf-8 equivalente.ñ O mesmo resultado ocorre se você exibir a configuração em qualquer formato em uma sessão de protocolo NETCONF ou Junos XML.

Quando você carrega dados de configuração em um dispositivo, você pode carregar caracteres não-ASCII usando suas referências de caracteres decimais UTF-8 equivalentes.

Sobre especificar declarações e identificadores

Este tópico fornece detalhes sobre declarações de contêineres CLI e declarações leaf para que você saiba como especifique-as ao criar arquivos de configuração ASCII. Este tópico também descreve como a CLI realiza a verificação do tipo para verificar se os dados que você inseriu estão no formato correto.

Especificando declarações

As declarações são mostradas de duas maneiras, seja com aparelho ({ }) ou sem:

  • Nome e identificador de declaração, com uma ou mais declarações de nível inferior em aparelhos:

  • Nome da declaração, identificador e um único identificador:

O nome da declaração.statement-name O é um nome ou outra string que identifica de forma única uma instância de uma declaração.identifier-name Você usa um identificador quando uma declaração pode ser especificada mais de uma vez em uma configuração.

Ao especificar uma declaração, você deve especificar um nome de declaração, um nome de identificador ou ambos, dependendo da hierarquia da declaração.

Você especifica identificadores de uma das seguintes maneiras:

  • — A palavra-chave é usada para identificar uma declaração com exclusividade quando uma declaração pode ser especificada mais de uma vez em uma declaração.identifier-nameidentifier-name

  • — A palavra-chave é uma variável de opção necessária.identifier-name valueidentifier-namevalue

  • [— A palavra-chave é uma palavra-chave que aceita vários valores.identifier-namevalue1 value2 value3 ...]identifier-name Os parênteses são necessários quando você especifica um conjunto de valores; no entanto, eles são opcionais quando você especifica apenas um valor.

Os exemplos a seguir ilustram como as declarações e identificadores são especificados na configuração:

Ao criar um arquivo de configuração ASCII, você especifica declarações e identificadores. Cada declaração tem um estilo preferido, e a CLI usa esse estilo ao exibir a configuração em resposta a um comando de modo de configuração.show Você pode especificar declarações e identificadores de uma das seguintes maneiras:

  • Declaração seguida por identificadores:

  • Declaração seguida por identificadores fechados em aparelhos:

  • Para alguns identificadores repetitivos, você pode usar um conjunto de aparelhos para todas as declarações:

Verificação do tipo de CLI

Quando você especifica identificadores e valores, a CLI realiza verificações de tipo para verificar se os dados que você inseriu estão no formato correto. Por exemplo, para uma declaração na qual você deve especificar um endereço IP, a CLI exige que você insira um endereço em um formato válido. Caso contrário, uma mensagem de erro indica o que você precisa digitar. lista os tipos de dados que a CLI verifica. Os seguintes são tipos de entrada de configuração CLI:

Tabela 1: Tipos de entrada de configuração CLI

Tipo de dados

Formato

Exemplos

Nome da interface física (usado na [ hierarquia)edit interfaces]

type-fpc/pic/port

Correct: et-0/0/1

Incorrect: et-0

Nome completo da interface

type-fpc/pic/port<:channel>.logical

Correct: et-0/0/1.0

Incorrect: et-0/0/1

Nome de interface completo ou abreviado (usado em lugares diferentes da [ hierarquia)edit interfaces]

type-<fpc</pic/port>><<: channel>.logical>

Correct: et, et-1, et-1/2/3:4.5

Endereço IP

0xhex-bytesoctet<. octet<.octet. <octet>>>

, , Correct:1.2.3.40x01020304128.8.1128.8

Sample translations:

1.2.3 Fica 1.2.3.00x01020304 Fica 1.2.3.40x010203 Fica 0.1.2.3

Endereço IP (prefixo de destino) e comprimento do prefixo

0xhex-bytes</length>octet<octet <octet.<octet>>></length>

Correct: 10/8, 128.8/16, 1.2.3.4/32, 1.2.3.4

Sample translations:

1.2.3 Fica 1.2.3.0/320x01020304 Fica 1.2.3.4/320x010203 Fica 0.1.2.3/32default Fica 0.0.0.0/0

Endereço da Organização Internacional para Padronização (ISO)

hex-nibble<hex-nibble ...>

Correct: 47.1234.2345.3456.00, 47123423453456.00, 47.12.34.23.45.34.56.00

Sample translations:

47123456 Fica 47.1234.5647.12.34.56 Fica 47.1234.564712.3456 Fica 47.1234.56

Identificador de área de OSPF (ID)

0xhex-bytesoctet<.octet<.octet.< octet >>> decimal-number

Correct: 54, 0.0.0.54, 0x01020304, 1.2.3.4

Sample translations:

54 Fica 0.0.0.54

257 Fica 0.0.1.1128.8 Fica 128.8.0.00x010203 Fica 0.1.2.3

Sobre o carregamento de uma configuração de um arquivo

Os exemplos a seguir demonstram o processo de carregamento de uma configuração de um arquivo.

Figura 1: Substituindo a configuração atualSubstituindo a configuração atual
Figura 2: Usando a opção de substituiçãoUsando a opção de substituição
Figura 3: Usando a opção de mesclagemUsando a opção de mesclagem
Figura 4: Usando um arquivo patchUsando um arquivo patch
Figura 5: Usando a opção definidaUsando a opção definida

Carregue um arquivo de configuração

Você pode criar um arquivo de configuração em seu sistema local, copiar o arquivo para o dispositivo e então carregar o arquivo na CLI. Depois de carregar o arquivo de configuração, você pode empenhá-lo para ativar a configuração no dispositivo. Você também pode editar a configuração de maneira interativa usando a CLI e comprometê-la posteriormente.

Para carregar um arquivo de configuração do seu sistema local:

  1. Crie o arquivo de configuração usando um editor de texto como o Notepad, certificando-se de que a sintaxe do arquivo de configuração esteja correta.
  2. No arquivo de texto de configuração, inclua uma ou mais das seguintes opções para realizar a ação necessária quando o arquivo estiver carregado.
    Tabela 2: Opções para o comando de carga
    Opções Descrição

    merge

    Combina a configuração ativa atual com a configuração no nome de arquivo que você especifica ou a configuração que você digita na janela terminal. Uma operação é útil quando você está adicionando uma nova seção a uma configuração existente.merge Se a configuração ativa e a configuração de entrada conterem declarações conflituosas, as declarações na configuração de entrada se sobrepõem às da configuração ativa.

    override

    Descarta a configuração atual do candidato. Carregue a configuração no nome do arquivo que você especifica ou a configuração que você digita no terminal. Quando você usa a opção e confirma a configuração, todos os processos do sistema reparcem a configuração.override Você pode usar a opção em qualquer nível da hierarquia.override

    replace

    Pesquise as tags, exclua as declarações existentes de mesmo nome, se houver, e substitui as declarações existentes pela configuração de entrada.replace Se nenhuma declaração de mesmo nome existir, a operação adicionará as declarações marcadas com a tag à configuração ativa.replacereplace

    Nota:

    Para que essa operação funcione, você deve incluir tags no arquivo de texto ou na configuração que você digita no terminal.replace

  3. Pressione Ctrl+a para selecionar todo o texto no arquivo de configuração.
  4. Pressione o Ctrl+c para copiar o conteúdo do arquivo de texto de configuração para a Prancheta.
  5. Faça login no dispositivo usando seu nome de usuário e senha.
  6. Insira o modo de configuração: user@host> configure

    [editar] user@host#

  7. Carregue o arquivo de configuração: [editar] user@host# load merge terminal
  8. No cursor, cole o conteúdo da prancheta usando o mouse e o ícone de pasta: [editar] user@host# [Tipo ^D em uma nova linha de entrada final] >Cursor está aqui.load merge terminal Cole o conteúdo da prancheta aqui&lt;
  9. Pressione insira.
  10. Pressione Ctrl+d para definir o marcador de fim de arquivo.

Para visualizar os resultados das etapas de configuração antes de comprometer a configuração, digite o comando no prompt do usuário.show

Para comprometer essas mudanças na configuração ativa, digite o comando no prompt do usuário.commit Você também pode editar a configuração de maneira interativa usando a CLI e comprometê-la posteriormente.

Carregue dados de configuração do JSON com entradas de lista não desordenadas

O esquema Junos define certos objetos de configuração como listas. Nos dados de configuração do JSON, uma instância de lista é codificada como um par de nome/array, e os elementos do array são objetos JSON. Geralmente, a ordem dos membros em uma entrada de lista codificada pelo JSON é arbitrânia porque os objetos JSON são coleções fundamentalmente não desordenadas de membros. No entanto, o esquema Junos exige que as chaves da lista precedem quaisquer outros irmãos dentro de uma entrada de lista e apareçam na ordem especificada pelo esquema.

Por exemplo, o objeto no nível de hierarquia é uma lista onde é a chave da lista que identifica cada usuário com exclusividade.user[edit system login]name

Nos dados de configuração de amostra a seguir, a chave da lista () é o primeiro elemento para cada usuário.name Por padrão, quando você carrega dados de configuração do JSON, os dispositivos Junos exigem que as chaves da lista precedem quaisquer outros irmãos dentro de uma entrada de lista e apareçam na ordem especificada pelo esquema.

Os dispositivos Junos oferecem duas opções para carregar dados de configuração do JSON que contêm entradas de lista não desordenadas, ou seja, listar entradas onde a chave da lista não é necessariamente o primeiro elemento.

  • Use o comando de modo operacional para produzir dados de configuração do JSON com entradas de lista ordenadas antes de carregar os dados no dispositivo.request system convert-json-configuration

  • Configure a declaração no nível de hierarquia.reorder-list-keys[edit system configuration input format json] Após configurar a declaração, você pode carregar dados de configuração do JSON com entradas de lista não desordenadas e o dispositivo reordena as chaves da lista conforme exigido pelo esquema Junos durante a operação de carga.

Nota:

Quando você configura a declaração, a operação de carga pode levar significativamente mais tempo para analisar a configuração, dependendo do tamanho da configuração e do número de listas.reorder-list-keys Assim, para configurações ou configurações de grande porte com muitas listas, recomendamos usar o comando em vez da declaração.request system convert-json-configurationreorder-list-keys

Por exemplo, suponha que o arquivo contenha a seguinte configuração JSON.user-data.json Se você tentasse carregar a configuração, o dispositivo emitiria um erro de carga porque a chave da lista não é o primeiro elemento nessa entrada da lista.admin2name

Se você usar o comando com o arquivo anterior como entrada, o comando gera o arquivo de saída especificado com dados de configuração JSON que o dispositivo Junos pode analisar durante a operação de carga.request system convert-json-configuration

Como alternativa, você pode configurar a declaração de configuração.reorder-list-keys

Após configurar a declaração, você pode carregar o arquivo de configuração JSON original com entradas de lista não desordenadas, e o dispositivo lida com as entradas da lista quando analisa a configuração.