Auf dieser Seite
Anzeigen von Benutzern, die derzeit die Konfiguration bearbeiten
So fügen Sie Konfigurationsanweisungen und -bezeichner hinzu
Beispiel: Löschen einer Anweisung aus der Gerätekonfiguration
Einfügen eines neuen Bezeichners in eine Gerätekonfiguration
Beispiel: Einfügen eines neuen Bezeichners in eine Gerätekonfiguration
Deaktivieren und Reaktivieren von Aussagen und Kennungen in einer Gerätekonfiguration
Beispiel: Deaktivieren und Reaktivieren von Aussagen und Kennungen in einer Gerätekonfiguration
So nehmen Sie globale Änderungen an der Gerätekonfiguration vor
Gängige reguläre Ausdrücke zur Verwendung mit dem
replace
BefehlBeispiel: Globales Ersetzen in einer Gerätekonfiguration – Ersetzen eines Schnittstellennamens
Beispiel: Globales Ersetzen in einer Gerätekonfiguration – die upto-Option
Beispiel: Einschließen von Kommentaren in eine Gerätekonfiguration mithilfe der CLI
Beispiel: Verwenden Sie den Wildcard-Befehl mit der Range-Option
Ändern der Konfiguration eines Geräts
Über die Befehlszeilenschnittstelle (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 Anweisung und des Einfügens eines neuen Bezeichners sowie Beispiele erläutert.
Anzeigen von Benutzern, die derzeit die Konfiguration bearbeiten
Verwenden Sie den Befehl konfigurationsmodus, um die Benutzer anzuzeigen, die status
die Konfiguration derzeit bearbeiten:
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, zu der sich der Benutzer angemeldet hat (2018-03-01 13:17:25
PST
) und welche Hierarchieebene der Benutzer bearbeitet ([edit interfaces]
).
Wenn Sie den status
Konfigurationsmodus-Befehl ausstellen und ein Benutzer eine Kandidatenkonfiguration so geplant hat, dass sie für eine zukünftige Zeit aktiv wird, zeigt das System an, wer den Commit (root
), den Ort, an dem der Benutzer angemeldet ist (terminal d0
), das Datum und die Uhrzeit, zu der sich der Benutzer angemeldet hat (2018-10-31 14:55:15 PST
), und dass ein Commit ansteht (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
Konfigurationsmodus-Befehl ausstellen und ein Benutzer die Konfiguration im exklusiven Konfigurationsmodus bearbeitet, zeigt das System an, wer die Konfiguration bearbeitet (root
), an dem der Benutzer angemeldet ist (terminal d0
), das Datum und die Uhrzeit, zu der sich der Benutzer angemeldet hat (2018-11-01 13:05:11 PST
), und dass ein Benutzer die Konfiguration im exklusiven Konfigurationsmodus 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 Mithilfe der edit
Befehle und set
Befehle Anweisungen hinzu. Für jede Anweisungshierarchie erstellen Sie die Hierarchie, die mit einer Anweisung auf der obersten Ebene beginnt. Anschließend erstellen Sie die Hierarchie mit Anweisungen, die in der Hierarchie schrittweise nach unten verschoben werden.
Um die Hierarchie zu ändern, verwenden Sie zwei Befehle im Konfigurationsmodus. Wählen Sie den relevanten Befehl basierend auf dem aus, was Sie erreichen möchten:
edit
– Verschiebt auf eine festgelegte Hierarchieebene. Wenn diese Hierarchieebene nicht vorhanden ist, erstellt deredit
Befehl sie. Deredit
Befehl hat die folgende Syntax:edit <statement-path>
set
– Erstellt eine Konfigurationsaussage und legt Bezeichnerwerte fest. Nachdem Sie einenset
Befehl ausstellen, bleiben Sie auf der gleichen Hierarchieebene. Derset
Befehl hat die folgende Syntax:set <statement-path> statement <identifier>
Die Hierarchie zur Konfigurationsaussage und die Anweisung selbst ist
statement-path
. Wenn Sie bereits auf die Hierarchieebene der Anweisung umgestellt sind, können Sie den Anweisungspfad auslassen. Die Konfigurationsaussage selbst iststatement
. Dieidentifier
Zeichenfolge identifiziert eine Instanz einer Anweisung.
Anweisungen können Container- oder Leaf-Anweisungen sein. Eine Container-Anweisung kann darin 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 >
sie zu unterscheiden.
Sie können den edit
Wert von Bezeichnern nicht mit dem Befehl ändern. Sie müssen den set
Befehl verwenden.
Siehe auch
So fügen Sie Konfigurationsanweisungen und -bezeichner hinzu
Sie konfigurieren alle Eigenschaften eines Geräts von Juniper Networks, indem Sie Anweisungen in die Konfiguration integrieren. Eine Anweisung besteht aus einem Schlüsselwort, bei dem es sich um festen Text handelt. Sie können auch einen Bezeichner in eine Anweisung einschließen. Ein Identifikator ist ein von Ihnen definierter Name, z. B. der Name einer Schnittstelle oder eines Benutzernamens, der es Ihnen und der CLI ermöglicht, zwischen einer Sammlung von Aussagen zu diskriminieren.
Die folgende Liste zeigt beispielsweise die Anweisungen, die auf der obersten 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 winkel Klammer ( >
) vor dem Anweisungsnamen zeigt an, dass es sich um eine Container-Anweisung handelt und dass Sie andere Anweisungen auf ebenen darunter definieren können. Wenn sich vor dem Namen der Anweisung keine Klammer ( >
) befindet, handelt es sich bei der Anweisung um eine Leaf-Anweisung. Sie können keine anderen Anweisungen auf Hierarchieebenen darunter definieren.
Ein Pluszeichen (+) vor dem Anweisungsnamen zeigt an, dass es eine Reihe von Werten enthalten kann. Um einen Satz anzugeben, fügen 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 angeben. Bei einigen Bezeichnern, z. B. Schnittstellennamen, müssen Sie den Bezeichner in einem genauen Format angeben. So bezieht sich der Schnittstellenname so-0/0/0 auf eine SONET/SDH-Schnittstelle, die sich am Flexible PIC Concentrator (FPC) in Steckplatz 0, an der ersten PIC-Position und am ersten Port auf der Physical Interface Card (PIC) befindet.
Für andere Bezeichner, z. B. beschreibenden Text der Benutzeroberfläche und Namen von Richtlinien- und Firewall-Begriffen, können Sie einen beliebigen Namen angeben, einschließlich Sonderzeichen, Leerzeichen und Registerkarten.
Sie müssen Bezeichner in Anführungszeichen (doppelte Anführungszeichen) einschließen. Sie müssen auch Anführungszeichen verwenden, um Bezeichner und alle Zeichenfolgen zu schließen, die ein Leerzeichen, ein Tabulatorzeichen oder eines der folgenden Zeichen enthalten:
( ) [ ] { } ! @ # $ % ^ & | ' = ?
Wenn Sie keine Option für eine Anweisung eingeben, für die eine Anweisung erforderlich ist, 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 Kennung aus einer Gerätekonfiguration mit dem delete
Befehl konfigurationsmodus. Durch das Löschen einer Anweisung oder eines Bezeichners "entkonfiguriert" die Funktionalität, die dieser Anweisung oder Kennung zugeordnet ist, und setzt diese Funktionalität auf die Standardbedingung zurück.
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.
Um die gesamte Hierarchie ab der aktuellen Hierarchieebene zu löschen, verwenden Sie den delete
Befehl, ohne eine Anweisung oder einen Bezeichner anzugeben. Wenn Sie die Anweisung oder Kennung 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 mehrere Anweisungen oder Bezeichner innerhalb einer Hierarchie nicht mit einem einzigen delete
Befehl löschen. Sie müssen jede Anweisung oder Kennung einzeln mit mehreren delete
Befehlen löschen. Betrachten Sie beispielsweise die folgende Konfiguration auf [edit system]
Hierarchieebene:
system { host-name host-211; domain-name domain-122; backup-router 192.168.71.254; arp; authentication-order [ radius password tacplus ]; }
Zum Löschen von domain-name
, host-name
und backup-router
aus der Konfiguration müssen Sie jede Anweisung einzeln löschen.
user@hostdelete system host-name host-211
user@hostdelete system domain-name domain-122
user@hostdelete system backup-router 192.168.71.254
Sie können keinen einzigen delete
Befehl ausstellen. 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 "entkonfiguriert" die Funktionalität, die dieser Anweisung oder Kennung zugeordnet ist, und setzt diese Funktionalität auf die Standardbedingung zurück.
Sie können nur bestimmte Teile der Konfiguration löschen, in denen Sie normalerweise mehrere Elemente einsetzen, z. B. Schnittstellen. "Gruppen" verschiedener Elemente können jedoch nicht gelöscht werden, wie in diesem Beispiel dargestellt:
user@host#show system services
ftp; 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, geben Sie dem Befehl für den wildcard
Konfigurationsmodus die delete
Option aus, 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 diese Junos OS mehr als acht verwandte Elemente entspricht, 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 durch t1-0/0/0:23
löschen, indem Sie diese 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
zu 172.255.0.0
löschen, indem Sie diese 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 ospf
Anweisung löschen und die OSPF-Konfiguration auf dem Router effektiv entkonfigurieren:
[edit] user@host#set protocols ospf area 0.0.0.0 interface so-0/0/0 hello-interval 5
[edit] user@host#show
protocols { 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 nach unten:
[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#delete
Delete everything under this level? [yes, no]yes
[edit protocols ospf area 0.0.0.0] user@host#show
[edit] user@host#
Deaktivieren Sie die Konfiguration einer bestimmten Eigenschaft. In diesem Beispiel entfernen Sie die Einstellung für die Schnittstellengeschwindigkeit:
[edit] user@host#set interfaces so-3/0/0 speed 100mb
[edit] user@host#show
interfaces { so-3/0/0 { speed 100mb; } } [edit] user@host#delete interfaces so-3/0/0 speed
[edit] user@host#show
interfaces { so-3/0/0; }
Kopieren einer Anweisung in die Konfiguration
Wenn Sie viele ähnliche Anweisungen in einer Gerätekonfiguration haben, können Sie eine Anweisung hinzufügen und dann Kopien dieser Anweisung erstellen. Durch kopieren einer Anweisung wird diese Anweisung und die gesamte Hierarchie der Anweisungen, die unter dieser Anweisung konfiguriert sind, 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 Konfigurationsmodus-Befehl
copy
:user@host#
copy existing-statement to new-statement
- Überprüfen Sie sofort, nachdem Sie einen Teil der Konfiguration kopiert haben, die Gültigkeit der neuen Konfiguration.
- Wenn die Konfiguration ungültig ist, ändern Sie entweder den kopierten oder den ursprünglichen Teil, um eine gültige Konfiguration zu erzeugen.
Beispiel: Kopieren einer Anweisung in die 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.
Konfigurieren Sie zunächst die folgende Erstkonfiguration, bevor Sie mit diesem Beispiel beginnen:
[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 in eine Textdatei ein, entfernen Alle Zeilenumbrüche und ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, kopieren Sie diesen Befehl, fügen Sie ihn auf Hierarchieebene in die [edit]
CLI ein, und geben Sie 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 veranschaulicht, wie Anweisungen kopiert werden, fügen Sie eine virtuelle Verbindung hinzu, die einer bereits konfigurierten virtuellen Verbindung sehr ähnlich ist.
Konfiguration
CLI-Schnellkonfiguration
Beginnen Sie auf [edit interfaces at-1/0/0]
Hierarchieebene.
copy unit 61 to unit 62
set unit 62 vci 0.62
edit unit 62
replace pattern 10.0.1.1 with 10.0.2.1
Konfigurieren durch Kopieren
Schritt-für-Schritt-Verfahren
So konfigurieren Sie durch Kopieren einer Konfiguration:
Gehen Sie zur
[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 erfahren Sie, was Sie ändern müssen, um die Konfiguration gültig zu machen.
user@host#
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.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 virtuellen Circuit Identifier (VCI) und den Virtual Path Identifier (VPI) neu konfigurieren.
[edit interfaces at-1/0/0] user@host#
set unit 62 vci 0.62
Sie möchten auch die IP-Adresse der neuen Schnittstelle durch eine eigene IP-Adresse ersetzen.
[edit interfaces at-1/0/0] user@host#
edit unit 62
user@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 die ursprünglichen Konfigurationseinstellungen immer mit dem delete
Befehl entfernen und Ihre neuen Konfigurationseinstellungen mit dem set
Befehl hinzufügen. Es gibt jedoch noch andere Möglichkeiten, eine Konfiguration zu ändern, die effizienter und benutzerfreundlicher sind.
In diesem Beispiel wird gezeigt, wie Sie die folgenden Befehle im Konfigurationsmodus 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 beispielsweise ein Wort, das der Beschreibungsaussage für alle Schnittstellen auf Ihrem Gerät gemein ist, konsistent falsch geschrieben haben, 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 aus der Von Ihnen erstellten Schnittstelle, um eine neue Schnittstelle zu erstellen.
Benennen Sie eine der von Ihnen erstellten Schnittstellen um.
Beheben Sie den Eingabefehler in der Beschreibung der erstellten Schnittstellen.
Im zweiten, kürzeren Beispiel versuchen Sie einige der gleichen Befehle unter leicht unterschiedlichen Bedingungen.
Konfiguration
- Verwenden Sie die Befehle Kopieren, Umbenennen und Ersetzen, um eine Loopback-Schnittstellenkonfiguration zu ändern
- Vergleichen Sie den Copy-Befehl auf der Konfigurationshierarchieebene auf oberster Ebene
Verwenden Sie die Befehle Kopieren, Umbenennen und Ersetzen, um eine Loopback-Schnittstellenkonfiguration zu ändern
Schritt-für-Schritt-Verfahren
Wenn Ihre vorhandene Konfiguration eine der in diesem Beispiel verwendeten Loopback-Schnittstelleneinheiten verwendet, müssen Sie verschiedene ungenutzte Loopback-Schnittstelleneinheiten ersetzen. Andernfalls könnte das Ausführen dieser Schritte den bestehenden Betriebsstatus Ihres Geräts beschädigen.
So erstellen und ändern Sie eine Konfiguration einer Loopback-Schnittstelle mithilfe von copy
, rename
und replace
Befehlen:
-
Erstellen Sie eine neue Loopback-Schnittstelleneinheitsnummer und fügen Sie eine Beschreibung bei.
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 Loopback-Schnittstelle an, die Sie gerade hinzugefügt haben.
[edit] user@host#
show interfaces lo0 unit 100
description "this is a lopbck interface";
-
Duplizieren Sie die Loopback-Schnittstelle, die Sie gerade erstellt haben, einschließlich Der Fehler, von Der Einheit 100 bis zur Einheit 101.
[edit] user@host#
copy interfaces lo0 unit 100 to unit 101
-
Zeigen Sie die Konfigurationen für Loopback-Schnittstellen lo0 Unit 100 und lo0 Unit 101 an.
[edit] user@host#
show interfaces lo0 unit 100
description "this is a lopbck interface";
[edit] user@host#show interfaces lo0 unit 101
description "this is a lopbck interface";
Der
copy
Befehl dupliziert eine Schnittstelle, einschließlich aller untergeordneten Anweisungen, wiedescription
. -
Benennen Sie die Loopback-Schnittstelle lo0 Unit 100 in Loopback-Schnittstelle lo0 Unit 102 um.
[edit] user@host#
rename interfaces lo0 unit 100 to unit 102
-
Zeigen Sie die Konfiguration für Loopback-Schnittstelle lo0 Unit 100 an.
[edit] user@host#
show interfaces lo0 unit 100
[edit] user@host#Sie sollten keine Ergebnisse aus diesem Befehl sehen. Die Loopback-Schnittstelle lo0 Unit 100 ist jetzt weg. Der
rename
Befehl ersetzt die angegebene Konfigurationsaussage durch die neue Konfiguration. -
Beheben Sie die Falschschreibung des Wortes Loopback in den Beschreibungen für Loopback-Schnittstellen lo0 Unit 101 und lo0 Unit 102.
[edit] user@host#
replace pattern lopbck with loopback
-
Zeigen Sie die Konfiguration für 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 101
description "this is a loopback interface";
[edit] user@host#show interfaces lo0 unit 102
description "this is a loopback interface";
Der
replace
Befehl 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 Wirkung desreplace
Befehls einzudämmen. -
Verwenden Sie im Konfigurationsmodus den Befehl, um die
rollback
Gerätekonfiguration in den Zustand zurückzukehren, in dem sie war, bevor Sie die vorherigen Schritte ausgeführt haben.[edit] user@host#
rollback
Ergebnisse
Verwenden Sie im Konfigurationsmodus die show interfaces lo0 unit 101
Befehle und show interfaces lo0 unit 102
Befehle, um sicherzustellen, dass sich die Gerätekonfiguration in dem Zustand befindet, in dem sie vor der Ausführung der Schritte in diesem Beispiel war.
[edit]
user@host: show interfaces lo0 unit 101
[edit]
user@host#
Sie sollten keine Ergebnisse aus diesem Befehl sehen.
[edit] user@host# show interfaces lo0 unit 102 [edit] user@host#
Sie sollten keine Ergebnisse aus diesem Befehl sehen.
Vergleichen Sie den Copy-Befehl auf der Konfigurationshierarchieebene auf oberster Ebene
Schritt-für-Schritt-Verfahren
Im vorherigen Beispiel werden die copy
Befehle und replace
die rename
Befehle auf [edit interfaces interface-name unit logical-interface-number]
Hierarchieebene dargestellt. 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 gerade erstellte Schnittstelle in eine andere Schnittstelle.
[edit] user@host#
copy interfaces et-2/0/0 to et-2/1/0
Vergleichen Sie diesen
copy
Befehl mit dem befehl im vorherigen Beispiel, wobei dercopy
Befehl das Schlüsselwortunit
vor dem zu kopierenden Wert annimmt:[edit] user@host#
copy interfaces lo0 unit 100 to unit 101
Beachten Sie, dass das Schlüsselwort
interfaces
nach der Präpositionto
und vor dem zu kopierenden Wert nicht wiederholt wird. Dies geschieht in einigen Anweisungen auf der obersten Ebene mit demcopy
Befehl.Tipp:Ebenso wiederholen Sie im
rename
Befehl den Schlüsselwortteil der Anweisung vor dem neuen Bezeichner in einigen Anweisungen der obersten Ebene nicht. -
Zeigen Sie Ihre bisherige Konfiguration.
[edit] user@host#
show interfaces
et-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.40
Wenn Sie anstelle aller Ereignisse nur ein bestimmtes Vorkommen eines Musters ändern möchten, müssen Sie zu dieser bestimmten Hierarchieebene navigieren, bevor Sie den
replace
Befehl verwenden. -
Zeigen Sie die Schnittstellen erneut an.
[edit] user@host#
show interfaces
et-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
rollback
Befehl, um die Gerätekonfiguration in den Zustand zurück zu bringen, in dem sie vor der Ausführung der vorherigen Schritte war.[edit] user@host#
rollback
Ergebnisse
Verwenden Sie im Konfigurationsmodus die show interfaces et-2/0/0
Befehle und show interfaces et-2/1/0
Befehle, um sicherzustellen, dass sich die Gerätekonfiguration in dem Zustand befindet, in dem sie vor der Ausführung der Schritte in diesem Beispiel war.
[edit]
user@hostshow interfaces et-2/0/0
[edit]
user@host#
Sie sollten keine Ergebnisse aus diesem Befehl sehen.
[edit]
user@R1# show interfaces et-2/1/0
[edit]
user@host#
Sie sollten keine Ergebnisse aus diesem Befehl sehen.
Einfügen eines neuen Bezeichners 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 davon, in welcher Reihenfolge Sie die Konfigurationsanweisungen eingeben, zeigt die CLI die Konfiguration immer in einer strengen Reihenfolge an. In einigen Fällen ist jedoch die Reihenfolge der Aussagen wichtig, da die Konfigurationsanweisungen eine Reihenfolge erstellen, die in der geordneten Reihenfolge analysiert wird.
So definieren Sie beispielsweise 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, die mit dem ersten Transitrouter beginnt und mit dem letzten endet.
Verwenden Sie den Befehl konfigurationsmodus, um einen Teil der Konfiguration zu ändern, in dem die insert
Anweisungsreihenfolge wichtig ist:
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 Kennungen platziert.
Beispiel: Einfügen eines neuen Bezeichners in eine Gerätekonfiguration
Dieses Beispiel zeigt die Verwendung des insert
Befehls.
Während ein Begriff, der mit dem set
Befehl hinzugefügt wird, am Ende der bestehenden Liste der Begriffe platziert wird, verwenden Sie den insert
Befehl, um einen Begriff in der von Ihnen angegebenen Reihenfolge hinzuzufügen. Das Festlegen der Reihenfolge von Anweisungen ist in den Fällen wichtig, in denen die Reihenfolge wichtig ist, da die Konfigurationsanweisungen eine Reihenfolge erstellen, die nach und nach analysiert wird.
Wie in diesem Beispiel gezeigt wird, 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 ausgefüllt werden. 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 ursprüngliche Richtlinie für dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen sie in eine Textdatei ein, entfernen sie alle Zeilenumbrüche und ändern alle Details, die erforderlich sind, um Ihrer Netzwerkkonfiguration zu entsprechen, kopieren Sie die Befehle, fügen Sie sie auf Hierarchieebene in die [edit policy-options]
CLI ein, und geben 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 die Hierarchie korrekt konfiguriert ist:
[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 von Bedeutung ist, müssen Sie den insert
Konfigurationsmodus-Befehl verwenden. Wenn Sie stattdessen den set
Befehl verwenden, ist die hinzugefügte Anweisung oder Kennung nacheinander an der falschen Stelle. Die einzige andere Möglichkeit, die Bedingungen des Befehls in der richtigen Reihenfolge zu erhalten, besteht darin, die Konfiguration zu zerlegen und von vorne zu beginnen.
Konfiguration
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche und ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, kopieren Sie die Befehle und fügen sie auf Hierarchieebene [Richtlinienoptionen bearbeiten] in die CLI ein, und geben Sie dann im 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-Verfahren
-
Legen Sie fest, in welcher Reihenfolge Ihre Konfigurationsbedingungen gehen müssen. Berücksichtigen Sie sowohl die ursprünglichen Bedingungen als auch die neuen Begriffe, die Sie hinzufügen möchten.
In der ursprünglichen Konfiguration wird die Richtlinie benannt
statics
, und es gibt vier Begriffe. Jede der ersten drei Bedingungen wird nach einem anderen Übereinstimmungskriterien abgeglichen, und die daraus resultierenden Übereinstimmungen werden abgelehnt. Der letzte Begriff akzeptiert den gesamten restlichen Datenverkehr.In diesem Beispiel müssen Sie zwei Begriffe hinzufügen, die zusätzliche Arten von Datenverkehr eliminieren. Beide Begriffe müssen vor dem letzten Begriff in der ursprünglichen Konfiguration gehen.
Benennen Sie Original Term4 in Term6 um.
[edit] user@host#
rename policy-options policy-statement statics term term4 to term term6
Dieser Schritt behält den ursprünglichen letzten Begriff, der jetzt in Term6 umbenannt wurde, als letzter Begriff.
Erstellen Sie einen neuen Begriff4.
[edit] user@host#
set policy-options policy-statement statics term term4 from protocol local
user@host#set policy-options policy-statement statics term term4 then reject
Es wird ein neuer Begriff hinzugefügt, der den Datenverkehr von lokalen Systemadressen entspricht und ihn ablehnt.
Erstellen Sie einen neuen Begriff5.
[edit] user@host#
set policy-options policy-statement statics term term5 from protocol aggregate
user@host#set policy-options policy-statement statics term term5 then reject
Es wird ein neuer Begriff hinzugefügt, der den Datenverkehr aus aggregierten Routen abspielt 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 Aussagen und Kennungen 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 ausstellen. Alle deaktivierten Anweisungen und Identifikatoren werden mit dem inactive
Tag markiert. Sie bleiben in der Konfiguration, werden aber nicht aktiviert, wenn Sie einen commit
Befehl ausstellen.
Um eine Anweisung oder Kennung zu deaktivieren, verwenden Sie den deactivate
Befehl konfigurationsmodus:
user@host# deactivate( statement | identifier )
Um eine Anweisung oder Kennung zu reaktivieren, verwenden Sie den activate
Konfigurationsmodus-Befehl:
user@host# activate ( statement | identifier )
In beiden Befehlen müssen der statement
und der, den identifier
Sie angeben, auf der aktuellen Hierarchieebene sein. Wenn Sie eine Anweisung deaktivieren, wird diese spezifische Anweisung ignoriert und überhaupt nicht angewendet, wenn Sie einen commit
Befehl ausstellen.
Verwenden Sie den disable
Befehl "Konfigurationsmodus", um eine Anweisung zu deaktivieren.
In einigen Teilen der Konfigurationshierarchie können Sie eine disable
Anweisung zur Deaktivierung der Funktionalität einschließen. Ein Beispiel ist die Deaktivierung einer Schnittstelle, indem die disable
Anweisung auf [edit interface
interface-name]
Hierarchieebene eingeschlossen wird. Wenn Sie eine Funktion deaktivieren, wird sie bei der Ausgabe eines commit
Befehls erneut aktiviert, wird aber so behandelt, als ob sie ausfällt oder administrativ deaktiviert ist.
Beispiel: Deaktivieren und Reaktivieren von Aussagen und Kennungen in einer Gerätekonfiguration
Dieses Beispiel zeigt einen häufigen Anwendungsfall, in dem Sie die Befehle für den Konfigurationsmodus und activate
den deactivate
Konfigurationsmodus verwenden. Es umfasst zwei Routing-Engines, primär und Backup, die graceful Routing Engine Switchover (GRES) konfiguriert haben. Die Software auf beiden Routing-Engines muss aktualisiert werden. Dies kann leicht erreicht werden, indem GRES deaktiviert, die Routing-Engines aktualisiert und dann GRES reaktiviert werden.
Sie können auch ein ähnliches Upgrade mit derselben Einrichtung durchführen, außer dass Nonstop Active Routing (NSR) anstelle von GRES konfiguriert ist. Sie müssen NSR deaktivieren und dann die Routing-Engines aktualisieren, bevor Sie NSR reaktivieren.
Anforderungen
In diesem Beispiel ist die Verwendung eines Geräts mit zwei Routing-Engines erforderlich, das aktualisiert werden kann.
Stellen Sie sicher, dass GRES konfiguriert ist, bevor Sie mit diesem Beispiel beginnen.
Ü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 die GRES-Funktion deaktivieren, jede der Routing-Engines aktualisieren und dann GRES erneut aktivieren.
Konfiguration
Konfigurieren Sie die Deaktivierung und Reaktivierung von GRES
Schritt-für-Schritt-Verfahren
So deaktivieren und reaktivieren Sie GRES für ein Upgrade der Routing-Engine:
Zeigen Sie, dass GRES für den Router aktiviert ist.
[edit] user@host#
show chassis
redundancy { graceful-switchover; } fpc 2 { pic 0 { tunnel-services { bandwidth 1g; } } }Deaktivieren Sie GRES.
[edit] user@host#
deactivate chassis redundancy graceful-switchover
user@host#commit
Zeigen Sie, dass GRES deaktiviert ist.
[edit] user@host#
show chassis
redundancy { inactive: graceful-switchover; } fpc 2 { pic 0 { tunnel-services { bandwidth 1g; } } }-
Aktualisieren Sie die Routing-Engines nacheinander.
Anweisungen zum Upgrade von Junos OS auf zwei Routing-Engines finden Sie unter Installieren des Softwarepakets auf einem Gerät mit redundanten Routing-Engines.
Reaktivieren Sie GRES.
[edit] user@host#
activate chassis redundancy graceful-switchover
user@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 an der Gerätekonfiguration vor
Sie können globale Änderungen an Variablen und Bezeichnern in der Gerätekonfiguration vornehmen, indem Sie den replace
Konfigurationsmodus-Befehl verwenden. Dieser Befehl ersetzt ein Muster in einer Konfiguration durch ein anderes Muster. Sie können beispielsweise diesen Befehl verwenden, um alle Vorkommen eines Schnittstellennamens zu finden und zu ersetzen, wenn ein 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 ersetzt, die sich in pattern1
.
Die CLI verwendet standardmäßige Syntax 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 um. Gierige Qualifizierer (match soweit wie möglich) werden unterstützt. Lazy Qualififiers (so wenig wie möglich) werden nicht unterstützt.
Die upto
n
Option gibt die Anzahl der ersetzten Objekte an. Der Wert von n
steuert die Gesamtanzahl der Objekte, die in der Konfiguration ersetzt werden (nicht die Gesamtzahl der Auftritte des Musters). Objekte auf derselben Hierarchieebene (Geschwister) werden zuerst ersetzt. Mehrere Vorkommen eines Musters innerhalb eines bestimmten Objekts werden als einzelner Ersatz betrachtet. Wenn eine Konfiguration z. B. eine 010101
Textzeichenfolge enthält, wird der Befehl replace pattern 01 with pattern 02 upto 2
durch 020202
(anstelle von 020201
) ersetzt010101
. Der Austausch von 010101
mit 020202
gilt als einzelner Ersatz (n
= 1
), nicht drei separate Ersatz (n
=3
).
Wenn Sie keine Option angeben upto
, werden alle Bezeichner und Werte in der Konfiguration ersetzt, die übereinstimmen pattern1
.
Der replace
Befehl ist im Konfigurationsmodus auf jeder Hierarchieebene verfügbar. Bei allen Übereinstimmungen wird die Groß- und Kleinschreibung berücksichtigt.
Gängige reguläre Ausdrücke zur Verwendung mit dem replace
Befehl
Betreiber |
Funktion |
---|---|
|
Gibt an, dass eine Übereinstimmung einer der beiden Begriffe auf beiden Seiten der Pipe sein kann. |
|
Wird am Anfang eines Ausdrucks verwendet, gibt an, wo eine Übereinstimmung beginnen soll. |
|
Die Verwendung am Ende eines Ausdrucks bedeutet, dass ein Begriff bis zum Punkt des |
|
Gibt einen Bereich von Buchstaben oder Ziffern an, die übereinstimmen sollen. 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 Back-Referenzen als |
|
Bezeichnet 0 oder mehr Begriffe. |
|
Bezeichnet einen oder mehrere Begriffe. |
|
Bezeichnet alle Zeichen mit Ausnahme von Leerzeichen (""). |
|
Ein Backslash entgeht Sonderzeichen, um ihre besondere Bedeutung zu unterdrücken. Zum Beispiel\. entspricht |
|
Back-Referenz, die der nth Gruppe entspricht. |
|
Back-Referenz, die dem gesamten Match entspricht. |
In der folgenden Tabelle finden Sie einige Beispiele für den Austausch.
Befehl |
Ergebnis |
---|---|
|
Match: Ergebnis: |
|
Match: Ergebnis: |
|
Match: Ergebnis: |
|
Match: Ergebnis: |
Beispiel: So verwenden Sie den globalen Austausch in einer Gerätekonfiguration – die \n Back-Referenz
In diesem Beispiel wird gezeigt, wie Sie mithilfe einer Rückreferenz ein Muster ersetzen können.
Anforderungen
Vor der Konfiguration dieses Beispiels ist über die Geräteinitiierung hinaus keine spezielle Konfiguration erforderlich.
Konfigurieren Sie zunächst 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 und fügen sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, und kopieren Sie dann die Befehle und fügen sie auf Hierarchieebene in die [edit]
CLI ein:
set interfaces xe-0/0/0 unit 0
set interfaces fe-3/0/1 vlan-tagging
set interfaces fe-3/0/1 unit 0 description "inet6 configuration IP: 2000::c0a8::1bf5"
set interfaces fe-3/0/1 unit 0 vlan-id 100
set interfaces fe-3/0/1 unit 0 family inet address 17.10.1.1/24
set 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 die Back-Referenz. Backreferenzen bieten eine praktische 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 verweisen auf das zuvor erfasste Muster mit just \#
(wobei #
ist eine Zahl, die die Anzahl der Male angibt, mit denen das Muster übereinstimmen soll).
Sie können Rückreferenzen verwenden, um Daten zu abrufen oder zu finden und durch etwas anderes zu ersetzen. Auf diese Weise können Sie große Datensätze mit einem einzigen Ersetzen-Befehl umformatieren, wodurch Sie die Zeit sparen, die sie benötigen, um das Muster manuell zu suchen und zu ersetzen.
Konfiguration
Konfigurieren eines Ersatzes mithilfe einer Back-Referenz im Befehl
Schritt-für-Schritt-Verfahren
So ersetzen Sie ein Muster in einer Junos OS Konfiguration mithilfe einer Rückreferenz:
Verwenden Sie den
replace
Befehl.[edit] user@host#
replace pattern pattern1 with pattern2
In diesem Fall möchten
:1bf5
wir durch1bf5
.[edit] user@host#
replace pattern "(.*):1bf5" with "\11bf5"
Beachten Sie die Rückreferenz (\1), die angibt, dass das Muster nur ein einziges Mal gesucht und ersetzt werden sollte.
Ergebnisse
Hier ist die daraus 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
ein einziges ersetzt.
Beispiel: Globales Ersetzen in einer Gerätekonfiguration – Ersetzen eines Schnittstellennamens
In diesem Beispiel wird gezeigt, wie Sie einen Schnittstellennamen global in einer Konfiguration mithilfe des replace
Befehls ersetzen.
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 der Schnittstellenname geändert wird. Mit einem Befehl können Sie die gesamte Konfiguration aktualisieren. Oder Sie können die Konfiguration schnell mit anderen ähnlichen Konfigurationen erweitern, z. B. mit ähnlichen Schnittstellen.
Indem Sie eine Kombination aus den copy
Befehlen und replace
Befehlen verwenden, können Sie zu einer Konfiguration hinzufügen und dann bestimmte Aspekte der neu kopierten Konfigurationen ersetzen. Der replace
Befehl funktioniert mit regulären Ausdrücken. Reguläre Ausdrücke sind schnell, flexibel und allgegenwärtig. Sie können so gut wie jedes Muster, nach dem Sie suchen müssen, gestalten, 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.
Konfigurieren Sie zunächst die folgende Hierarchie auf dem Router. Informationen zur schnellen Konfiguration dieser Hierarchie finden Sie unter CLI-Schnellkonfiguration .
user@host#show interfaces
so-0/0/0 { dce; } user@host#show protocols
ospf { area 0.0.0.0 { interface so-0/0/0.0 { hello-interval 5; } } }
Überblick
In diesem Beispiel wird gezeigt, wie Sie einen Schnittstellennamen global in einer Konfiguration mithilfe des replace
Befehls ersetzen. Es ist ein einfaches Beispiel.
Die vorherige Konfiguration ist der Ausgangspunkt für dieses Konfigurationsupdate. In diesem Beispiel ändern Sie den Namen der anfänglichen 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 in eine Textdatei ein, entfernen alle Zeilenumbrüche und ändern alle Details, die erforderlich sind, um Ihre Netzwerkkonfiguration zu erfüllen, kopieren Sie diese Befehle, fügen Sie sie auf Hierarchieebene in die [edit]
CLI ein, und geben 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
Konfigurieren einer Änderung des Schnittstellennamens
Schritt-für-Schritt-Verfahren
So ändern Sie einen Schnittstellennamen:
Stellen Sie sicher, dass Sie in der Hierarchie des Konfigurationsmodus ganz oben stehen.
user@host#
top
-
Ersetzen sie
so-0/0/0
mitso-1/1/0
demreplace
Befehl, der daspattern
Schlü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 mithilfe der Befehle und show protocols
des show interfaces
Konfigurationsmodus.
[edit] user@host#show interfaces
so-1/1/0 { dce; } user@host#show protocols
ospf { area 0.0.0.0 { interface so-1/1/0.0 { hello-interval 5; } } }
Geben Sie den Befehl ein, nachdem Sie bestätigt haben, dass die commit
Konfiguration korrekt ist.
Beispiel: Globales Ersetzen in einer Gerätekonfiguration – die upto-Option
Betrachten Sie die Hierarchie, die in Abbildung 1. Die Zeichenfolge 010101
wird an drei Stellen angezeigt: die Beschreibungsabschnitte von ge-0/0/0
, ge-0/0/0.0
und fe-0/0/1
. Diese drei Instanzen sind drei Objekte. Das folgende Beispiel zeigt, wie Sie die upto
Option zum Austausch in einer Gerätekonfiguration verwenden können:

Eine upto 2
Option im replace
Befehl wird für zwei Objektinstanzen konvertiert 01
02
. Die Objekte unter den Hauptschnittstellen ge-0/0/0
und fe-0/0/1
werden zuerst ersetzt (da diese geschwisterlich in der Hierarchieebene sind). Aufgrund der upto 2
Einschränkung ersetzt der replace
Befehl Muster in der ersten und zweiten Instanz in der Hierarchie (geschwisterliche), nicht aber in der dritten Instanz (Untergeordnete der ersten Instanz).
user@host#show interfaces
ge-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#commit
commit 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 aufnehmen, um jede Anweisung in der Konfiguration zu beschreiben. Sie können Kommentare interaktiv in der CLI hinzufügen und die ASCII-Konfigurationsdatei bearbeiten.
Beim Konfigurieren von Schnittstellen können Sie Kommentare zur Schnittstelle hinzufügen, indem Sie die description
Anweisung auf Hierarchieebene [edit interfaces
interface-name
]
einfügen. Alle Kommentare, die Sie einschließen, werden in der Ausgabe der show interfaces
Befehle angezeigt.
Hinzufügen von Kommentaren in der CLI
Wenn Sie im Konfigurationsmodus Kommentare hinzufügen, werden diese einer Anweisung auf der aktuellen Ebene zugeordnet. Jeder Anweisung kann ein Einzeilenkommentar zugeordnet werden. Bevor Sie einen Kommentar mit einer Anweisung verknüpfen können, muss die Anweisung vorhanden sein. Der Kommentar wird in der Zeile vor der Aussage platziert.
Verwenden Sie den annotate
Befehl konfigurationsmodus, um Kommentare zu einer Konfiguration hinzuzufügen:
user@host# annotate statement "comment-string
"
statement
ist die Konfigurationsaussage, der Sie den Kommentar beifügen; sie muss sich auf der aktuellen Hierarchieebene befinden. Wenn ein Kommentar für den angegebenen statement
bereits vorhanden ist, wird er gelöscht und durch den neuen Kommentar ersetzt.
comment-string
ist der Text des Kommentars. Der Kommentartext kann eine beliebige Länge haben, und Sie müssen ihn in einer einzigen Zeile eingeben. Wenn der Kommentar Leerzeichen enthält, müssen Sie ihn in Anführungszeichen einschließen. In die Kommentarzeichenfolge können Sie die Kommentartrennzeichen /* */
oder #
. Wenn Sie keine angeben, wird die Kommentarzeichenfolge den /* */
Kommentartrennzeichen beigelegt.
Um einen vorhandenen Kommentar zu löschen, geben Sie eine leere Kommentarzeichenfolge an:
user@host# annotate statement ""
Wenn Sie mit dem annotate
Befehl Kommentare hinzufügen, können Sie die Kommentare in der Konfiguration anzeigen, indem Sie den Befehl Konfigurationsmodus anzeigen oder den show configuration
Betriebsmodus-Befehl eingeben.
Junos OS unterstützt Anmerkungen bis zur letzten Ebene in der Konfigurationshierarchie, einschließlich oneliners. Die Annotation von Teilen (die untergeordneten Anweisungen oder Bezeichner innerhalb des oneliner) des oneliner wird jedoch nicht unterstützt. In der folgenden Beispielkonfigurationshierarchie wird z. B. die Anmerkung bis zur level 1
übergeordneten Hierarchie unterstützt, für die metric
untergeordnete Anweisung wird jedoch nicht unterstützt:
[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 der Anweisung, mit der sie verknüpft sind, vorangehen. 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 gespeichert 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 einschließen, können Sie Kommentare wie folgt formatieren:
Beginnen Sie den Kommentar mit einem
/*
und beenden Sie ihn mit einem*/
. Der Kommentartext kann in einer einzigen Zeile oder mehrere Zeilen umfassen.Beginnen Sie den Kommentar mit einem
#
und beenden Sie ihn mit einer neuen Zeile (Wagenrücklauf).
Beispiel: Einschließen von Kommentaren in eine Gerätekonfiguration mithilfe der CLI
Das Hinzufügen von Kommentaren zu einer Gerätekonfiguration macht die Konfigurationsdatei lesbar und für die Benutzer leichter verständlich. Sie können kommentare bei der Konfiguration mithilfe der annotate
Anweisung einschließen. In diesem Beispiel werden Kommentare hinzugefügt, indem sie die CLI für eine bereits vorhandene Konfiguration verwenden:
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 ihn in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche und ändern alle erforderlichen Details, um ihre Netzwerkkonfiguration zu entsprechen, kopieren Sie diesen Befehl, fügen Sie ihn auf Hierarchieebene in die [edit]
CLI ein, und geben Sie dann aus dem Konfigurationsmodus ein commit
.
set protocols ospf area 0.0.0.0 interface so-0/0/0.0 hello-interval 5
Stellen Sie nun sicher, dass diese Hierarchie konfiguriert ist.
user@host# show protocols
ospf {
area 0.0.0.0 {
interface so-0/0/0 {
hello-interval 5;
}
}
}
Überblick
Wenn Sie Kommentare über die CLI hinzufügen, tun Sie dies im Konfigurationsmodus mit der annotate
Anweisung. Jeder Kommentar, den Sie hinzufügen, wird mit einer Anweisung auf der aktuellen Ebene verknüpft. Jeder Anweisung kann ein Einzeilenkommentar zugeordnet werden.
Um die annotate
Anweisung zu konfigurieren, bewegen Sie sich auf die Ebene der Anweisung, der Sie einen Kommentar zuordnen möchten. Um die Kommentare anzuzeigen, gehen Sie zum oberen Ende 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 in eine Textdatei ein, entfernen alle Zeilenumbrüche und ändern alle Details, die erforderlich sind, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, kopieren Sie die Befehle, fügen Sie sie auf Hierarchieebene in die [edit]
CLI ein, und geben Sie dann im Konfigurationsmodus ein commit
.
edit protocols ospf
annotate area 0.0.0.0 "Backbone area configuration added June 15, 2018"
edit area 0.0.0.0
annotate interface so-0/0/0.0 "Interface from router sj1 to router sj2"
Beachten Sie, dass Die Befehle Sie nach unten in der Hierarchie bewegen, während Sie verschiedene Abschnitte der Hierarchie kommentieren.
Einschließlich Kommentare im CLI-Konfigurationsmodus
Schritt-für-Schritt-Verfahren
Bei dieser Prozedur wird vorausgesetzt, dass Sie die Erstkonfiguration bereits konfiguriert haben.
So fügen Sie einer Konfiguration Kommentare hinzu:
Wechseln Sie zur ersten Hierarchieebene, der Sie einen Kommentar hinzufügen müssen.
[edit] user@host#
edit protocols ospf
Fügen Sie der
area
Konfigurationsaussage einen Kommentar hinzu, indem Sie dieannotate
Anweisung verwenden.[edit protocols ospf] user@host#
annotate area 0.0.0.0 "Backbone area configuration added June 15, 1998"
Gehen Sie eine Ebene zur
interface
Konfigurationsaussage herunter.[edit protocols ospf] user@host#
edit area 0.0.0.0
-
Fügen Sie mithilfe der
annotate
Anweisung einen Kommentar zur Schnittstelleso-0/0/0.0
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
Gehen Sie an die Spitze der Hierarchie, und verwenden Sie den show
Befehl, um die kommentare zu sehen, die Sie hinzugefügt haben. Die Kommentare gehen der Aussage vor, mit der sie verknüpft 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;
}
}
}
Geben Sie den Befehl ein, nachdem Sie bestätigt haben, dass die commit
Konfiguration korrekt ist.
Beispiel: Verwenden Sie den Wildcard-Befehl mit der Range-Option
Wenn Sie Änderungen an der Konfiguration eines Geräts vornehmen müssen, können Sie die ursprünglichen Konfigurationseinstellungen immer mit dem delete
Befehl entfernen und Ihre neuen Konfigurationseinstellungen mit dem set
Befehl hinzufügen. Es gibt jedoch noch andere Möglichkeiten, eine Konfiguration zu ändern, die effizienter und benutzerfreundlicher sind.
In diesem Beispiel wird gezeigt, wie Sie den Wildcard-Befehl zusammen mit Bereichen in aktivieren, deaktivieren, löschen, schützen, festlegen, anzeigen und deaktivieren Konfigurationsbefehle verwenden.
Der Wildcard-Befehl 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 in einer leeren Hierarchie festzulegen.
Anforderungen
Junos OS Version 12.1 oder höher, die auf dem Gerät ausgeführt wird.
Überblick
Mit der Range-Option mit dem Wildcard-Befehl können Sie Bereiche in Den Befehlen aktivieren, deaktivieren, löschen, schützen, festlegen, anzeigen und schützen. Sie können Bereiche verwenden, um eine Reihe von Schnittstellen, logischen Einheiten, VLANs und anderen nummerierten Elementen anzugeben. Die Wildcard-Bereichsoption erweitert den Befehl, den Sie in mehrere Befehle eingegeben haben, von denen jeder einem Element im Bereich entspricht.
Mit der Wildcard-Bereichsoption können Sie mehrere Konfigurationsanweisungen mit einem einzigen Set-Befehl konfigurieren, anstatt jede einzelne davon einzeln zu konfigurieren. Um beispielsweise 24 Gigabit-Ethernet-Schnittstellen mit unterschiedlichen Portnummern zu konfigurieren, können Sie einen einzelnen Befehl für den Bereichssatz anstelle von 24 einzelnen Befehlen für festgelegte Schnittstellen verwenden.
Ebenso können Sie zur Deaktivierung einer Gruppe von 30 logischen Schnittstellen den Befehl "Bereich deaktivieren" verwenden, anstatt jede logische Schnittstelle einzeln zu deaktivieren.
Konfiguration
- Verwenden Sie den Wildcard-Befehl mit Bereichsanweisungen für eine Vielzahl von Konfigurationsaufgaben.
- Verwenden der Bereichsoption zum Konfigurieren einer Reihe von benannten Bezeichnern für eine Konfigurationsaussage
- Festlegen mehrerer Bereiche in der Syntax
- Festlegen eines Bereichs und eindeutiger Zahlen in der Syntax
- Ausschließen einiger Werte aus einem Bereich
- Festlegen eines Bereichs mit einer Schrittzahl
- Verwenden von Wildcard zum Löschen der Richtlinien p1-p10
Verwenden Sie den Wildcard-Befehl mit Bereichsanweisungen für eine Vielzahl von Konfigurationsaufgaben.
Schritt-für-Schritt-Verfahren
- Sie können den Wildcard-Bereich mit den Konfigurationsbefehlen aktiv, deaktivieren, löschen, schützen, festlegen, anzeigen und deaktivieren 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
wildcard
Anweisung kann mit einer vollständigen Konfigurationshierarchie qualifiziert werden. Wenn er in einer Konfigurationshierarchie geparkt wird, ist der Platzhalterbefehl relativ zu den in dieser Hierarchie unterstützten Optionen.[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 name
user@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 name
Im ersten Fall wird der vollständige Pfad zur Schnittstellenhierarchie mit der Wildcard-Anweisung angegeben. In der zweiten wird der Benutzer in der Schnittstellenhierarchie geparkt. Die unterstützten Optionen sind mit beiden Methoden identisch.
Verwenden der Bereichsoption zum Konfigurieren einer Reihe von benannten Bezeichnern für eine Konfigurationsaussage
Schritt-für-Schritt-Verfahren
Um eine Serie desselben Schnittstellentyps mit unterschiedlichen Portnummern (0 bis 23) zu konfigurieren, geben Sie den Bereich für die Portnummern mit dem 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 Range-Wildcard-Bereich wird auf 24 verschiedene festgelegte Befehle erweitert, um Schnittstellen mit Portnummern von 0 bis 23 zu konfigurieren. In diesem Fall werden die Schnittstellen erstellt, um die
vpls
Protokollfamilie 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; + }
Festlegen mehrerer Bereiche in der Syntax
Schritt-für-Schritt-Verfahren
Sie können mehrere Bereiche in einem Wildcard-Bereichsbefehl angeben. Jeder Bereich muss durch ein Komma getrennt sein. Sie können auch überlappende Bereiche haben.
Für die restlichen Beispiele erstellen Sie eine temporäre Kopie Ihrer Konfiguration mit zehn Richtlinienanweisungen. Diese Anweisungen vermeiden CLI-Fehler, die gemeldet werden, wenn Sie versuchen, Attribute in einem Null-Teil der Hierarchie zu ändern.
[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'
- Um mehr als einen Bereich in der Syntax anzugeben, geben Sie die Minimal- und Maximalwerte für jeden Bereich ein, getrennt durch ein Komma.
[edit] user@host# wildcard range deactivate policy-options policy-statement p[1-3,5-7,6-9]
-
Zeigen Sie das Ergebnis an. Der Wildcard-Bereich wird erweitert, um die
deactivate
Anweisung Richtlinien hinzuzufügen, deren Namen den angegebenen Bereichen entsprechen. Es ist zu beachten, dass es keine p4 Änderungen an der Kandidatenkonfiguration gibt und p10 in dieser Liste enthalten ist.HINWEIS:Ein Fehler wird zurückgegeben, wenn der angegebene Richtlinienname nicht bereits in der Konfiguration vorhanden ist. Dies liegt daran, dass Sie die deaktivieren-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 { ... }
Festlegen eines Bereichs und eindeutiger Zahlen in der Syntax
Schritt-für-Schritt-Verfahren
Sie können eine Kombination aus einem Bereich und eindeutigen Zahlen in der Syntax des Befehls "Bereich" angeben.
-
Laden Sie die temporäre Konfiguration neu.
[edit] user@host# load override temp load complete
- Um einen Bereich und eine eindeutige Nummer anzugeben, trennen Sie diese 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 Anweisung Richtlinien hinzuzufügen, deren
deactivate
Namen den angegebenen Bereichen entsprechen, und auch der eindeutigen Nummer. Infolgedessen wird die p10 Richtlinie in diesem Beispiel ebenfalls deaktiviert.HINWEIS:Ein Fehler wird zurückgegeben, wenn der angegebene Richtlinienname nicht bereits in der Konfiguration vorhanden ist. Dies liegt daran, dass Sie die Deaktivierungs-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-Verfahren
Sie können bestimmte Werte aus einem Bereich ausschließen, indem Sie die Zahlen oder den Bereich der auszuschließenden Zahlen 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 zu schließ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 Wildcard-Bereich wird erweitert, um die
deactivate
Anweisung Richtlinien hinzuzufügen, deren Namen den angegebenen Bereichen entsprechen. Beachten Sie, dass Richtlinien p3 in p4 der Liste der an der Kandidatenkonfiguration vorgenommenen Änderungen fehlen. Sie wurden vom 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 Deaktivierungs-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 { ... }
Festlegen eines Bereichs mit einer Schrittzahl
Schritt-für-Schritt-Verfahren
Sie können eine Schrittnummer angeben, um ein konstantes Intervall im Bereich zu haben. Der Schrittwert zählt die erste Übereinstimmung und überspringt dann die nachfolgenden Übereinstimmungen bis zum angegebenen Schrittwert.
-
Laden Sie die temporäre Konfiguration neu.
[edit] user@host# load override temp load complete
- Um einen Schritt bereitzustellen, fügen Sie den Schrittwert in die Syntax ein, der einem Schrägstrich (/) vorangestellt wird. Hier geben wir einen Bereich von 1 bis 10 an und überspringen 1 Zahl zwischen jeder Übereinstimmung mit einem Schrittwert von 2. Der Effekt besteht darin, alle gerade nummerierten Spiele zu überspringen, während wir zunächst eine ungerade Zahl (1) abgleichen.
[edit] user@host# wildcard range deactivate policy-options policy-statement p[1-10/2]
-
Zeigen Sie das Ergebnis an. Der Wildcard-Bereich wird erweitert, um die
deactivate
Anweisung jeder anderen übereinstimmenden Anweisung 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 Deaktivierungs-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 wiederhergestellt und der Wildcard-Befehl wird wiederholt, diesmal mit dem Schrittwert 4. Jetzt werden nach jeder ersten Übereinstimmung 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
deactivate
Anweisung 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 { ... }
Verwenden von Wildcard zum Löschen der Richtlinien p1-p10
Schritt-für-Schritt-Verfahren
Löschen Sie die temporären Richtlinien, die zum Testen der Wildcard-Funktion hinzugefügt wurden.
- Verwenden Sie die
delete
Anweisung mit einer Wildcard-Range-Anweisung, um Richtlinien p1 über p10.[edit] user@host# wildcard range delete policy-options policy-statement p[1-10]
-
Zeigen Sie das Ergebnis an. Unsere
policy-options
Strophe enthielt nur Richtlinien p1 durch p10. Dies führt zu einer leerenpolicy-options
Konfigurationshierarchie.[edit] user@host# show policy-options