Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Carregando arquivos de configuração

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

Exemplos para carregar uma configuração de um arquivo ou do 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, em seguida, carregá-lo na CLI. Depois de carregar o arquivo, você pode confirmá-lo para ativar a configuração no dispositivo ou editar a configuração interativamente usando a CLI e confirmar a configuração posteriormente.

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

Para carregar um arquivo de configuração existente localizado no dispositivo, use o load comando configuration mode:

Para carregar uma configuração do terminal, use a seguinte versão do load comando configuration mode. Pressione Ctrl-d para encerrar a entrada.

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

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

Para substituir partes de uma configuração, especifique a replace opção. A load replace operação procura replace: marcas que você adicionou ao arquivo carregado. Em seguida, a operação substitui essas partes da configuração candidata pelo que for especificado após a marca. Isso é útil quando você deseja mais controle sobre exatamente o que está sendo alterado. Para que essa operação funcione, você deve incluir replace: tags no arquivo ou configuração digitada no terminal. O software procura as replace: tags, exclui as instruções existentes com o mesmo nome, se houver, e as substitui pela configuração de entrada. Se não houver nenhuma instrução com o mesmo nome, a replace operação adicionará à configuração as instruções marcadas com a replace: tag.

Se, em uma override operação ou merge , você especificar um texto de arquivo ou tipo que contenha replace: tags, as replace: tags serão ignoradas. Nesse cenário, a override operação or merge tem precedência e é executada.

Se você estiver executando uma replace operação e se o arquivo especificado não tiver replace: tags, a operação será executada replace como uma merge operação. A replace operação também será executada como uma merge operação se o texto digitado não tiver replace: marcas. Essas informações podem ser úteis se você estiver executando scripts automatizados e não puder saber com antecedência se os scripts precisam executar uma replace operação ou uma merge operação. Os scripts podem usar a replace operação para cobrir qualquer um dos casos.

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

Para substituir apenas as partes da configuração que foram alteradas, especifique a update opção em qualquer nível da hierarquia. A load update operação compara a configuração candidata e os novos dados de configuração. Essa operação altera apenas as partes da configuração candidata que são diferentes da nova configuração. Você usaria essa operação, por exemplo, se houver uma configuração de BGP existente e o arquivo que você está carregando a alterar de alguma forma.

As mergeopções , overridee update dão suporte ao carregamento de dados de configuração no formato JSON (JavaScript Object Notation). Ao carregar dados de configuração que usam o formato JSON, você deve especificar a json opção no comando. Para carregar dados de configuração JSON que contêm entradas de lista não ordenadas, ou seja, entradas de lista em que a chave de lista não é necessariamente o primeiro elemento na entrada de lista, consulte Carregar dados de configuração JSON com entradas de lista não ordenadas.

Para alterar parte da configuração com um arquivo de patch, especifique a patch opção. A load patch operação carrega um arquivo ou entrada de terminal que contém alterações de configuração. Primeiro, em um dispositivo que já tem as alterações de configuração, você digita o show | compare comando para gerar 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 evita que você tenha que copiar trechos de diferentes níveis de hierarquia em um arquivo de texto antes de carregá-los no dispositivo de destino. Isso pode ser uma economia 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 com este exemplo, você copia a show | compare saída do comando para a área de transferência, 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 instrução existente, a entrada de patch substituirá a instrução existente.

Para usar a mergeopção , replace, set, ou update sem especificar o nível de hierarquia completo, especifique a relative opção. Essa opção carrega a configuração de entrada relativa ao seu ponto de edição atual na hierarquia de configuração.

Exemplo:

Para carregar uma configuração que contém set comandos do modo de configuração, especifique a set opção. Esta opção executa as instruções de configuração linha por linha à medida que são armazenadas em um arquivo ou de um terminal. As instruções podem conter qualquer comando de modo de configuração, como set, edit, exit, e top.

Para copiar um arquivo de configuração de outro sistema de rede para o roteador local, você pode usar os utilitários SSH e Telnet, conforme descrito no CLI Explorer.

Observação:

