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 load modo de configuração:

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

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

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

Para substituir partes de uma configuração, você especifica a opção replace . A load replace operação procura replace: etiquetas que você adicionou ao arquivo carregado. 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 replace: tags no arquivo ou configuração que você digita no terminal. O software pesquisa as replace: tags, apaga as declarações existentes de mesmo nome, se houver, e as substitui pela configuração de entrada. Se nenhuma declaração de mesmo nome existir, a replace operação adiciona à configuração as declarações marcadas com a replace: tag.

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

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

A load merge operação mescla a configuração do arquivo ou terminal salvo com a configuração do candidato existente. 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 [edit protocols] hierarquia, onde não havia configuração BGP antes. Você pode usar a load merge operação para combinar a configuração de entrada com a configuração do candidato existente. 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 update em qualquer nível da hierarquia. A load update operação compara a configuração do candidato e os novos dados de configuração. 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 merge, overridee update as opções suportam o carregamento de dados de configuração no formato JavaScript Object Notation (JSON). Ao carregar dados de configuração que usam o formato JSON, você deve especificar a opção json no comando. 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 load patch operação carrega um arquivo ou uma entrada terminal que contém alterações de configuração. Primeiro, em um dispositivo que já tem as mudanças de configuração, você digita o show | compare comando para obter as diferenças entre duas configurações. Em seguida, você pode carregar as diferenças em outro dispositivo. A vantagem do load patch 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. 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 load patch operação.

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

Exemplo:

Continuando este exemplo, você copia a saída do show | compare comando para a prancheta, certificando-se de incluir os níveis de hierarquia. No roteador2, roteador3 e roteador4, você digita load patch terminal e cola a saída. 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 merge, replacesetou update opção sem especificar o nível de hierarquia completo, você especifica a opçãorelative. 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 set comandos de modo de configuração, especifique a opção set . 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, comoset, editeexittop.

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.

Nota:

Se você estiver trabalhando em um ambiente de Critérios Comuns, as mensagens de log do sistema são criadas sempre que um secret atributo é alterado (por exemplo, alterações de senha ou alterações no segredo compartilhado RADIUS). 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 statement-name nome da declaração. O identifier-name é um nome ou outra string que identifica de forma única uma instância de uma declaração. 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:

  • identifier-name— A identifier-name 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-name value— A identifier-name palavra-chave é uma variável de opção value necessária.

  • identifier-name [value1 value2 value3 ...]— A identifier-name palavra-chave é uma palavra-chave que aceita vários valores. 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 show de configuração. 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 dado

Formato

Exemplos

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

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 [edit interfaces] hierarquia)

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.4, , 0x01020304128.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 merge operação é útil quando você está adicionando uma nova seção a uma configuração existente. 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 override e confirma a configuração, todos os processos do sistema reparcem a configuração. Você pode usar a opção override em qualquer nível da hierarquia.

    replace

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

    Nota:

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

  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# load merge terminal [Tipo ^D em uma nova linha de entrada final] >Cursor está aqui. Cole o conteúdo da prancheta aqui<
  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 show comando no prompt do usuário.

Para comprometer essas mudanças na configuração ativa, digite o commit comando no prompt do usuário. 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 user objeto no nível de [edit system login] hierarquia é uma lista onde name é a chave da lista que identifica cada usuário com exclusividade.

Nos dados de configuração de amostra a seguir, a chave da lista (name) é o primeiro elemento para cada usuário. 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 request system convert-json-configuration modo operacional para produzir dados de configuração do JSON com entradas de lista ordenadas antes de carregar os dados no dispositivo.

  • Configure a reorder-list-keys declaração no nível de [edit system configuration input format json] hierarquia. 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 reorder-list-keys 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. Assim, para configurações ou configurações de grande porte com muitas listas, recomendamos usar o request system convert-json-configuration comando em vez da reorder-list-keys declaração.

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

Se você usar o request system convert-json-configuration 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.

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

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.