Kann ich die ausstehenden (Commit at) Änderungen auf einer JunOS-Box sehen?


19

Wenn ein Techniker einige Änderungen in einer JunOS-Box konfiguriert und diese später aktiviert, wird die Konfigurationsdatenbank mit einem Configure-Exclusive-Befehl effektiv gesperrt. Wie kann ich sehen, welche Änderungen er oder sie vorgenommen hat?

Antworten:


29

Ich denke, Sie können show | compareaus dem Konfigurationsmodus verwenden.


1
Manchmal denke ich, dass ich so schlau bin, und dann habe ich mich brutal als falsch erwiesen. Dies ist so viel sauberer als die Antwort, die ich mir ausgedacht habe (die Frage konnte aufgrund der schlechten Reputation nicht beantwortet werden). Ich bin so daran gewöhnt, configure private zu verwenden, dass mir nicht einmal der Gedanke gekommen ist, private am Ende nicht zu setzen. Danke für die Antwort, die weitaus besser ist als meine Lösung.
Hrtednrup

1
Vielleicht kann ich hier ein bisschen Gesicht retten. Wenn Sie beispielsweise mit einem Cluster von SRXs arbeiten, ist der allgemeine Konfigurationsmodus nicht verfügbar. In diesem Fall zeigen | Compare funktioniert nicht.
Hrtednrup

"show | compare" aus dem Konfigurationsmodus ist die einzige Möglichkeit, schrittweise Änderungen für den normalen "gemeinsam genutzten" oder "exklusiven" Modus anzuzeigen. Dies ist mit der Einschränkung verbunden, dass alle Benutzer mit derselben Routing-Engine / CPU / Box arbeiten. In einer SSH-Clusterkonfiguration sollten Sie sich im Idealfall immer bei der Einheit anmelden, die "aktiv" ist. Ich sehe dies im Allgemeinen, indem ich eine Loopback-Schnittstelle einrichte und mich bei einem DNS-Namen anmelde, der auf diesen verweist.
8.

2
zeigen | compare funktioniert auf meinen SRX-Clustern einwandfrei. Ich benutze im Allgemeinen keine FXP-Schnittstelle für die Verwaltung, ich habe eine separate Reth-Schnittstelle für die Verwaltung. Wenn Sie sich über einloggen, stellen Sie sicher, dass Sie immer auf der aktiven Routing-Engine landen.
Cryptochrome

2
Sie können show conf | compareim nicht konfigurierten Modus ausgeführt werden.
Bahamat

8

In Fällen, in denen der allgemeine Konfigurationsmodus nicht verfügbar ist, z. B. wenn die Gehäuse in Clustern angeordnet sind, können Sie die folgende Methode verwenden.

Nach dem Ausführen von commit atprüft JunOS die Konfiguration und erstellt die Datei /config/juniper.conf+.gz. Die ausgeführte Konfigurationsdatenbank ist bis zum Festschreiben gesperrt, sodass andere Benutzer keine zwischenzeitlichen Änderungen vornehmen können. Andere Benutzer können ausstehende Änderungen mit dem clear system commitBefehl löschen . Dies wird die laufende Konfigurationsdatenbank entsperren und andere Commits zulassen. Der ursprüngliche Benutzer ist jedoch möglicherweise ein wenig verärgert darüber, dass seine Änderungen nicht übernommen werden.

Wenn Sie die Unterschiede zwischen der ausstehenden Konfigurationsdatei und der aktuell ausgeführten Konfiguration sehen möchten, gehen Sie wie folgt vor:

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

JunOS gibt den Patch-Text der Änderungen im ausstehenden Commit aus. Nachdem Sie alle Arbeiten ausgeführt haben, die Sie während des ausstehenden Commits ausführen müssen, können Sie diese wieder mit einem load patch terminal(oder einer Pipe zu einer anderen Datei) einfügen. Der ursprüngliche commit atBenutzer ist dann viel zufriedener.

Bearbeiten: Wenn Sie in einen privaten Bearbeitungsmodus gezwungen zu sein scheinen, wie dies in einem Chassis-Cluster der Fall sein könnte:

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

{primary:node1}[edit]

Sie können verwenden

configure shared
show | compare

Das scheint ganz gut zu funktionieren und umgeht das schlimme Problem, in den privaten Konfigurationsmodus gezwungen zu werden. configure sharedist ein versteckter Befehl


3
show configuration | compare rollback <rollback-number>

Die Befehlsausgabe wäre wie folgt:

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;

Im obigen Beispiel +steht es für die hinzugefügte -Konfiguration und für die gelöschte Konfiguration.


Wenn Sie gezwungen sind, einen privaten Konfigurationsmodus zu verwenden, wie dies beim Gehäuseclustering der Fall ist (mindestens ab 11.4R6.5), können Sie Ihre Kandidatenkonfiguration nicht mit der ausgeführten Konfiguration vergleichen. Die Kandidatenkonfiguration ist eine Kopie der laufenden Konfiguration, sodass beim Vergleich der beiden keine Unterschiede auftreten.
hrtednrup

1

begehen | vergleichen Sie

Ich verwende dies immer, um die vorherige gegenüber der neuen Konfiguration zu sehen. Auch die Verwendung von commit confirm 1 oder eines anderen beliebigen Werts kann Sie vor Fehlern und Rollbacks bewahren, wenn der Wert bei Bedarf abläuft. Zum Beispiel ist die 1 nach Bestätigung 1 Minute. Wenn sie nicht bestätigt wird, werden die vorgenommenen Änderungen rückgängig gemacht.

c-tsmith @ COSMO_CORPDC_EX45_00 # commit | ?
Mögliche Abschlüsse: count Anzahl der angezeigten Vorkommen Zeigt zusätzliche Arten von Informationen an, außer Nur Text anzeigen, der nicht mit einer Mustersuche übereinstimmt. Nach erstem Auftreten des Haltens eines Musters suchen. Text halten, ohne die Eingabeaufforderung --More-- last zu verlassen Text, der nicht mehr mit einem Muster übereinstimmt. Ausgabeanforderung nicht paginieren. Anforderungen auf Systemebene auflösen. IP-Adressen auflösen. Speichern. Ausgabetext in Datei zuschneiden. Anzahl der Spalten ab Zeilenanfang zuschneiden

Es gibt ein Beispiel von einem unserer Schalter ohne den Ausgang zum Vergleich.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.