Posso vedere le modifiche in sospeso (commit at) su una casella JunOS?


19

Se un ingegnere configura alcune modifiche in una casella JunOS e le imposta in modo che diventino attive in seguito, ciò blocca efficacemente il database di configurazione con un'esclusiva di configurazione. Come posso vedere i cambiamenti che ha commesso?

Risposte:


29

Penso che puoi usare show | comparedalla modalità di configurazione.


1
A volte penso di essere così intelligente, e poi ho brutalmente smentito. Questo è molto più pulito della risposta che mi è venuta (non ho potuto rispondere alla domanda a causa del basso punteggio di reputazione). Sono così abituato a usare configura privato, non mi è nemmeno venuto in mente di non mettere un soldo privato alla fine. Grazie per la risposta che è di gran lunga migliore della mia soluzione.
hrtednrup

1
Potrei essere in grado di salvare un po 'di faccia qui. Quando si ha a che fare con un cluster di SRX, ad esempio, la modalità di configurazione comune non è disponibile. In questo caso, mostra | il confronto non funziona.
hrtednrup

"mostra | confronta" dalla modalità di configurazione è l'unico modo per vedere le modifiche organizzate per le normali modalità "condivise" o "esclusive". Questo viene fornito con l'avvertenza che tutti gli utenti stanno operando sullo stesso motore di routing / CPU / box. In una configurazione SSH in cluster, idealmente dovresti sempre accedere a qualsiasi unità "attiva". In genere lo vedo fatto impostando un'interfaccia di loopback e accedendo a un nome DNS che punta lì.
jof

2
mostra | compare funziona perfettamente sui miei cluster SRX. In genere non utilizzo l'interfaccia fxp per la gestione, ma ho un'interfaccia reth separata per la gestione. accedendo attraverso quello assicurarsi di finire sempre sul motore di routing attivo.
crittografia

2
È possibile eseguire show conf | comparementre non si è in modalità configurazione.
bahamat,

8

Nei casi in cui la modalità di configurazione comune non è disponibile, ad esempio quando lo chassis è in cluster, è possibile utilizzare il seguente metodo.

Dopo aver eseguito a commit at, JunOS controlla la configurazione e crea il file /config/juniper.conf+.gz. Il database di configurazione in esecuzione è bloccato fino al momento del commit, quindi altri utenti non saranno in grado di eseguire il commit delle modifiche temporanee. Altri utenti possono eliminare le modifiche in sospeso con il clear system commitcomando. Questo sbloccherà il database di configurazione in esecuzione e consentirà altri commit; tuttavia, l'utente originale potrebbe essere un po 'turbato dal fatto che le sue modifiche non vengano applicate.

Se vuoi vedere quali sono le differenze tra il file di configurazione in sospeso e l'attuale configurazione in esecuzione, procedi come segue:

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

JunOS produrrà il testo in stile patch delle modifiche nel commit in sospeso. Dopo aver eseguito tutto il lavoro che devi completare durante il commit in sospeso, puoi incollarlo nuovamente con un load patch terminal(o pipe in un altro file) e l' commit atutente originale sarà molto più felice.

Modifica: se ti sembra di essere forzato in una modalità di modifica privata, come potrebbe essere il caso in un cluster di chassis:

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

{primary:node1}[edit]

Puoi usare

configure shared
show | compare

Questo sembra funzionare bene e evita quel brutto problema di essere costretto in modalità di configurazione privata. configure sharedè un comandante nascosto


3
show configuration | compare rollback <rollback-number>

L'output del comando sarebbe il seguente:

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;

Nell'esempio sopra +rappresenta la configurazione che è stata aggiunta e -rappresenta la configurazione che è stata eliminata.


Se si è costretti a configurare una modalità privata, come nel caso del clustering dello chassis (almeno a partire da 11.4R6.5), non è possibile confrontare la configurazione del candidato con la configurazione in esecuzione. La configurazione del candidato è una copia della configurazione in esecuzione, quindi il confronto tra i due non mostra alcuna differenza.
hrtednrup,

1

commettere | confrontare

Lo uso sempre per vedere il precedente rispetto alla nuova configurazione, inoltre l'utilizzo di commit confirm 1 o altro valore arbitrario può salvarti da errori e rollback quando il valore scade se necessario. Ad esempio, 1 dopo la conferma è 1 minuto ... dopo che, se non confermato, eseguirà il rollback delle modifiche apportate.

c-tsmith @ COSMO_CORPDC_EX45_00 # commit | ?
Possibili completamenti: conteggio Visualizza occorrenze conteggio Mostra ulteriori tipi di informazioni tranne Mostra solo il testo che non corrisponde a un modello trova Cerca Cerca la prima occorrenza di blocco modello Mantieni il testo senza uscire dal comando - Altro - ultimo messaggio Visualizza solo la fine dell'output corrisponde solo a Mostra testo che non corrisponde più a un modello Non impaginare la richiesta di output Risolvi le richieste a livello di sistema Risolvi gli indirizzi IP salva Salva il testo di output nel file trim Taglia il numero specificato di colonne dall'inizio della riga

C'è un esempio da uno dei nostri switch senza uscita per il confronto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.