AUF DIESER SEITE
-
Beispiel: Löschen einer Anweisung aus der Gerätekonfiguration
-
Beispiel: Einfügen einer neuen Kennung in eine Gerätekonfiguration
-
Deaktivieren und Reaktivieren von Anweisungen und Bezeichnern in einer Gerätekonfiguration
-
Beispiel: Anweisungen und Bezeichner in einer Gerätekonfiguration deaktivieren und reaktivieren
-
So nehmen Sie globale Änderungen in der Gerätekonfiguration vor
-
Allgemeine reguläre Ausdrücke, die mit dem
replaceBefehl verwendet werden können -
Beispiel: Verwendung von Global Replace in einer Gerätekonfiguration – Referenz \n Zurück
-
Beispiel: Globaler Austausch in einer Gerätekonfiguration – Ersetzen eines Schnittstellennamens
-
Beispiel: Globaler Austausch in einer Gerätekonfiguration – die Option upto
-
Beispiel: Einfügen von Kommentaren in eine Gerätekonfiguration mithilfe der CLI
-
Beispiel: Verwenden des Platzhalterbefehls mit der Option range
Konfiguration eines Geräts ändern
Mit der CLI können Sie eine vorhandene Junos OS-Konfiguration ändern. In diesem Abschnitt werden die Besonderheiten des Hinzufügens einer Anweisung, des Löschens einer Anweisung, des Kopierens einer Aussage und des Einfügens eines neuen Bezeichners einschließlich Beispielen erläutert.
Benutzer anzeigen, die derzeit die Konfiguration bearbeiten
Um die Benutzer anzuzeigen, die die Konfiguration gerade bearbeiten, verwenden Sie den status Befehl configuration mode:
user@host# status
Users currently editing the configuration:
rchen terminal p0 (pid 55691) on since 2018-03-01 13:17:25 PST
[edit interfaces]
Das System zeigt an, wer die Konfiguration bearbeitet (rchen), wo der Benutzer angemeldet ist (terminal p0), das Datum und die Uhrzeit der Anmeldung des Benutzers (2018-03-01 13:17:25 PST) und welche Hierarchieebene der Benutzer bearbeitet ([edit interfaces]).
Wenn Sie den Befehl für den status Konfigurationsmodus ausgeben und ein Benutzer eine Kandidatenkonfiguration so geplant hat, dass sie zu einem späteren Zeitpunkt aktiv wird, zeigt das System an, wer den Commit geplant hat (root), wo der Benutzer angemeldet ist (terminal d0), das Datum und die Uhrzeit der Anmeldung des Benutzers (2018-10-31 14:55:15 PST) und dass ein Commit aussteht (commit at).
[edit]
user@host# status
Users currently editing the configuration:
root terminal d0 (pid 767) on since 2018-10-31 14:55:15 PST, idle 00:03:09
commit at
Wenn Sie den status Befehl "Konfigurationsmodus" eingeben und ein Benutzer die Konfiguration im Modus "Exklusive konfigurieren" bearbeitet, zeigt das System an, wer die Konfiguration bearbeitet (root), wo der Benutzer angemeldet ist (terminal d0), das Datum und die Uhrzeit der Anmeldung des Benutzers (2018-11-01 13:05:11 PST) und dass ein Benutzer die Konfiguration im Modus "Exklusive konfigurieren" bearbeitet (exclusive [edit]).
[edit]
user@host# status
Users currently editing the configuration:
root terminal d0 (pid 2088) on since 2018-11-01 13:05:11 PST
exclusive [edit]
Siehe auch
So ändern Sie die Gerätekonfiguration von Juniper Networks
Um ein Gerät von Juniper Networks zu konfigurieren oder eine vorhandene Konfiguration zu ändern, fügen Sie der Konfiguration mit den edit Befehlen and set Anweisungen hinzu. Für jede Anweisungshierarchie legen Sie die Hierarchie beginnend mit einer Anweisung auf der obersten Ebene an. Anschließend erstellen Sie die Hierarchie mit Anweisungen, die in der Hierarchie progressiv nach unten verschoben werden.
Um die Hierarchie zu ändern, verwenden Sie zwei Konfigurationsmodusbefehle. Wählen Sie den entsprechenden Befehl basierend auf dem, was Sie erreichen möchten:
-
edit– Wechselt zu einer angegebenen Hierarchieebene. Wenn diese Hierarchieebene nicht vorhanden ist, wird sie mit demeditBefehl erstellt. DereditBefehl hat die folgende Syntax:edit <statement-path>
-
set– Erstellt eine Konfigurationsanweisung und legt Bezeichnerwerte fest. Nachdem Sie einensetBefehl ausgegeben haben, bleiben Sie auf derselben Ebene in der Hierarchie. DersetBefehl hat die folgende Syntax:set <statement-path> statement <identifier>
Die Hierarchie zur Konfigurationsanweisung und zur Anweisung selbst ist
statement-path. Wenn Sie bereits auf die Hierarchieebene der Anweisung gewechselt sind, können Sie den Anweisungspfad weglassen. Die Konfigurationsanweisung selbst lautetstatement. DieidentifierZeichenfolge identifiziert eine Instanz einer Anweisung.
Anweisungen können entweder Container-Anweisungen oder Leaf-Anweisungen sein. Eine Container-Anweisung kann zusätzliche Container-Anweisungen sowie Leaf-Anweisungen enthalten. Eine Leaf-Aussage steht jedoch für sich. Der Befehl edit? zeigt die Container-Anweisungen an, während set? sowohl die Container- als auch die Leaf-Anweisungen angezeigt werden, > um zwischen ihnen zu unterscheiden.
Sie können den edit Befehl nicht verwenden, um den Wert von Bezeichnern zu ändern. Sie müssen den set Befehl verwenden.
Siehe auch
Hinzufügen von Konfigurationsanweisungen und Bezeichnern
Sie konfigurieren alle Eigenschaften eines Juniper Networks Geräts, indem Sie Anweisungen in die Konfiguration aufnehmen. Eine Anweisung besteht aus einem Schlüsselwort, bei dem es sich um festen Text handelt. Sie können auch einen Bezeichner in eine Anweisung einfügen. Ein Bezeichner ist ein identifizierender Name, den Sie definieren, z. B. den Namen einer Schnittstelle oder einen Benutzernamen, und der es Ihnen und der CLI ermöglicht, zwischen einer Sammlung von Anweisungen zu unterscheiden.
Die folgende Liste zeigt beispielsweise die Anweisungen, die auf oberster Ebene im Konfigurationsmodus verfügbar sind:
user@host# set ?
Possible completions:
> accounting-options Accounting data configuration
+ apply-groups Groups from which to inherit configuration data
> chassis Chassis configuration
> class-of-service Class-of-service configuration
> firewall Define a firewall configuration
> forwarding-options Configure options to control packet sampling
> groups Configuration groups
> interfaces Interface configuration
> policy-options Routing policy option configuration
> protocols Routing protocol configuration
> routing-instances Routing instance configuration
> routing-options Protocol-independent routing option configuration
> snmp Simple Network Management Protocol
> system System parameters
Eine spitze Klammer ( > ) vor dem Anweisungsnamen zeigt an, dass es sich um eine Containeranweisung handelt und dass Sie andere Anweisungen auf Ebenen darunter definieren können. Wenn vor dem Anweisungsnamen keine spitze Klammer ( > ) steht, ist die Anweisung eine Blattanweisung. Sie können keine anderen Anweisungen auf Hierarchieebenen darunter definieren.
Ein Pluszeichen (+) vor dem Anweisungsnamen gibt an, dass er eine Reihe von Werten enthalten kann. Um einen Satz anzugeben, schließen Sie die Werte in Klammern ein. Zum Beispiel:
[edit]
user@host# set policy-options community my-as1-transit members [65535:10 65535:11]
In einigen Anweisungen können Sie einen Bezeichner einfügen. Für einige Bezeichner, wie z. B. Schnittstellennamen, müssen Sie den Bezeichner in einem genauen Format angeben. Der Schnittstellenname so-0/0/0 bezieht sich beispielsweise auf eine SONET/SDH-Schnittstelle, die sich auf dem Flexible PIC Concentrator (FPC) in Steckplatz 0, am ersten PIC-Standort und am ersten Port der Physical Interface Card (PIC) befindet.
Für andere Bezeichner, wie z. B. beschreibender Text für Schnittstellen und Richtlinien- und Firewall-Begriffe, können Sie einen beliebigen Namen angeben, einschließlich Sonderzeichen, Leerzeichen und Tabulatoren.
Sie müssen Bezeichner in Anführungszeichen (doppelte Anführungszeichen) einschließen. Sie müssen auch Anführungszeichen verwenden, um Bezeichner und Zeichenfolgen einzuschließen, die ein Leerzeichen, einen Tabulator oder eines der folgenden Zeichen enthalten:
( ) [ ] { } ! @ # $ % ^ & | ' = ?
Wenn Sie keine Option für eine Anweisung eingeben, die eine Option erfordert, gibt eine Meldung den Typ der erforderlichen Informationen an. In diesem Beispiel müssen Sie eine Bereichsnummer eingeben, um den Befehl abzuschließen:
[edit]
user@host# set protocols ospf area
^
syntax error, expecting <identifier>
Siehe auch
So löschen Sie eine Anweisung aus einer Gerätekonfiguration
Sie löschen eine Anweisung oder einen Bezeichner aus einer Gerätekonfiguration mit dem delete Befehl configuration mode. Durch das Löschen einer Anweisung oder eines Bezeichners wird die mit dieser Anweisung oder diesem Bezeichner verknüpfte Funktionalität effektiv "dekonfiguriert" und diese Funktionalität in ihren Standardzustand zurückgesetzt.
user@host# delete <statement-path> <identifier>
Wenn Sie eine Anweisung löschen, werden die Anweisung und alle ihre untergeordneten Anweisungen und Bezeichner aus der Konfiguration entfernt.
Bei Anweisungen, die mehr als einen Bezeichner haben können, wird beim Löschen eines Bezeichners nur dieser Bezeichner gelöscht. Die anderen Bezeichner in der Anweisung bleiben erhalten.
Um die gesamte Hierarchie ab der aktuellen Hierarchieebene zu löschen, verwenden Sie den delete Befehl ohne Angabe einer Anweisung oder eines Bezeichners. Wenn Sie die Anweisung oder den Bezeichner weglassen, werden Sie aufgefordert, den Löschvorgang zu bestätigen:
[edit]
user@host# delete
Delete everything under this level? [yes, no] (no)
Possible completions:
no Don't delete everything under this level
yes Delete everything under this level
Delete everything under this level? [yes, no] (no)
Sie können nicht mehrere Anweisungen oder Bezeichner innerhalb einer Hierarchie mit einem einzigen delete Befehl löschen. Sie müssen jede Anweisung oder jeden Bezeichner einzeln mit mehreren delete Befehlen löschen. Betrachten Sie beispielsweise die folgende Konfiguration auf Hierarchieebene [edit system] :
system {
host-name host-211;
domain-name domain-122;
backup-router 192.168.71.254;
arp;
authentication-order [ radius password tacplus ];
}
Um die , host-nameund domain-namebackup-router aus der Konfiguration zu löschen, müssen Sie jede Anweisung einzeln löschen.
user@hostdelete system host-name host-211user@hostdelete system domain-name domain-122user@hostdelete system backup-router 192.168.71.254
Sie können nicht einen einzelnen delete Befehl ausgeben. Der folgende Befehl würde beispielsweise nicht funktionieren:
user@host> delete system hostname host-211 domain-name domain-122 backup-router 192.168.71.254
Sie können verwandte Konfigurationselemente gleichzeitig löschen, z. B. kanalisierte Schnittstellen oder statische Routen, indem Sie einen einzigen Befehl und reguläre Ausdrücke verwenden. Durch das Löschen einer Anweisung oder eines Bezeichners wird die mit dieser Anweisung oder diesem Bezeichner verknüpfte Funktionalität effektiv "dekonfiguriert" und diese Funktionalität in ihren Standardzustand zurückgesetzt.
Sie können nur bestimmte Teile der Konfiguration löschen, in denen Sie normalerweise mehrere Elemente platzieren, z. B. Schnittstellen. Sie können jedoch keine "Gruppen" verschiedener Elemente löschen, wie in diesem Beispiel gezeigt:
user@host#show system servicesftp; rlogin; rsh; ssh { root-login allow; } telnet; [edit] user@host#wildcard delete system services *syntax error.
Wenn Sie eine Anweisung löschen, werden die Anweisung und alle ihre untergeordneten Anweisungen und Bezeichner aus der Konfiguration entfernt.
Um verwandte Konfigurationselemente zu löschen, setzen Sie den wildcard Konfigurationsmodusbefehl mit der delete Option ein, und geben Sie den Anweisungspfad, die Elemente, die mit einem regulären Ausdruck zusammengefasst werden sollen, und den regulären Ausdruck wie folgt an:
user@host# wildcard delete <statement-path> <identifier> <regular-expression>
Wenn Sie den wildcard Befehl zum Löschen verwandter Konfigurationselemente verwenden, muss der reguläre Ausdruck die letzte Anweisung sein.
Wenn das Junos OS mit mehr als acht verwandten Elementen übereinstimmt, zeigt die CLI nur die ersten acht Elemente an.
So löschen Sie Schnittstellen aus der Konfiguration
Sie können mehrere T1-Schnittstellen im Bereich von t1-0/0/0:0 bis t1-0/0/0:23 löschen, indem Sie die folgende Syntax verwenden:
user@host# wildcard delete interfaces t1-0/0/0:.*
matched: t1-0/0/0:0
matched: t1-0/0/0:1
matched: t1-0/0/0:2
Delete 3 objects? [yes,no] (no) no
So löschen Sie Routen aus der Konfiguration
Sie können statische Routen im Bereich von 172.0.0.0 bis 172.255.0.0 löschen, indem Sie die folgende Syntax verwenden:
user@host# wildcard delete routing-options static route 172.*
matched: 172.16.0.0/12
matched: 172.16.14.0/24
matched: 172.16.100.0/24
matched: 172.16.128.0/19
matched: 172.16.160.0/24
matched: 172.17.12.0/23
matched: 172.17.24.0/23
matched: 172.17.28.0/23
...
Delete 13 objects? [yes,no] (no)
Beispiel: Löschen einer Anweisung aus der Gerätekonfiguration
Das folgende Beispiel zeigt, wie Sie die Anweisung löschen und die Konfiguration von ospf OSPF auf dem Router effektiv aufheben:
[edit] user@host#set protocols ospf area 0.0.0.0 interface so-0/0/0 hello-interval 5[edit] user@host#showprotocols { ospf { area 0.0.0.0 { interface so-0/0/0 { hello-interval 5; } } } } [edit] user@host#delete protocols ospf[edit] user@host#show[edit] user@host#
Löschen Sie alle Anweisungen von der aktuellen Ebene abwärts:
[edit] user@host#edit protocols ospf area 0.0.0.0[edit protocols ospf area 0.0.0.0] user@host#set interface so-0/0/0 hello-interval 5[edit protocols ospf area 0.0.0.0] user@host#deleteDelete everything under this level? [yes, no]yes[edit protocols ospf area 0.0.0.0] user@host#show[edit] user@host#
Dekonfigurieren einer bestimmten Eigenschaft. Entfernen Sie in diesem Beispiel die Einstellung für die Schnittstellengeschwindigkeit:
[edit] user@host#set interfaces so-3/0/0 speed 100mb[edit] user@host#showinterfaces { so-3/0/0 { speed 100mb; } } [edit] user@host#delete interfaces so-3/0/0 speed[edit] user@host#showinterfaces { so-3/0/0; }
Kopieren einer Anweisung in der Konfiguration
Wenn Sie viele ähnliche Anweisungen in einer Gerätekonfiguration haben, können Sie eine Anweisung hinzufügen und dann Kopien dieser Anweisung erstellen. Beim Kopieren einer Anweisung werden diese Anweisung und die gesamte Hierarchie der unter dieser Anweisung konfigurierten Anweisungen dupliziert. Das Kopieren von Anweisungen ist nützlich, wenn Sie viele physische oder logische Schnittstellen desselben Typs konfigurieren.
So erstellen Sie eine Kopie einer vorhandenen Anweisung in der Konfiguration:
- Verwenden Sie den Befehl configuration mode
copy:user@host#
copy existing-statement to new-statement - Überprüfen Sie unmittelbar nach dem Kopieren eines Teils der Konfiguration die Gültigkeit der neuen Konfiguration.
- Wenn die Konfiguration ungültig ist, ändern Sie entweder den kopierten Teil oder den ursprünglichen Teil, um eine gültige Konfiguration zu erzeugen.
Beispiel: Kopieren einer Anweisung in der Konfiguration
Dieses Beispiel zeigt, wie Sie eine virtuelle Verbindung (VC) auf einer Schnittstelle erstellen können, indem Sie eine vorhandene VC kopieren.
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Bevor Sie mit diesem Beispiel beginnen, konfigurieren Sie die folgende Erstkonfiguration:
[edit interfaces]
user@host# show
at-1/0/0 {
description "PAIX to MAE West"
encapsulation atm-pvc;
unit 61 {
point-to-point;
vci 0.61;
family inet {
address 10.0.1.1/24;
}
}
}
Um die Erstkonfiguration für dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, und ändern Sie alle Details, die für die Netzwerkkonfiguration erforderlich sind, kopieren Sie diesen Befehl, fügen Sie ihn in die CLI auf Hierarchieebene [edit] ein und geben Sie ihn dann in den Konfigurationsmodus ein commit .
set interfaces at-1/0/0 description "PAIX to MAE West" set interfaces at-1/0/0 encapsulation atm-pvc set interfaces at-1/0/0 unit 61 point-to-point set interfaces at-1/0/0 unit 61 vci 0.61 set interfaces at-1/0/0 unit 61 family inet address 10.0.1.1/24
Überblick
In diesem Beispiel, das das Kopieren von Anweisungen veranschaulicht, fügen Sie eine virtuelle Verbindung hinzu, die einer bereits konfigurierten virtuellen Verbindung sehr ähnlich ist.
Konfiguration
CLI-Schnellkonfiguration
Beginnen Sie auf der [edit interfaces at-1/0/0] Hierarchieebene.
copy unit 61 to unit 62set unit 62 vci 0.62edit unit 62replace pattern 10.0.1.1 with 10.0.2.1
Konfigurieren durch Kopieren
Schritt-für-Schritt-Anleitung
So konfigurieren Sie durch Kopieren einer Konfiguration:
-
Wechseln Sie auf die
[edit interfaces at-1/0/0]Hierarchieebene und kopieren Sie die Einheit 61.[edit interfaces at-1/0/0] user@host#
copy unit 61 to unit 62 -
Sehen Sie sich die neue Konfiguration an und sehen Sie, was Sie ändern müssen, damit die Konfiguration gültig ist.
user@host#
show interfaces at-1/0/0description "PAIX to MAE West" encapsulation atm-pvc; unit 61 { point-to-point; vci 0.61; family inet { address 10.0.1.1/24; } } unit 62 { point-to-point; vci 0.61; family inet { address 10.0.1.1/24; } } -
Ändern Sie die Konfiguration, um sie gültig zu machen.
In diesem Beispiel möchten Sie den Virtual Circuit Identifier (VCI) und den Virtual Path Identifier (VPI) neu konfigurieren.
[edit interfaces at-1/0/0] user@host#
set unit 62 vci 0.62Außerdem möchten Sie die IP-Adresse der neuen Schnittstelle durch eine eigene IP-Adresse ersetzen.
[edit interfaces at-1/0/0] user@host#
edit unit 62user@host#replace pattern 10.0.1.1 with 10.0.2.1
Ergebnisse
[edit]
show interfaces
at-1/0/0 {
description "PAIX to MAE West"
encapsulation atm-pvc;
unit 61 {
point-to-point;
vci 0.61;
family inet {
address 10.0.1.1/24;
}
}
unit 62 {
point-to-point;
vci 0.62;
family inet {
address 10.0.2.1/24;
}
}
}
Beispiel: Ersetzen einer Konfiguration
Wenn Sie Änderungen an der Konfiguration eines Geräts vornehmen müssen, können Sie jederzeit die ursprünglichen Konfigurationseinstellungen mit dem delete Befehl entfernen und Ihre neuen Konfigurationseinstellungen mit dem set Befehl hinzufügen. Es gibt jedoch andere Möglichkeiten, eine Konfiguration zu ändern, die effizienter und einfacher zu verwenden sind.
In diesem Beispiel wird gezeigt, wie Sie die folgenden Konfigurationsmodusbefehle verwenden, um eine vorhandene Konfiguration zu aktualisieren:
-
rename– Benennen Sie eine vorhandene Konfigurationseinstellung um, z. B. einen Schnittstellennamen. Dieser Befehl kann nützlich sein, wenn Sie einem Gerät neue Schnittstellen hinzufügen. -
copy– Kopieren Sie eine Konfigurationseinstellung und die gesamte Hierarchie der Anweisungen, die unter dieser Einstellung konfiguriert sind. Das Kopieren von Konfigurationsanweisungen ist nützlich, wenn Sie viele physische oder logische Schnittstellen desselben Typs konfigurieren. -
replace– Nehmen Sie globale Änderungen an Textmustern in der Konfiguration vor. Wenn Sie z. B. ein Wort, das der description-Anweisung für alle Schnittstellen auf Ihrem Gerät gemeinsam ist, ständig falsch schreiben, können Sie diesen Fehler mit einem einzigen Befehl beheben.
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Überblick
Im ersten Beispiel in diesem Thema nehmen Sie die folgenden Konfigurationsänderungen vor:
-
Erstellen Sie eine neue Schnittstelle mit einer Beschreibung, die einen Tippfehler enthält.
-
Kopieren Sie die Konfiguration von der Schnittstelle, die Sie erstellt haben, um eine neue Schnittstelle zu erstellen.
-
Benennen Sie eine der von Ihnen erstellten Schnittstellen um.
-
Beheben Sie den Tippfehler in der Beschreibung für die Schnittstellen, die Sie erstellt haben.
Im zweiten, kürzeren Beispiel probieren Sie einige der gleichen Befehle unter etwas anderen Umständen aus.
Konfiguration
- Verwenden der Befehle Kopieren, Umbenennen und Ersetzen zum Ändern einer Loopbackschnittstellenkonfiguration
- Vergleichen Sie den Kopierbefehl auf der Ebene der Konfigurationshierarchie der obersten Ebene
Verwenden der Befehle Kopieren, Umbenennen und Ersetzen zum Ändern einer Loopbackschnittstellenkonfiguration
Schritt-für-Schritt-Anleitung
Wenn Ihre vorhandene Konfiguration eine der in diesem Beispiel verwendeten Nummern der Loopback-Schnittstelleneinheiten verwendet, müssen Sie andere nicht verwendete Nummern der Loopback-Schnittstelleneinheiten ersetzen. Andernfalls kann das Ausführen dieser Schritte den vorhandenen Betriebsstatus Ihres Geräts beschädigen.
So erstellen und ändern Sie eine Konfiguration einer Loopback-Schnittstelle mit den copyBefehlen , renameund replace :
-
Erstellen Sie eine neue Loopback-Schnittstelleneinheitsnummer und fügen Sie eine Beschreibung hinzu.
Die Fehler in der Schreibweise von Loopback in der Beschreibung sind beabsichtigt.
[edit] user@host#
set interfaces lo0 unit 100 description "this is a lopbck interface" -
Zeigen Sie die Konfiguration für die soeben hinzugefügte Loopback-Schnittstelle an.
[edit] user@host#
show interfaces lo0 unit 100description "this is a lopbck interface"; -
Duplizieren Sie die soeben erstellte Loopback-Schnittstelle, einschließlich Fehler, von Einheit 100 bis Einheit 101.
[edit] user@host#
copy interfaces lo0 unit 100 to unit 101 -
Zeigen Sie die Konfigurationen für die Loopback-Schnittstellen lo0 unit 100 und lo0 unit 101 an.
[edit] user@host#
show interfaces lo0 unit 100description "this is a lopbck interface";[edit] user@host#show interfaces lo0 unit 101description "this is a lopbck interface";Der
copyBefehl dupliziert eine Schnittstelle einschließlich aller untergeordneten Anweisungen, z. Bdescription. . . -
Benennen Sie die Loopback-Schnittstelle lo0 unit 100 in Loopback interface lo0 unit 102 um.
[edit] user@host#
rename interfaces lo0 unit 100 to unit 102 -
Zeigen Sie die Konfiguration für die Loopback-Schnittstelle lo0 unit 100 an.
[edit] user@host#
show interfaces lo0 unit 100[edit] user@host#Dieser Befehl sollte keine Ergebnisse sehen. Die Loopback-Schnittstelle lo0 unit 100 ist jetzt weg. Der
renameBefehl ersetzt die Konfigurationsanweisung, die mit der neuen Konfiguration angegeben ist. -
Korrektur des Rechtschreibfehlers des Wortes Loopback in den Beschreibungen für die Loopback-Schnittstellen lo0 unit 101 und lo0 unit 102.
[edit] user@host#
replace pattern lopbck with loopback -
Zeigen Sie die Konfiguration für die Loopback-Schnittstellen lo0 unit 101 und lo0 102 an, um zu überprüfen, ob das Wort Loopback jetzt richtig geschrieben ist.
[edit] user@host#
show interfaces lo0 unit 101description "this is a loopback interface";[edit] user@host#show interfaces lo0 unit 102description "this is a loopback interface";Der
replaceBefehl ersetzt alle Instanzen des im Befehl angegebenen Musters, sofern nicht in irgendeiner Weise eingeschränkt. Das nächste Beispiel in diesem Thema zeigt eine Möglichkeit, die Auswirkungen desreplaceBefehls einzuschränken. -
Verwenden Sie im Konfigurationsmodus den
rollbackBefehl, um die Gerätekonfiguration in den Zustand zurückzusetzen, in dem sie sich vor dem Ausführen der vorherigen Schritte befand.[edit] user@host#
rollback
Ergebnisse
Verwenden Sie im Konfigurationsmodus die show interfaces lo0 unit 101 Befehle und show interfaces lo0 unit 102 , um sicherzustellen, dass sich die Gerätekonfiguration in dem Zustand befindet, in dem sie sich vor dem Ausführen der Schritte in diesem Beispiel befand.
[edit]
user@host: show interfaces lo0 unit 101
[edit]
user@host#
Dieser Befehl sollte keine Ergebnisse sehen.
[edit] user@host# show interfaces lo0 unit 102 [edit] user@host#
Dieser Befehl sollte keine Ergebnisse sehen.
Vergleichen Sie den Kopierbefehl auf der Ebene der Konfigurationshierarchie der obersten Ebene
Schritt-für-Schritt-Anleitung
Das vorherige Beispiel zeigt die copyBefehle , renameund replace auf Hierarchieebene [edit interfaces interface-name unit logical-interface-number] . Dieses Beispiel zeigt, wie einige dieser Befehle auf der obersten Ebene der CLI-Konfigurationsmodushierarchie funktionieren.
Im folgenden Beispiel müssen Sie zu verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus .
-
Erstellen Sie eine Ethernet-Schnittstelle.
[edit] user@host#
set interfaces et-2/0/0 unit 0 family inet address 192.0.2.2 -
Kopieren Sie die soeben erstellte Schnittstelle in eine andere Schnittstelle.
[edit] user@host#
copy interfaces et-2/0/0 to et-2/1/0Vergleichen Sie diesen
copyBefehl mit dem im vorherigen Beispiel, wo dercopyBefehl das Schlüsselwortunitvor dem zu kopierenden Wert verwendet:[edit] user@host#
copy interfaces lo0 unit 100 to unit 101Beachten Sie, dass das Schlüsselwort
interfacesnicht nach der Präpositiontound vor dem zu kopierenden Wert wiederholt wird. Dies geschieht in einigen Anweisungen der obersten Ebene mit demcopyBefehl.Tipp:renameEbenso wiederholen Sie im Befehl den Schlüsselwortteil der Anweisung nicht vor dem neuen Bezeichner in einigen Anweisungen der obersten Ebene. -
Zeigen Sie Ihre bisherige Konfiguration.
[edit] user@host#
show interfaceset-2/0/0 { unit 0 { family inet { address 192.0.2.2/32; } } } et-2/1/0 { unit 0 { family inet { address 192.0.2.2/32; } } } -
Ersetzen Sie die Adresse für et-2/1/0 durch eine andere IP-Adresse.
[edit interfaces et-2/1/0 unit 0 family inet] user@host#
replace pattern 192.0.2.2 with 192.0.2.40Beachten Sie, dass Sie, wenn Sie nur ein bestimmtes Vorkommen eines Musters anstelle aller Vorkommen ändern möchten, zu dieser bestimmten Hierarchieebene navigieren müssen, bevor Sie den
replaceBefehl verwenden. -
Zeigen Sie die Schnittstellen wieder an.
[edit] user@host#
show interfaceset-2/0/0 { unit 0 { family inet { address 192.0.2.2/32; } } } et-2/1/0 { unit 0 { family inet { address 192.0.2.40/32; } } } -
Verwenden Sie im Konfigurationsmodus den
rollbackBefehl, um die Gerätekonfiguration in den Zustand zurückzuversetzen, in dem sie sich vor dem Ausführen der vorherigen Schritte befand.[edit] user@host#
rollback
Ergebnisse
Verwenden Sie im Konfigurationsmodus die show interfaces et-2/0/0 Befehle und show interfaces et-2/1/0 , um sicherzustellen, dass sich die Gerätekonfiguration in dem Zustand befindet, in dem sie sich vor dem Ausführen der Schritte in diesem Beispiel befand.
[edit]
user@hostshow interfaces et-2/0/0
[edit]
user@host#
Dieser Befehl sollte keine Ergebnisse sehen.
[edit]
user@R1# show interfaces et-2/1/0
[edit]
user@host#
Dieser Befehl sollte keine Ergebnisse sehen.
Einfügen einer neuen Kennung in eine Gerätekonfiguration
Bei der Konfiguration eines Geräts von Juniper Networks können Sie die meisten Anweisungen und Bezeichner in beliebiger Reihenfolge eingeben. Unabhängig von der Reihenfolge, in der Sie die Konfigurationsanweisungen eingeben, zeigt die CLI die Konfiguration immer in einer strengen Reihenfolge an. In einigen Fällen ist jedoch die Reihenfolge der Anweisungen wichtig, da die Konfigurationsanweisungen eine Sequenz erstellen, die der Reihe nach analysiert wird.
Beispielsweise definieren Sie in einer Routing-Richtlinie oder einem Firewall-Filter Begriffe, die sequenziell analysiert werden. Wenn Sie einen benannten Pfad in dynamischem MPLS erstellen, definieren Sie außerdem eine geordnete Liste der Transitrouter im Pfad, beginnend mit dem ersten Transit-Router und endend mit dem letzten.
Um einen Teil der Konfiguration zu ändern, in dem die Anweisungsreihenfolge wichtig ist, verwenden Sie den insert Befehl configuration mode:
user@host#insert <statement-path> identifier1 (before | after) identifier2
Wenn Sie den insert Befehl nicht verwenden, sondern stattdessen den Bezeichner konfigurieren, wird der Bezeichner am Ende der Liste ähnlicher Bezeichner platziert.
Beispiel: Einfügen einer neuen Kennung in eine Gerätekonfiguration
Dieses Beispiel zeigt die Verwendung des insert Befehls.
Während ein mit dem set Befehl hinzugefügter Begriff am Ende der vorhandenen Liste von Begriffen platziert wird, verwenden Sie den insert Befehl, um einen Begriff in der von Ihnen angegebenen Reihenfolge hinzuzufügen. Das Festlegen der Reihenfolge der Anweisungen ist in den Fällen wichtig, in denen die Reihenfolge wichtig ist, da die Konfigurationsanweisungen eine Sequenz erstellen, die der Reihe nach analysiert wird.
Wie dieses Beispiel zeigt, müssen Sie den Begriff erstellen (oder er muss bereits vorhanden sein), bevor Sie ihn mit dem insert Befehl verwenden können. Der Bezugspunkt für die Platzierung des Begriffs muss ebenfalls vorhanden sein; Um beispielsweise den Begriff T1 vor dem Begriff T2 zu platzieren, müssen sowohl T1 als auch T2 bereits vorhanden und gefüllt sein. Junos OS entfernt leere Begriffe automatisch.
Anforderungen
Bevor Sie einen Begriff einfügen können, müssen Sie eine anfängliche Richtlinie konfigurieren. Um die anfängliche Richtlinie für dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, und ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, kopieren Sie die Befehle, fügen Sie sie in die CLI auf Hierarchieebene [edit policy-options] ein und geben Sie sie dann aus dem Konfigurationsmodus ein commit .
set policy-statement statics term term1 from route-filter 192.168.0.0/16 orlonger set policy-statement statics term term1 from route-filter 224.0.0.0/3 orlonger set policy-statement statics term term1 then reject set policy-statement statics term term2 from protocol direct set policy-statement statics term term2 then reject set policy-statement statics term term3 from protocol static set policy-statement statics term term3 then reject set policy-statement statics term term4 then accept
Überprüfen Sie nun, ob Sie die Hierarchie richtig konfiguriert haben:
[edit policy-options]
user@host# show
policy-statement statics {
term term1 {
from {
route-filter 192.168.0.0/16 orlonger;
route-filter 224.0.0.0/3 orlonger;
}
then reject;
}
term term2 {
from protocol direct;
then reject;
}
term term3 {
from protocol static;
then reject;
}
term term4 {
then accept;
}
}
Überblick
Um einen Teil der Konfiguration zu ändern, in dem die Anweisungsreihenfolge wichtig ist, müssen Sie den insert Befehl configuration mode verwenden. Wenn Sie stattdessen den set Befehl verwenden, befindet sich die hinzugefügte Anweisung oder der Bezeichner sequenziell an der falschen Stelle. Die einzige andere Möglichkeit, die Bedingungen des Befehls in die richtige Reihenfolge zu bringen, besteht darin, die Konfiguration zu demontieren und von vorne zu beginnen.
Konfiguration
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche und ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene [edit policy-options] ein und geben Sie dann in den Konfigurationsmodus ein commit.
[edit] user@host#rename policy-options policy-statement statics term term4 to term term6[edit] user@host#set policy-options policy-statement statics term term4 from protocol local[edit] user@host#set policy-options policy-statement statics term term4 then reject[edit] user@host#set policy-options policy-statement statics term term5 from protocol aggregate[edit] user@host#set policy-options policy-statement statics term term5 then reject[edit] user@host#insert policy-options policy-statement statics term term4 after term term3[edit] user@host#insert policy-options policy-statement statics term term5 after term term4
Konfigurieren zum Einfügen von Begriffen
Schritt-für-Schritt-Anleitung
-
Bestimmen Sie die Reihenfolge, in der die Konfigurationsbedingungen eingefügt werden müssen. Berücksichtigen Sie sowohl die ursprünglichen als auch die neuen Bedingungen, die Sie hinzufügen möchten.
In der ursprünglichen Konfiguration heißt
staticsdie Richtlinie und es gibt vier Begriffe. Jeder der ersten drei Begriffe entspricht einem anderen Übereinstimmungskriterium, und die resultierenden Übereinstimmungen werden abgelehnt. Der letzte Begriff akzeptiert den gesamten Rest des Datenverkehrs.In diesem Beispiel müssen Sie zwei Begriffe hinzufügen, die zusätzliche Datenverkehrstypen eliminieren. Beide Begriffe müssen in der ursprünglichen Konfiguration vor dem letzten Begriff stehen.
-
Benennen Sie den ursprünglichen Begriff4 in Begriff6 um.
[edit] user@host#
rename policy-options policy-statement statics term term4 to term term6In diesem Schritt wird der ursprüngliche letzte Begriff, der jetzt in term6 umbenannt wurde, als letzter Begriff beibehalten.
-
Erstellen Sie einen neuen Begriff4.
[edit] user@host#
set policy-options policy-statement statics term term4 from protocol localuser@host#set policy-options policy-statement statics term term4 then rejectEs wird ein neuer Begriff hinzugefügt, der den Datenverkehr von lokalen Systemadressen abgleicht und ihn ablehnt.
-
Neuen Begriff erstellen5.
[edit] user@host#
set policy-options policy-statement statics term term5 from protocol aggregateuser@host#set policy-options policy-statement statics term term5 then rejectEs wird ein neuer Begriff hinzugefügt, der den Datenverkehr von aggregierten Routen abgleicht und ihn ablehnt.
-
Term4 nach Term3 einfügen.
[edit] user@host#
insert policy-options policy-statement statics term term4 after term term3 -
Term5 nach Term4 einfügen.
[edit] user@host#
insert policy-options policy-statement statics term term5 after term term4
Ergebnisse
[edit]
user@host# show policy-options policy-statement statics
term term1 {
from {
route-filter 192.168.0.0/16 orlonger;
route-filter 224.0.0.0/3 orlonger;
}
then reject;
}
term term2 {
from protocol direct;
then reject;
}
term term3 {
from protocol static;
then accept;
}
term term4 {
from protocol local;
then reject;
}
term term5 {
from protocol aggregate;
then reject;
}
term term6 {
then accept;
}
Deaktivieren und Reaktivieren von Anweisungen und Bezeichnern in einer Gerätekonfiguration
In einer Junos OS-Konfiguration können Sie Anweisungen und Bezeichner deaktivieren, sodass sie nicht wirksam werden, wenn Sie den commit Befehl ausgeben. Alle deaktivierten Anweisungen und Bezeichner werden mit dem inactive Tag gekennzeichnet. Sie verbleiben in der Konfiguration, werden aber nicht aktiviert, wenn Sie einen commit Befehl ausgeben.
Um eine Anweisung oder einen Bezeichner zu deaktivieren, verwenden Sie den deactivate Befehl configuration mode:
user@host# deactivate( statement | identifier )
Um eine Anweisung oder einen Bezeichner zu reaktivieren, verwenden Sie den activate Befehl configuration mode:
user@host# activate ( statement | identifier )
In beiden Befehlen müssen sich die statement und die identifier von Ihnen angegebenen auf der aktuellen Hierarchieebene befinden. Wenn Sie eine Anweisung deaktivieren, wird diese bestimmte Anweisung ignoriert und überhaupt nicht angewendet, wenn Sie einen commit Befehl ausgeben.
Um eine Anweisung zu deaktivieren, verwenden Sie den disable Befehl configuration mode.
In einigen Teilen der Konfigurationshierarchie können Sie eine disable Anweisung zum Deaktivieren von Funktionen einfügen. Ein Beispiel ist das Deaktivieren einer Schnittstelle, indem die disable Anweisung auf der [edit interface interface-name] Hierarchieebene eingeschlossen wird. Wenn Sie eine Funktion deaktivieren, wird sie bei der Ausgabe eines commit Befehls wieder aktiviert, aber so behandelt, als ob sie ausgefallen oder administrativ deaktiviert wäre.
Beispiel: Anweisungen und Bezeichner in einer Gerätekonfiguration deaktivieren und reaktivieren
Dieses Beispiel zeigt einen häufigen Anwendungsfall, in dem Sie die Befehle und activate Konfigurationsmodus deactivate verwenden. Es handelt sich um duale Routing-Engines, primäre und Backup-Engines, für die Graceful Routing-Engine Switchover (GRES) konfiguriert ist. Die Software auf beiden Routing-Engines muss aktualisiert werden. Dies kann leicht erreicht werden, indem GRES deaktiviert, die Routing-Engines aktualisiert und dann GRES erneut aktiviert wird.
Sie können auch ein ähnliches Upgrade mit demselben Setup durchführen, mit der Ausnahme, dass anstelle von GRES Nonstop Active Routing (NSR) konfiguriert ist. Sie müssten NSR deaktivieren und dann die Routing-Engines aktualisieren, bevor Sie NSR wieder aktivieren können.
Anforderungen
In diesem Beispiel muss ein Gerät mit dualen Routing-Engines verwendet werden, das aufgerüstet werden kann.
Bevor Sie mit diesem Beispiel beginnen, stellen Sie sicher, dass Sie GRES konfiguriert haben.
Überblick
In diesem Beispiel gibt es zwei Routing-Engines. GRES ist konfiguriert, und die Routing-Engines müssen aktualisiert werden. Um das Upgrade durchzuführen, müssen Sie das GRES-Feature deaktivieren, jedes der Routing-Engines aktualisieren und dann GRES erneut aktivieren.
Konfiguration
Konfiguration der Deaktivierung und Reaktivierung von GRES
Schritt-für-Schritt-Anleitung
So deaktivieren Sie GRES für das Upgrade der Routing-Engine und reaktivieren erneut:
-
Zeigen Sie, dass GRES für den Router aktiviert ist.
[edit] user@host#
show chassisredundancy { graceful-switchover; } fpc 2 { pic 0 { tunnel-services { bandwidth 1g; } } } -
Deaktivieren Sie GRES.
[edit] user@host#
deactivate chassis redundancy graceful-switchoveruser@host#commit -
Zeigen Sie, dass GRES deaktiviert ist.
[edit] user@host#
show chassisredundancy { inactive: graceful-switchover; } fpc 2 { pic 0 { tunnel-services { bandwidth 1g; } } } -
Aktualisieren Sie die Routing-Engines nacheinander.
Anweisungen zum Upgrade von Junos OS auf dualen Routing-Engines finden Sie unter Installieren des Softwarepakets auf einem Gerät mit redundanten Routing-Engines.
-
Aktivieren Sie GRES erneut.
[edit] user@host#
activate chassis redundancy graceful-switchoveruser@host#commit
Ergebnisse
Stellen Sie sicher, dass die GRES-Funktion erneut aktiviert ist.
[edit]
user@host# show chassis
redundancy {
graceful-switchover;
}
fpc 2 {
pic 0 {
tunnel-services {
bandwidth 1g;
}
}
}
So nehmen Sie globale Änderungen in der Gerätekonfiguration vor
Sie können globale Änderungen an Variablen und Bezeichnern in der Gerätekonfiguration vornehmen, indem Sie den replace Befehl configuration mode verwenden. Dieser Befehl ersetzt ein Muster in einer Konfiguration durch ein anderes Muster. Mit diesem Befehl können Sie beispielsweise alle Vorkommen eines Schnittstellennamens suchen und ersetzen, wenn eine PIC an einen anderen Steckplatz im Router verschoben wird.
user@host# replace pattern pattern1 with pattern2 <upto n>
Die pattern pattern1 Option ist eine Textzeichenfolge oder ein regulärer Ausdruck, der die Bezeichner und Werte definiert, die Sie in der Konfiguration ersetzen möchten.
Die pattern2 Option ist eine Textzeichenfolge oder ein regulärer Ausdruck, der die Bezeichner und Werte in pattern1ersetzt.
Die CLI verwendet die Standardsyntax für reguläre Ausdrücke im UNIX-Stil (wie in POSIX 1003.2 definiert). Wenn der reguläre Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie den Ausdruck in Anführungszeichen ein. Gierige Qualifikatoren (so viel Übereinstimmung wie möglich) werden unterstützt. Lazy Qualifiers (so wenig wie möglich übereinkommen) werden nicht unterstützt.
Die upto n Option gibt die Anzahl der ersetzten Objekte an. Der Wert von n steuert die Gesamtzahl der Objekte, die in der Konfiguration ersetzt werden (nicht die Gesamtzahl der Male das Auftreten des Musters). Objekte auf derselben Hierarchieebene (Geschwister) werden zuerst ersetzt. Mehrere Vorkommen eines Musters innerhalb eines bestimmten Objekts werden als eine einzige Ersetzung betrachtet. Wenn eine Konfiguration beispielsweise eine 010101 Textzeichenfolge enthält, wird 010101 der Befehl replace pattern 01 with pattern 02 upto 2 durch 020202 (anstelle von 020201ersetzt). Das Ersetzen von durch 020202 010101 wird als ein einziger Ersatz (n = 1), nicht als drei separate Ersetzungen (n =3) betrachtet.
Wenn Sie keine upto Option angeben, werden alle übereinstimmenden pattern1 Bezeichner und Werte in der Konfiguration ersetzt.
Der replace Befehl steht im Konfigurationsmodus auf jeder Hierarchieebene zur Verfügung. Bei allen Übereinstimmungen wird zwischen Groß- und Kleinschreibung unterschieden.
Allgemeine reguläre Ausdrücke, die mit dem replace Befehl verwendet werden können
| Betreiber |
Funktion |
|---|---|
|
|
Gibt an, dass eine Übereinstimmung einer der beiden Begriffe auf beiden Seiten der Pipe sein kann. |
|
|
Wird am Anfang eines Ausdrucks verwendet und gibt an, wo eine Übereinstimmung beginnen soll. |
|
|
Wird am Ende eines Ausdrucks verwendet, bedeutet, dass ein Begriff genau bis zum Punkt des Zeichens |
|
|
Gibt einen Bereich von Buchstaben oder Ziffern an, mit denen abgeglichen werden soll. Um den Anfang und das Ende eines Bereichs zu trennen, verwenden Sie einen Bindestrich ( - ). |
|
|
Gibt eine Gruppe von Begriffen an, die übereinstimmen sollen. Gespeichert als nummerierte Variablen. Verwenden Sie für Rückverweise als |
|
|
Bezeichnet 0 oder mehr Begriffe. |
|
|
Bezeichnet einen oder mehrere Begriffe. |
|
|
Bezeichnet jedes Zeichen außer einem Leerzeichen (" "). |
|
|
Ein umgekehrter Schrägstrich maskiert Sonderzeichen, um ihre besondere Bedeutung zu unterdrücken. Zum Beispiel\. Übereinstimmungen |
|
|
Rückverweis, der der nth-Gruppe entspricht. |
|
|
Rückreferenz, die mit dem gesamten Spiel übereinstimmt. |
In der folgenden Tabelle sind einige Beispiele für Ersetzungen aufgeführt.
| Befehl |
Ergebnis |
|---|---|
|
|
Übereinstimmung: Ergebnis: |
|
|
Übereinstimmung: Ergebnis: |
|
|
Übereinstimmung: Ergebnis: |
|
|
Übereinstimmung: Ergebnis: |
Beispiel: Verwendung von Global Replace in einer Gerätekonfiguration – Referenz \n Zurück
Dieses Beispiel zeigt, wie Sie einen Rückverweis verwenden können, um ein Muster zu ersetzen.
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration erforderlich, die über die Geräteinitiierung hinausgeht.
Bevor Sie beginnen, konfigurieren Sie Folgendes:
[edit]
user@host# show interfaces
xe-0/0/0 {
unit 0;
}
fe-3/0/1 {
vlan-tagging;
unit 0 {
description "inet6 configuration. IP: 2000::c0a8::1bf5";
vlan-id 100;
family inet {
address 17.10.1.1/24;
}
family inet6 {
address 2000::c0a8:1bf5/3;
}
}
}
Um diese Erstkonfiguration schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, damit sie mit Ihrer Netzwerkkonfiguration übereinstimmen, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene [edit] ein:
set interfaces xe-0/0/0 unit 0set interfaces fe-3/0/1 vlan-taggingset interfaces fe-3/0/1 unit 0 description "inet6 configuration IP: 2000::c0a8::1bf5"set interfaces fe-3/0/1 unit 0 vlan-id 100set interfaces fe-3/0/1 unit 0 family inet address 17.10.1.1/24set interfaces fe-3/0/1 unit 0 family inet6 address 2000::c0a8:1bf5/3
Überblick
Eine der nützlichsten Funktionen regulärer Ausdrücke ist der Rückverweis. Rückverweise bieten eine bequeme Möglichkeit, ein wiederholtes Zeichen oder eine Teilzeichenfolge innerhalb einer Zeichenfolge zu identifizieren. Sobald Sie das Muster gefunden haben, können Sie es wiederholen, ohne es erneut zu schreiben. Sie beziehen sich auf das zuvor erfasste Muster mit just \# (wobei # eine Ziffer steht, die angibt, wie oft das Muster abgeglichen werden soll).
Sie können Rückverweise verwenden, um Daten abzurufen oder zu suchen und durch etwas anderes zu ersetzen. Auf diese Weise können Sie große Datensätze mit einem einzigen Ersetzungsbefehl neu formatieren und sparen so die Zeit, die Sie für die manuelle Suche und Ersetzung des Musters benötigen würden.
Konfiguration
Konfigurieren eines Ersatzes mithilfe eines Rückverweises im Befehl
Schritt-für-Schritt-Anleitung
So ersetzen Sie ein Muster in einer Junos OS-Konfiguration mithilfe eines Rückverweises:
-
Verwenden Sie den
replaceBefehl.[edit] user@host#
replace pattern pattern1 with pattern2In diesem Fall wollen wir ersetzen
:1bf5durch1bf5.[edit] user@host#
replace pattern "(.*):1bf5" with "\11bf5"Beachten Sie den Rückverweis (\1), der angibt, dass das Muster nur einmal gesucht und ersetzt werden sollte.
Ergebnisse
Hier ist die resultierende Konfiguration:
[edit]
user@host# show interfaces
xe-0/0/0 {
unit 0;
}
fe-3/0/1 {
vlan-tagging;
unit 0 {
description "inet6 configuration. IP: 2000::c0a8:1bf5";
vlan-id 100;
family inet {
address 17.10.1.1/24;
}
family inet6 {
address 2000::c0a8:1bf5/3;
}
}
}
In diesem Beispiel wird das Muster 2000::c0a8::1bf5 durch 2000::c0a8:1bf5 once ersetzt.
Beispiel: Globaler Austausch in einer Gerätekonfiguration – Ersetzen eines Schnittstellennamens
In diesem Beispiel wird gezeigt, wie ein Schnittstellenname in einer Konfiguration mithilfe des replace Befehls global ersetzt wird.
Die Verwendung des replace Befehls kann eine schnellere und bessere Möglichkeit sein, eine Konfiguration zu ändern. Beispielsweise kann ein PIC in einen anderen Steckplatz in einem Router verschoben werden, wodurch sich der Schnittstellenname ändert. Mit einem Befehl können Sie die gesamte Konfiguration aktualisieren. Oder Sie möchten die Konfiguration schnell mit anderen ähnlichen Konfigurationen, z. B. ähnlichen Schnittstellen, erweitern.
Durch die Verwendung einer Kombination aus copy den Befehlen und replace können Sie einer Konfiguration bestimmte Aspekte der neu kopierten Konfigurationen hinzufügen und dann ersetzen. Der replace Befehl arbeitet mit regulären Ausdrücken. Reguläre Ausdrücke sind schnell, flexibel und allgegenwärtig. Sie können nahezu jedes Muster erstellen, nach dem Sie suchen müssen, und die meisten Programmiersprachen unterstützen reguläre Ausdrücke.
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Bevor Sie beginnen, konfigurieren Sie die folgende Hierarchie auf dem Router. Informationen zum schnellen Konfigurieren dieser Hierarchie finden Sie unter CLI-Schnellkonfiguration .
user@host#show interfacesso-0/0/0 { dce; } user@host#show protocolsospf { area 0.0.0.0 { interface so-0/0/0.0 { hello-interval 5; } } }
Überblick
In diesem Beispiel wird gezeigt, wie ein Schnittstellenname in einer Konfiguration mithilfe des replace Befehls global ersetzt wird. Es ist ein einfaches Beispiel.
Die vorherige Konfiguration ist der Ausgangspunkt für dieses Konfigurationsupdate. Im Verlauf dieses Beispiels ändern Sie den Namen der initialen Schnittstelle während der gesamten Konfiguration mit einem Befehl.
Konfiguration
CLI-Schnellkonfiguration
Um die Erstkonfiguration für dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, und ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, kopieren Sie diese Befehle, fügen Sie sie in die CLI auf Hierarchieebene [edit] ein, und geben Sie sie dann im Konfigurationsmodus ein commit :
set interfaces so-0/0/0 dce set protocols ospf area 0.0.0.0 interface so-0/0/0.0 hello-interval 5
Schnittstellennamensänderung konfigurieren
Schritt-für-Schritt-Anleitung
So ändern Sie einen Schnittstellennamen:
-
Stellen Sie sicher, dass Sie sich an der Spitze der Konfigurationsmodushierarchie befinden.
user@host#
top -
Ersetzen Sie
so-0/0/0durchso-1/1/0die Verwendung desreplaceBefehls, der daspatternSchlüsselwort verwendet.user@host#
replace pattern so-0/0/0 with so-1/1/0
Ergebnisse
Nachdem Sie die erforderlichen Änderungen vorgenommen haben, überprüfen Sie die Konfiguration mit den show interfaces Befehlen und show protocols Konfigurationsmodus.
[edit] user@host#show interfacesso-1/1/0 { dce; } user@host#show protocolsospf { area 0.0.0.0 { interface so-1/1/0.0 { hello-interval 5; } } }
Nachdem Sie die Richtigkeit der Konfiguration überprüft haben, geben Sie den commit Befehl ein.
Beispiel: Globaler Austausch in einer Gerätekonfiguration – die Option upto
Betrachten Sie die in Abbildung 1 dargestellte Hierarchie. Die Textzeichenfolge 010101 wird an drei Stellen angezeigt: in den Beschreibungsabschnitten von ge-0/0/0, ge-0/0/0.0und . fe-0/0/1 Diese drei Instanzen sind drei Objekte. Das folgende Beispiel zeigt, wie Sie die upto Option zum Durchführen von Ersetzungen in einer Gerätekonfiguration verwenden können:
Eine upto 2 Option im replace Befehl wird 01 in 02 für zwei Objektinstanzen konvertiert. Die Objekte unter den Hauptschnittstellen ge-0/0/0 und fe-0/0/1 werden zuerst ersetzt (da es sich um Geschwister in der Hierarchieebene handelt). Aufgrund der upto 2 Einschränkung ersetzt der replace Befehl Muster in der ersten und zweiten Instanz in der Hierarchie (Geschwister), aber nicht in der dritten Instanz (untergeordnetes Element der ersten Instanz).
user@host#show interfacesge-0/0/0 { description "mkt 010101"; #First instance in the hierarchy unit 0 { description "mkt 010101"; #Third instance in the hierarchy (child of the first instance) } } fe-0/0/1 { description "mkt 010101"; #second instance in the hierarchy (sibling of the first instance) unit 0 { family inet { address 200.200.20.2/24; } } } [edit] user@host#replace pattern 01 with 02 upto 2[edit] user@host#commitcommit complete
[edit]
user@host# show interfaces
ge-0/0/0 {
description "mkt 020202"; #First instance in the hierarchy
unit 0 {
description "mkt 010101"; #Third instance in the hierarchy (child of the first
instance)
}
}
fe-0/0/1 {
description "mkt 020202"; #second instance in the hierarchy (sibling of the first
instance)
unit 0 {
family inet {
address 200.200.20.2/24;
}
}
}
Hinzufügen von Kommentaren in einer Gerätekonfiguration
Sie können Kommentare in eine Gerätekonfiguration einfügen, um jede Anweisung in der Konfiguration zu beschreiben. Sie können Kommentare interaktiv in der CLI und durch Bearbeiten der ASCII-Konfigurationsdatei hinzufügen.
Bei der Konfiguration von Schnittstellen können Sie Kommentare zur Schnittstelle hinzufügen, indem Sie die description Anweisung auf Hierarchieebene [edit interfaces interface-name] einbinden. Alle Kommentare, die Sie einfügen, werden in der Ausgabe der show interfaces Befehle angezeigt.
Kommentare in der CLI hinzufügen
Wenn Sie Kommentare im Konfigurationsmodus hinzufügen, werden sie einer Anweisung auf der aktuellen Ebene zugeordnet. Jeder Anweisung kann ein einzeiliger Kommentar zugeordnet sein. Bevor Sie einen Kommentar einer Anweisung zuordnen können, muss die Anweisung vorhanden sein. Der Kommentar wird in der Zeile vor der Anweisung platziert.
Um Kommentare zu einer Konfiguration hinzuzufügen, verwenden Sie den annotate Befehl configuration mode:
user@host# annotate statement "comment-string"
statement ist die Konfigurationsanweisung, an die Sie den Kommentar anhängen; Sie muss sich auf der aktuellen Hierarchieebene befinden. Wenn bereits ein Kommentar für den angegebenen statement Text vorhanden ist, wird dieser gelöscht und durch den neuen Kommentar ersetzt.
comment-string ist der Text des Kommentars. Der Kommentartext kann beliebig lang sein und Sie müssen ihn in einer einzigen Zeile eingeben. Wenn der Kommentar Leerzeichen enthält, müssen Sie ihn in Anführungszeichen setzen. In der Kommentarzeichenfolge können Sie die Kommentartrennzeichen /* */ oder #einfügen. Wenn Sie keine angeben, wird die Kommentarzeichenfolge in die /* */ Kommentartrennzeichen eingeschlossen.
Um einen vorhandenen Kommentar zu löschen, geben Sie eine leere Kommentarzeichenfolge an:
user@host# annotate statement ""
Wenn Sie Kommentare mit dem annotate Befehl hinzufügen, können Sie die Kommentare in der Konfiguration anzeigen, indem Sie den Befehl show configuration mode oder den show configuration Befehl operational mode eingeben.
Junos OS unterstützt Anmerkungen bis zur letzten Ebene in der Konfigurationshierarchie, einschließlich Einzeiler. Die Annotation von Teilen (den untergeordneten Anweisungen oder Bezeichnern innerhalb des Oneliners) des Oneliners wird jedoch nicht unterstützt. In der folgenden Beispielkonfigurationshierarchie wird die Anmerkung beispielsweise bis zur level 1 übergeordneten Hierarchie unterstützt, nicht jedoch für die metric untergeordnete Anweisung:
[edit protocols]
isis {
interface ge-0/0/0.0 {
level 1 metric 10;
}
}
}
Hinzufügen von Kommentaren in einer Datei
Wenn Sie die ASCII-Konfigurationsdatei bearbeiten und Kommentare hinzufügen, können diese eine oder mehrere Zeilen sein und müssen der Anweisung vorangestellt werden, der sie zugeordnet sind. Wenn Sie die Kommentare an anderen Stellen in der Datei platzieren, z. B. in derselben Zeile nach einer Anweisung oder in einer separaten Zeile nach einer Anweisung, werden sie entfernt, wenn Sie den load Befehl verwenden, um die Konfiguration in der CLI zu öffnen.
Der folgende Auszug aus einem Konfigurationsbeispiel veranschaulicht, wie Kommentare in einer Konfigurationsdatei platziert werden und wie nicht:
/* This comment goes with routing-options */
routing-options {
/* This comment goes with routing-options traceoptions */
traceoptions {
/* This comment goes with routing-options traceoptions tracefile */
tracefile rpd size 1m files 10;
/* This comment goes with routing-options traceoptions traceflag task */
traceflag task;
/* This comment goes with routing-options traceoptions traceflag general */
traceflag general;
}
autonomous-system 10458; /* This comment is dropped */
}
routing-options {
rib-groups {
ifrg {
import-rib [ inet.0 inet.2 ];
/* A comment here is dropped */
}
dvmrp-rib {
import-rib inet.2;
export-rib inet.2;
/* A comment here is dropped */
}
/* A comment here is dropped */
}
/* A comment here is dropped */
}
Wenn Sie Kommentare direkt in die Konfigurationsdatei einfügen, können Sie Kommentare auf folgende Weise formatieren:
-
Beginnen Sie den Kommentar mit a
/*und beenden Sie ihn mit einem*/. Der Kommentartext kann sich in einer einzelnen Zeile befinden oder sich über mehrere Zeilen erstrecken. -
Beginnen Sie den Kommentar mit a
#und beenden Sie ihn mit einer neuen Zeile (Wagenrücklauf).
Beispiel: Einfügen von Kommentaren in eine Gerätekonfiguration mithilfe der CLI
Durch das Hinzufügen von Kommentaren zu einer Gerätekonfiguration wird die Konfigurationsdatei lesbar und für Benutzer leichter verständlich. Sie können Kommentare während der Konfiguration mithilfe der annotate Anweisung einfügen. In diesem Beispiel werden Kommentare mithilfe der CLI für eine bereits vorhandene Konfiguration hinzugefügt:
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Bevor Sie einen Kommentar hinzufügen, müssen Sie die folgende Hierarchie auf dem Router konfigurieren.
Um die Erstkonfiguration für dieses Beispiel schnell zu konfigurieren, kopieren Sie den folgenden Befehl, fügen Sie ihn in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, und ändern Sie alle erforderlichen Details, damit sie mit Ihrer Netzwerkkonfiguration übereinstimmen, kopieren Sie diesen Befehl, fügen Sie ihn in die CLI auf Hierarchieebene [edit] ein und geben Sie ihn dann im Konfigurationsmodus ein commit .
set protocols ospf area 0.0.0.0 interface so-0/0/0.0 hello-interval 5
Überprüfen Sie nun, ob Sie diese Hierarchie konfiguriert haben.
user@host# show protocols
ospf {
area 0.0.0.0 {
interface so-0/0/0 {
hello-interval 5;
}
}
}
Überblick
Wenn Sie Kommentare mithilfe der CLI hinzufügen, tun Sie dies im Konfigurationsmodus mit der annotate Anweisung. Jeder Kommentar, den Sie hinzufügen, ist einer Anweisung auf der aktuellen Ebene zugeordnet. Jeder Anweisung kann ein einzeiliger Kommentar zugeordnet sein.
Um die annotate Anweisung zu konfigurieren, wechseln Sie zu der Ebene der Anweisung, der Sie einen Kommentar zuordnen möchten. Um die Kommentare anzuzeigen, wechseln Sie zum Anfang der Konfigurationshierarchie, und verwenden Sie den show Befehl.
Konfiguration
CLI-Schnellkonfiguration
Um die Kommentare für dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, und ändern Sie alle erforderlichen Details, damit sie mit Ihrer Netzwerkkonfiguration übereinstimmen, kopieren Sie die Befehle, fügen Sie sie in die CLI ein, beginnend auf der [edit] Hierarchieebene, und geben Sie sie dann im Konfigurationsmodus ein commit .
edit protocols ospfannotate area 0.0.0.0 "Backbone area configuration added June 15, 2018"edit area 0.0.0.0annotate interface so-0/0/0.0 "Interface from router sj1 to router sj2"
Beachten Sie, dass Sie durch die Befehle in der Hierarchie nach unten verschoben werden, wenn Sie verschiedene Abschnitte der Hierarchie mit Anmerkungen versehen.
Kommentare in den CLI-Konfigurationsmodus einfügen
Schritt-für-Schritt-Anleitung
Bei diesem Verfahren wird davon ausgegangen, dass Sie die Erstkonfiguration bereits konfiguriert haben.
So fügen Sie Kommentare zu einer Konfiguration hinzu:
-
Wechseln Sie zur ersten Hierarchieebene, zu der Sie einen Kommentar hinzufügen müssen.
[edit] user@host#
edit protocols ospf -
Fügen Sie der
areaKonfigurationsanweisung mithilfe derannotateAnweisung einen Kommentar hinzu.[edit protocols ospf] user@host#
annotate area 0.0.0.0 "Backbone area configuration added June 15, 1998" -
Wechseln Sie eine Ebene nach unten zur
interfaceKonfigurationsanweisung.[edit protocols ospf] user@host#
edit area 0.0.0.0 -
Fügen Sie der Schnittstelle
so-0/0/0.0mithilfe derannotateAnweisung einen Kommentar hinzu.[edit protocols ospf area 0.0.0.0] user@host#
annotate interface so-0/0/0.0 "Interface from router sj1 to router sj2"
Ergebnisse
Wechseln Sie an die Spitze der Hierarchie, und verwenden Sie den show Befehl, um die von Ihnen hinzugefügten Kommentare anzuzeigen. Die Kommentare gehen der Aussage voraus, mit der sie verbunden sind.
[edit]
user@host# show protocols
ospf {
/* Backbone area configuration added June 15, 2018 */
area 0.0.0.0 {
/* Interface from router sj1 to router sj2 */
interface so-0/0/0.0 {
hello-interval 5;
}
}
}
Nachdem Sie die Richtigkeit der Konfiguration überprüft haben, geben Sie den commit Befehl ein.
Beispiel: Verwenden des Platzhalterbefehls mit der Option range
Wenn Sie Änderungen an der Konfiguration eines Geräts vornehmen müssen, können Sie jederzeit die ursprünglichen Konfigurationseinstellungen mit dem delete Befehl entfernen und Ihre neuen Konfigurationseinstellungen mit dem set Befehl hinzufügen. Es gibt jedoch andere Möglichkeiten, eine Konfiguration zu ändern, die effizienter und einfacher zu verwenden sind.
In diesem Beispiel wird gezeigt, wie der Platzhalterbefehl zusammen mit Bereichen in den Konfigurationsbefehlen activate, deactivate, delete, protect, set, show und unprotect verwendet wird.
Der Platzhalterbefehl kann keine Konfigurationshierarchie erstellen. Sie verwenden es, um vorhandene Anweisungen zu ändern. Erwarten Sie CLI-Fehler des Formulars warning: statement not found , wenn Sie versuchen, Parameter wie Deaktivieren für eine leere Hierarchie festzulegen.
Anforderungen
Junos OS Version 12.1 oder höher auf dem Gerät.
Überblick
Mit der Option range mit dem Platzhalterbefehl können Sie Bereiche in den Befehlen activate, deactivate, delete, protect, set, show und unprotect angeben. Sie können Bereiche verwenden, um einen Bereich von Schnittstellen, logischen Einheiten, VLANs und anderen nummerierten Elementen anzugeben. Die Platzhalterbereichsoption erweitert den eingegebenen Befehl in mehrere Befehle, von denen jeder einem Element im Bereich entspricht.
Mit der Platzhalterbereichsoption können Sie mehrere Konfigurationsanweisungen mit einem einzigen set-Befehl konfigurieren, anstatt jede von ihnen einzeln zu konfigurieren. Wenn Sie beispielsweise 24 Gigabit-Ethernet-Schnittstellen mit unterschiedlichen Portnummern konfigurieren möchten, können Sie anstelle von 24 einzelnen set interfaces-Befehlen einen einzigen Platzhalterbereichs-set-Befehl verwenden.
Um eine Gruppe von 30 logischen Schnittstellen zu deaktivieren, können Sie den Befehl zum Deaktivieren des Platzhalterbereichs verwenden, anstatt jede logische Schnittstelle einzeln zu deaktivieren.
Konfiguration
- Verwenden Sie den Platzhalterbefehl mit range-Anweisungen für eine Vielzahl von Konfigurationsaufgaben.
- Verwenden der Option range zum Konfigurieren einer Reihe benannter Bezeichner für eine Konfigurationsanweisung
- Angeben mehrerer Bereiche in der Syntax
- Angeben eines Bereichs und eindeutiger Zahlen in der Syntax
- Ausschließen einiger Werte aus einem Bereich
- Einen Bereich mit einer Schrittnummer angeben
- Platzhalter zum Löschen von Richtlinien verwenden p1-p10
Verwenden Sie den Platzhalterbefehl mit range-Anweisungen für eine Vielzahl von Konfigurationsaufgaben.
Schritt-für-Schritt-Anleitung
- Sie können den Platzhalterbereich mit den Konfigurationsbefehlen active, deactivate, delete, protect, set, show und unprotect verwenden.
[edit] user@host#
wildcard range ? Possible completions: activate Remove the inactive tag from a statement annotate Annotate the statement with a comment deactivate Add the inactive tag to a statement delete Delete a data element protect Protect the statement set Set a parameter show Show a parameter unprotect Unprotect the statement -
Die
wildcardAnweisung kann mit einer vollständigen Konfigurationshierarchie qualifiziert werden. Wenn der Platzhalterbefehl in einer Konfigurationshierarchie geparkt wird, ist er relativ zu den Optionen, die in dieser Hierarchie unterstützt werden.[edit] user@host#
wildcard range set interfaces ? Possible completions: <interface-name> Interface name + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > interface-range Interface ranges configuration > interface-set Logical interface set configuration lo0 Interface name > stacked-interface-set Stacked interface set configuration > traceoptions Interface trace options xe-0/0/0:0 Interface name xe-0/0/0:1 Interface nameuser@host# edit interfaces [edit interfaces]wildcard range set ? Possible completions: <interface-name> Interface name + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > interface-range Interface ranges configuration > interface-set Logical interface set configuration lo0 Interface name > stacked-interface-set Stacked interface set configuration > traceoptions Interface trace options xe-0/0/0:0 Interface name xe-0/0/0:1 Interface nameIm ersten Fall wird der vollständige Pfad zur Schnittstellenhierarchie mit der Platzhalteranweisung angegeben. Im zweiten Fall wird der Benutzer in der Schnittstellenhierarchie geparkt. Die unterstützten Optionen sind bei beiden Methoden gleich.
Verwenden der Option range zum Konfigurieren einer Reihe benannter Bezeichner für eine Konfigurationsanweisung
Schritt-für-Schritt-Anleitung
Um eine Reihe desselben Schnittstellentyps mit unterschiedlichen Portnummern (0 bis 23) zu konfigurieren, geben Sie den Bereich für die Portnummern im folgenden Format an.
-
[edit] user@host# wildcard range set interfaces ge-0/0/[0-23] unit 0 family vpls
-
Zeigen Sie das Ergebnis an. Der Platzhalterbereich für den Bereich wurde auf 24 verschiedene Set-Befehle erweitert, um Schnittstellen mit Portnummern von 0 bis 23 zu konfigurieren. In diesem Fall werden die Schnittstellen erstellt, um die
vplsProtokollfamilie hinzuzufügen. Wenn die Schnittstellen bereits definiert sind, wird nur die Familie hinzugefügt.root@R1# show | compare [edit interfaces] + ge-0/0/0 { + unit 0 { + family vpls; + } + } + ge-0/0/1 { + unit 0 { + family vpls; + } + } + ge-0/0/2 { + unit 0 { + family vpls; + } + } . . . + ge-0/0/23 { + unit 0 { + family vpls; + }
Angeben mehrerer Bereiche in der Syntax
Schritt-für-Schritt-Anleitung
Sie können mehrere Bereiche in einem Platzhalterbereichsbefehl angeben. Jeder Bereich muss durch ein Komma getrennt werden. Sie können auch überlappende Bereiche haben.
Für die verbleibenden Beispiele erstellen Sie eine temporäre Kopie Ihrer Konfiguration mit zehn Richtlinienanweisungen. Mit diesen Anweisungen werden CLI-Fehler vermieden, die gemeldet werden, wenn Sie versuchen, Attribute in einem NULL-Teil der Hierarchie zu bearbeiten.
[edit] user@device# set policy-options policy-statement p1 then reject set policy-options policy-statement p10 then reject set policy-options policy-statement p2 then reject set policy-options policy-statement p3 then reject set policy-options policy-statement p4 then reject set policy-options policy-statement p5 then reject set policy-options policy-statement p6 then reject set policy-options policy-statement p7 then reject set policy-options policy-statement p8 then reject set policy-options policy-statement p9 then reject [edit] user@device# save temp Wrote 254 lines of configuration to 'temp'
- Wenn Sie mehr als einen Bereich in der Syntax angeben möchten, schließen Sie die Minimal- und Maximalwerte für jeden Bereich durch ein Komma getrennt ein.
[edit] user@host# wildcard range deactivate policy-options policy-statement p[1-3,5-7,6-9]
-
Zeigen Sie das Ergebnis an. Der Platzhalterbereich wird erweitert, um die
deactivateAnweisung Richtlinien hinzuzufügen, deren Namen mit den angegebenen Bereichen übereinstimmen. Bemerkenswert ist das Fehlen p4 und p10 in der Liste der Änderungen an der Kandidatenkonfiguration.Hinweis:Ein Fehler wird zurückgegeben, wenn der angegebene Richtlinienname nicht bereits in der Konfiguration vorhanden ist. Dies liegt daran, dass Sie die deactivate-Anweisung nicht zu einem leeren Teil der Konfigurationshierarchie hinzufügen können.
[edit] show | compare [edit policy-options] ! inactive: policy-statement p1 { ... } ! inactive: policy-statement p2 { ... } ! inactive: policy-statement p3 { ... } ! inactive: policy-statement p5 { ... } ! inactive: policy-statement p6 { ... } ! inactive: policy-statement p7 { ... } ! inactive: policy-statement p8 { ... } ! inactive: policy-statement p9 { ... }
Angeben eines Bereichs und eindeutiger Zahlen in der Syntax
Schritt-für-Schritt-Anleitung
Sie können eine Kombination aus einem Bereich und eindeutigen Zahlen in der Syntax des Platzhalterbereichsbefehls angeben.
-
Laden Sie die temporäre Konfiguration neu.
[edit] user@host# load override temp load complete
- Um einen Bereich und eine eindeutige Zahl anzugeben, trennen Sie sie durch ein Komma. In diesem Beispiel wird 10 als eindeutige Zahl zu einer Reihe von Bereichen hinzugefügt.
[edit] user@host# wildcard range deactivate policy-options policy-statement p[1-3,5,7,10]
-
Zeigen Sie das Ergebnis an. Der Platzhalterbereich wird erweitert, um die
deactivateAnweisung Richtlinien hinzuzufügen, deren Namen mit den angegebenen Bereichen übereinstimmen, und auch der eindeutigen Nummer. Dadurch ist die p10 Richtlinie auch in diesem Beispiel deaktiviert.Hinweis:Ein Fehler wird zurückgegeben, wenn der angegebene Richtlinienname nicht bereits in der Konfiguration vorhanden ist. Dies liegt daran, dass Sie die deactivate-Anweisung nicht zu einer leeren Konfigurationshierarchie hinzufügen können.
[edit] user@host# show | compare [edit policy-options] ! inactive: policy-statement p1 { ... } ! inactive: policy-statement p10 { ... } ! inactive: policy-statement p2 { ... } ! inactive: policy-statement p3 { ... } ! inactive: policy-statement p5 { ... } ! inactive: policy-statement p7 { ... }
Ausschließen einiger Werte aus einem Bereich
Schritt-für-Schritt-Anleitung
Sie können bestimmte Werte aus einem Bereich ausschließen, indem Sie die Zahlen oder den auszuschließenden Zahlenbereich mit einem Ausrufezeichen markieren.
-
Laden Sie die temporäre Konfiguration neu.
[edit] user@host# load override temp load complete
- Um bestimmte Werte aus einem Bereich auszuschließen, schließen Sie den auszuschließenden Teil mit ! in der Syntax.
[edit] user@host# wildcard range deactivate policy-options policy-statement p[1-5,!3-4]
-
Zeigen Sie das Ergebnis an. Der Platzhalterbereich wird erweitert, um die
deactivateAnweisung Richtlinien hinzuzufügen, deren Namen mit den angegebenen Bereichen übereinstimmen. Beachten Sie, dass Richtlinien p3 und p4 in der Liste der an der Kandidatenkonfiguration vorgenommenen Änderungen fehlen. Sie wurden aus dem Wildcard-Bereich ausgeschlossen.Hinweis:Ein Fehler wird zurückgegeben, wenn der angegebene Richtlinienname nicht bereits in der Konfiguration vorhanden ist. Dies liegt daran, dass Sie die deactivate-Anweisung nicht zu einer leeren Konfigurationshierarchie hinzufügen können.
[edit] user@host# show | compare [edit policy-options] ! inactive: policy-statement p1 { ... } ! inactive: policy-statement p2 { ... } ! inactive: policy-statement p5 { ... }
Einen Bereich mit einer Schrittnummer angeben
Schritt-für-Schritt-Anleitung
Sie können eine Schrittnummer angeben, um ein konstantes Intervall im Bereich zu erhalten. Der Schrittwert zählt die erste Übereinstimmung und überspringt dann nachfolgende Übereinstimmungen bis zum angegebenen Schrittwert.
-
Laden Sie die temporäre Konfiguration neu.
[edit] user@host# load override temp load complete
- Um einen Schritt bereitzustellen, schließen Sie den Schrittwert in die Syntax ein, der ein Schrägstrich (/) vorangestellt ist. Hier geben wir einen Bereich von 1-10 an und überspringen 1 Zahl zwischen jeder Übereinstimmung mit einem Schrittwert von 2. Der Effekt besteht darin, alle geraden Übereinstimmungen zu überspringen, da wir mit einer ungeraden Zahl (1) beginnen.
[edit] user@host# wildcard range deactivate policy-options policy-statement p[1-10/2]
-
Zeigen Sie das Ergebnis an. Der Platzhalterbereich wird erweitert, um die Anweisung jeder anderen übereinstimmenden
deactivateAnweisung hinzuzufügen, beginnend mit der ersten Übereinstimmung.Hinweis:Ein Fehler wird zurückgegeben, wenn der angegebene Richtlinienname nicht bereits in der Konfiguration vorhanden ist. Dies liegt daran, dass Sie die deactivate-Anweisung nicht zu einer leeren Konfigurationshierarchie hinzufügen können.
[edit] user@host# show | compare [edit policy-options] ! inactive: policy-statement p1 { ... } ! inactive: policy-statement p3 { ... } ! inactive: policy-statement p5 { ... } ! inactive: policy-statement p7 { ... } ! inactive: policy-statement p9 { ... }Um die Schrittfunktion besser zu veranschaulichen, wird die temporäre Konfiguration restore und der Platzhalterbefehl wiederholt, diesmal mit einem Schrittwert von 4. Jetzt werden nach jedem ersten Match 3 Einträge übersprungen.
[edit] user@host# load override temp load complete user@host## wildcard range deactivate policy-options policy-statement p[1-10/4] \
-
Zeigen Sie das Ergebnis an. Der Platzhalterbereich wird erweitert, um die
deactivateAnweisung jeder vierten übereinstimmenden Anweisung hinzuzufügen, beginnend mit der ersten Übereinstimmung.[edit] user@host# show | compare [edit policy-options] ! inactive: policy-statement p1 { ... } ! inactive: policy-statement p5 { ... } ! inactive: policy-statement p9 { ... }
Platzhalter zum Löschen von Richtlinien verwenden p1-p10
Schritt-für-Schritt-Anleitung
Löschen Sie die temporären Richtlinien, die zum Testen der Platzhalterfunktion hinzugefügt wurden.
- Verwenden Sie die
deleteAnweisung mit einer Platzhalterbereichsanweisung, um Richtlinien p1 über p10zu löschen.[edit] user@host# wildcard range delete policy-options policy-statement p[1-10]
-
Zeigen Sie das Ergebnis an. Unsere
policy-optionsStrophe enthielt nur Richtlinien p1 durch p10. Dies führt zu einer leerenpolicy-optionsKonfigurationshierarchie.[edit] user@host# show policy-options