Se você estiver trabalhando em um ambiente Common Criteria, as mensagens de log do sistema serão criadas sempre que um secret atributo for 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 carregamento de configuração:

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

Os dados de configuração do Junos OS e a saída do comando operacional 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 em 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 caractere decimal UTF-8 equivalente.

A CLI tenta exibir quaisquer caracteres não ASCII em dados de configuração produzidos no formato de texto, conjunto ou JSON. A CLI também tenta exibir esses caracteres na saída do comando que é produzida em formato de texto. Nos casos de exceção, a CLI exibe a referência de caractere decimal UTF-8. (Os 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 do protocolo NETCONF e Junos XML, você verá um resultado semelhante se solicitar dados de configuração ou saída de comando que contenha caracteres não ASCII. Nesse caso, o servidor retorna a referência de caractere decimal UTF-8 equivalente para esses caracteres para todos os formatos.

Por exemplo, suponha que a conta de usuário a seguir, que contém a letra minúscula latina n com um til (ñ), esteja configurada no dispositivo.

Quando você exibe a configuração resultante em formato de texto, a CLI imprime o caractere correspondente.

Quando você exibe a configuração resultante no formato XML na CLI, o caractere ñ é mapeado para sua referência ñde caractere decimal UTF-8 equivalente. O mesmo resultado ocorrerá se você exibir a configuração em qualquer formato em uma sessão do protocolo NETCONF ou Junos XML.

Ao carregar 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 a especificação de instruções e identificadores

Este tópico fornece detalhes sobre as instruções de contêiner da CLI e as instruções leaf para que você saiba como especificá-las ao criar arquivos de configuração ASCII. Este tópico também descreve como a CLI executa a verificação de tipo para verificar se os dados inseridos estão no formato correto.

Especificando instruções

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

  • Nome e identificador da instrução, com uma ou mais instruções de nível inferior entre chaves:

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

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

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

Você especifica identificadores de uma das seguintes maneiras:

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

  • identifier-name value— O identifier-name é uma palavra-chave e o value é uma variável de opção obrigatória.

  • identifier-name [value1 value2 value3 ...]—A identifier-name é uma palavra-chave que aceita vários valores. Os colchetes 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 instruções e os identificadores são especificados na configuração:

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

  • Declaração seguida de identificadores:

  • Declaração seguida por identificadores entre chaves:

  • Para alguns identificadores de repetição, você pode usar um conjunto de chaves para todas as instruções:

Execução da verificação de tipo de CLI

Quando você especifica identificadores e valores, a CLI executa a verificação de tipo para verificar se os dados inseridos estão no formato correto. Por exemplo, para uma instruçã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 indicará o que você precisa digitar. lista os tipos de dados que a CLI verifica. A seguir estão os tipos de entrada de configuração da CLI:

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

Tipo de dados

Formato

Exemplos

Nome daedit interfaces] interface física (usado na [ 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 completo ou abreviado da interface (usado em locais diferentes daedit 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, 0x01020304, 128.8.1, 128.8

Sample translations:

1.2.3torna-se torna-se torna-se 1.2.3.40x0102031.2.3.00x010203040.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.3torna-se torna-se0x0102031.2.3.4/32 torna-se0.1.2.3/32default 1.2.3.0/320x010203040.0.0.0/0

Endereço da Organização Internacional de Normalização (ISO)

hex-nibble<hex-nibble ...>

Correct:47.1234.2345.3456.00, 47123423453456.00, 47.12.34.23.45.34.56.00

Sample translations:

47123456torna-se torna-se torna-se 47.1234.564712.345647.1234.5647.12.34.5647.1234.56

Identificador de área (ID) OSPF

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

Correct: 54, 0.0.0.54, 0x01020304, 1.2.3.4

Sample translations:

54 torna-se 0.0.0.54

257torna-se torna-se torna-se 128.8.0.00x0102030.0.1.1128.80.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 Configuration management example: Current configuration shows interface lo0 IP 127.0.0.1 and ae3/0/0 IP 204.69.216.181/28. File loads ae3/0/0 IP 10.0.0.1/8. New configuration updates ae3/0/0 to 10.0.0.1/8, removing lo0. atual
Figura 2: Usando a opção Configuration management scenario: Current configuration shows lo0 with IP 127.0.0.1 and so-3/0/0 with IP 204.69.248.1/28. File contents specify replacing so-3/0/0 IP with 10.0.0.4/8. New configuration results in lo0 unchanged and so-3/0/0 updated to IP 10.0.0.4/8. Arrow labeled load replace indicates the process of applying changes. de substituição
Figura 3: Usando a opção Configuration management process for network interfaces showing current configuration, new file contents, and resulting merged settings. merge
Figura 4: Usando um arquivo Configuration update process for network interfaces. Shows current setup with ge0/0/0 as 192.168.0.1/24 and lo0 as 127.0.0.1/32. Patch adds ge0/0/0 as 10.0.0.4/8. New setup reflects patch changes. de patch
Figura 5: Usando a opção Using the set Option set

Carregar um arquivo de configuração

Você pode criar um arquivo de configuração em seu sistema local, copiar o arquivo para o dispositivo e, em seguida, carregar o arquivo na CLI. Depois de carregar o arquivo de configuração, você pode confirmá-lo para ativar a configuração no dispositivo. Você também pode editar a configuração interativamente usando a CLI e confirmá-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 Bloco de Notas, 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 opções a seguir para executar a ação necessária quando o arquivo for carregado.
    Tabela 2: Opções para o comando load
    Opções Descrição

    merge

    Combina a configuração ativa atual com a configuração no nome do arquivo especificado ou com a configuração digitada na janela do 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 contiverem declarações conflitantes, as declarações na configuração de entrada substituirão as da configuração ativa.

    override

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

    replace

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

    Observação:

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

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

    [editar] user@host#

  7. Carregue o arquivo de configuração: [edit] user@host# load merge terminal
  8. No cursor, cole o conteúdo da área de transferência usando o mouse e o ícone Colar: [edit] user@host# load merge terminal [Digite ^D em uma nova linha para finalizar a entrada] >O cursor está aqui. Cole o conteúdo da área de transferência aqui<
  9. Pressione Enter.
  10. Pressione Ctrl+d para definir o marcador de fim de arquivo.

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

Para confirmar essas alterações na configuração ativa, digite o commit comando no prompt do usuário. Você também pode editar a configuração interativamente usando a CLI e confirmá-la posteriormente.

Carregar dados de configuração JSON com entradas de lista não ordenadas

O esquema do Junos define determinados objetos de configuração como listas. Nos dados de configuração JSON, uma instância de lista é codificada como um par de nome/matriz e os elementos da matriz são objetos JSON. Geralmente, a ordem dos membros em uma entrada de lista codificada em JSON é arbitrária porque os objetos JSON são fundamentalmente coleções não ordenadas de membros. No entanto, o esquema Junos requer que as chaves de lista precedam quaisquer outros irmãos em 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 em name que está a chave de lista que identifica exclusivamente cada usuário.

Nos dados de configuração de exemplo a seguir, a chave de lista (name) é o primeiro elemento para cada usuário. Por padrão, quando você carrega dados de configuração JSON, os dispositivos Junos exigem que as chaves de lista precedam quaisquer outros irmãos em 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 JSON que contêm entradas de lista não ordenadas, ou seja, entradas de lista em que a chave de lista não é necessariamente o primeiro elemento.

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

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

Observação:

Quando você configura a reorder-list-keys declaração, a operação de carregamento pode levar muito mais tempo para analisar a configuração, dependendo do tamanho da configuração e do número de listas. Assim, para configurações grandes ou configurações com muitas listas, recomendamos usar o request system convert-json-configuration comando em vez da reorder-list-keys instruçã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 carregamento porque admin2 a chave name de lista não é o primeiro elemento nessa entrada de lista.

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

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

Depois de configurar a instrução, você pode carregar o arquivo de configuração JSON original com entradas de lista não ordenadas e o dispositivo manipula as entradas da lista quando analisa a configuração.