Posso ver as alterações pendentes (confirmar em) em uma caixa do JunOS?

19

Se um engenheiro configurar algumas alterações em uma caixa do JunOS e configurá-las para entrar em operação mais tarde, isso bloqueia efetivamente o banco de dados de configuração com um exclusivo de configuração. Como posso ver as mudanças que ele ou ela cometeu?

hrtednrup
fonte

Respostas:

29

Eu acho que você pode usar show | compareno modo de configuração.

Pavel Glushkov
fonte
1
Às vezes, acho que sou tão inteligente, e então brutalmente provado que estou errado. Isso é muito mais limpo do que a resposta que eu vim com (não foi possível responder à pergunta devido à baixa pontuação de reputação). Estou tão acostumado a usar o configure private, que nem me ocorreu não colocar o privado no final. Obrigado pela resposta que é muito melhor do que minha solução.
Hrtednrup #
1
Talvez eu consiga economizar um pouco de expressão aqui. Ao lidar com um cluster de SRXs, por exemplo, o modo de configuração comum não está disponível. Nesse caso, mostre | comparar não funciona.
Hrtednrup
"show | compare" no modo de configuração é a única maneira de ver alterações em etapas nos modos "compartilhado" ou "exclusivo" normal. Isso vem com a ressalva de que todos os usuários estão operando no mesmo mecanismo de roteamento / CPU / caixa. Em uma configuração SSH em cluster, idealmente, você deve sempre fazer login em qualquer unidade que esteja "ativa". Eu geralmente vejo isso feito configurando uma interface de loopback e fazendo login em um nome DNS que aponta para lá.
jof
2
show | compare funciona muito bem nos meus clusters SRX. Geralmente, não estou usando a interface FXP para gerenciamento, mas tenho uma interface reth separada para gerenciamento. ao fazer o login, verifique se você sempre termina no mecanismo de roteamento ativo.
Cryptochrome
2
Você pode executar show conf | compareenquanto não estiver no modo de configuração.
bahamat 7/09/14
8

Nos casos em que o modo de configuração comum não está disponível, como quando o chassi está em cluster, você pode usar o seguinte método.

Após executar a commit at, o JunOS verifica a configuração e cria o arquivo /config/juniper.conf+.gz. O banco de dados de configuração em execução fica bloqueado até a confirmação no momento; portanto, outros usuários não poderão confirmar alterações temporárias. Outros usuários podem excluir alterações pendentes com o clear system commitcomando Isso desbloqueará o banco de dados de configuração em execução e permitirá outras confirmações; no entanto, o usuário original pode ficar um pouco chateado com as alterações que ele não faz.

Se você deseja ver quais são as diferenças entre o arquivo de configuração pendente e a configuração atual em execução, faça o seguinte:

configure private
load replace /config/juniper.conf+.gz
show | compare

O JunOS produzirá o texto no estilo do patch das alterações no commit pendente. Depois de executar qualquer trabalho que você precise concluir durante a confirmação pendente, você poderá colá-lo novamente com um load patch terminal(ou canal para outro arquivo), e o commit atusuário original ficará muito mais feliz.

Editar: se você parece ser forçado a entrar no modo de edição particular, como pode ser o caso em um cluster de chassi:

user@SRX3600> configure 
warning: Clustering enabled; using private edit
warning: uncommitted changes will be discarded on exit
Entering configuration mode

{primary:node1}[edit]

você pode usar

configure shared
show | compare

Isso parece funcionar muito bem e contorna esse problema desagradável de ser forçado a entrar no modo de configuração privado. configure sharedé um comando oculto

hrtednrup
fonte
3
show configuration | compare rollback <rollback-number>

A saída do comando seria a seguinte:

admin@NICFW1# run show configuration | compare rollback 2    
[edit applications application MORTIMERHARVEY]
     term WWW_TCP_2131 { ... }
+    term WWW_TCP_65000 protocol tcp destination-port 65000-65050;

{primary:node0}[edit]
admin@NICFW1# run show configuration | compare rollback 3    
[edit security policies from-zone Internet to-zone Corporate policy InternetPortals match]
-      application [ junos-http junos-https ];
+      application [ junos-http junos-https MORTIMERHARVEY ];
[edit applications application MORTIMERHARVEY]
     term WWW_TCP_2131 { ... }
+    term WWW_TCP_65000 protocol tcp destination-port 65000-65050;

No exemplo acima, por exemplo, +representa a configuração que foi adicionada e -representa a configuração que foi excluída.

FAISAL
fonte
Se você for forçado a entrar no modo privado de configuração, como é o caso do clustering de chassi (pelo menos a partir de 11.4R6.5), não poderá comparar sua configuração candidata com a configuração em execução. A configuração candidata é uma cópia da configuração em execução, portanto, comparar as duas não mostrará diferenças.
hrtednrup
1

confirmar | comparar

Eu sempre uso isso para ver a configuração anterior e a nova configuração, também usando o commit confirm 1 ou outro valor arbitrário para evitar erros e reversões quando o valor expirar, se necessário. Por exemplo, o 1 após a confirmação é de 1 minuto .. depois que, se não confirmado, reverterá as alterações feitas.

c-tsmith @ COSMO_CORPDC_EX45_00 # commit | ?
Conclusões possíveis: contagem Exibição de ocorrências de contagem Mostrar tipos adicionais de informações, exceto Mostrar apenas texto que não corresponde a uma localização de padrão Procurar a primeira ocorrência de retenção de padrão Mantenha o texto sem sair do prompt --More-- último Exibir somente correspondência de final de saída Mostrar apenas Mostrar texto que não corresponde mais a um padrão Não pagine a solicitação de saída Faça com que as solicitações no nível do sistema resolvam Resolva os endereços IP salvos Salve o texto de saída nos arquivos aparados Aparar o número especificado de colunas do início da linha

Há um exemplo de um de nossos switches sem a saída para comparação.

Ty Smith
fonte