Schnittstellenbereiche für physische Schnittstellen
Junos OS ermöglicht es Ihnen, einen Bereich identischer Schnittstellen in einem Schnittstellenbereichzu gruppieren. Zunächst legen Sie die Gruppe der identischen Schnittstellen im Schnittstellenbereich fest. Anschließend können Sie eine allgemeine Konfiguration auf den angegebenen Schnittstellenbereich anwenden. Schnittstellenbereiche reduzieren die Anzahl der erforderlichen Konfigurationsanweisungen. Sie sparen Zeit und ergeben eine kompakte Konfiguration.
Bei dieser Aufgabe wird Junos OS für Geräte verwendet, die den Konfigurationsstil Enhanced Layer 2 Software (ELS) nicht unterstützen. Wenn auf Ihrem Gerät eine Version von Junos OS ausgeführt wird, die ELS unterstützt, finden Sie weitere Informationen unter Konfigurieren von Schnittstellenbereichen für Switches der EX-Serie mit ELS. Weitere Informationen zu ELS finden Sie unter Verwenden der erweiterten Layer-2-Software-CLI.
Konfigurieren von Schnittstellenbereichen
Um einen Schnittstellenbereich zu konfigurieren, verwenden Sie die interface-range
Anweisung auf Hierarchieebene [edit interfaces]
. Die interface-range
Anweisung akzeptiert in ihrer Definition nur die Namen physischer Netzwerkschnittstellen. Junos OS unterstützt Schnittstellenbereiche für die folgenden Schnittstellentypen:
-
GELDAUTOMAT:
at-fpc/pic/port
-
Kanalisiert:
(coc | cstm)n-fpc/pic/port
-
DPC:
xe-fpc/pic/port
-
E1/E3:
(e1 | e3)-fpc/pic/port
-
Ethernet:
(xe | ge | fe)-fpc/pic/port
-
ISDN:
isdn-fpc/pic/port
-
Seriell:
se-fpc/pic/port
-
SONET/SDH:
so-fpc/pic/port
-
T1/T3:
(t1 | t3)-fpc/pic/port
So konfigurieren Sie einen Schnittstellenbereich:
-
Verwenden Sie die
interface-range
Anweisung auf der[edit interfaces]
Hierarchieebene. Geben Sie den Namen an, den Sie für Ihren Schnittstellenbereich gewählt haben.[edit] user@device# edit interfaces interface-range range-name
So konfigurieren Sie beispielsweise einen Schnittstellenbereich mit dem Namen "range1":
[edit] user@device# edit interfaces interface-range range1
-
Um einen Elementbereich anzugeben, verwenden Sie die
member-range start-range to end-range
Anweisung auf Hierarchieebene[edit interfaces interface-range range-name]
. Zum Beispiel:[edit interfaces interface-range range1] user@device# set member-range et-1/0/0 to et-4/0/40
- Um ein einzelnes Element anzugeben, verwenden Sie die
member
Anweisung auf Hierarchieebene[edit interfaces interface-range range-name]
. Zum Beispiel:[edit interfaces interface-range range1] user@device# set member et-0/0/0
- Sie können eine Liste von Membern des Schnittstellenbereichs mithilfe regulärer Ausdrücke mit der
member range of interface names
Anweisung angeben. Ein Bereich für eine member-Anweisung kann Folgendes enthalten:-
*
– Alle. Gibt sequenzielle Schnittstellen von 0 bis 47 an.VORSICHT:Der Platzhalter
*
in einer memberanweisung berücksichtigt nicht die Schnittstellennummern, die von einem bestimmten Schnittstellentyp unterstützt werden. Enthält unabhängig vom Schnittstellentyp*
Schnittstellennummern von 0 bis 47 für die Schnittstellengruppe. Verwenden Sie*
daher in einer member-Anweisung mit Vorsicht. -
num
– Zahl. Gibt eine bestimmte Schnittstelle anhand ihrer Nummer an. -
[low-high]
– Zahlen von niedrig nach hoch. Gibt einen Bereich sequenzieller Schnittstellen an. -
[num1, num2, num3]
– Zahlennum1
,num2
undnum3
geben Sie mehrere spezifische Schnittstellen an.
Reguläre Ausdrücke und Platzhalter werden für Präfixe vom Schnittstellentyp nicht unterstützt. Beispielsweise müssen Präfixe
et
undxe
explizit erwähnt werden.Zum Beispiel:
[edit interfaces interface-range range1] user@device# set member et-0/*/* set member et-0/[1-10]/0 set member et-0/[1,2,3]/3
-
Eine interface-range
Definition kann sowohl als auch member-range
member
Anweisungen enthalten. Es gibt keine Begrenzung für die Anzahl von member
oder-Anweisungen member-range
innerhalb einer interface-range
Definition. Mindestens eine member
OR-Anweisung member-range
muss jedoch innerhalb einer interface-range
Definition vorhanden sein.
Eine interface-range
Definition, die nur member
oder-Anweisungen member-range
und keine allgemeine Konfigurationsanweisung enthält, ist gültig. Sie können jedoch optional eine allgemeine Konfigurationsanweisung als Teil der interface-range
Definition zu einem Schnittstellenbereich hinzufügen. Zum Beispiel:
[edit] interfaces { + interface-range range1 { + member-range et-1/0/0 to et-4/0/40; + member et-0/0/0; + member et-0/*/*; + member et-0/[1-10]/0; + member et-0/[1,2,3]/3; /*Common configuration is added as part of interface-range definition*/ mtu 500; ether-options { flow-control; speed { 100m; } 802.3ad primary; } } }
Diese definierten Schnittstellenbereiche können in anderen Konfigurationshierarchien an Stellen verwendet werden, an denen ein interface
Knoten vorhanden ist. Zum Beispiel:
protocols { dot1x { authenticator { interface range1 { retries 1; } } } }
Im vorherigen Beispiel kann der interface
Knoten sowohl einzelne Schnittstellen als auch Schnittstellenbereiche akzeptieren.
Um einen Schnittstellenbereich in erweiterter Konfiguration anzuzeigen, verwenden Sie den (show | display inheritance)
Befehl.
Unterstützte Hierarchien
Standardmäßig kann sie in der CLI, in der die interface
Anweisung verfügbar ist, interface-range
nicht konfiguriert werden. Die folgenden Speicherorte werden unterstützt. Einige der in dieser Liste aufgeführten Hierarchien sind jedoch produktspezifisch:
-
ethernet-switching-options analyzer name input [egress | ingress ] interface
-
ethernet-switching-options analyzer name output interface
-
ethernet-switching-options bpdu-block interface
-
ethernet-switching-options interfaces ethernet-switching-options voip interface
-
ethernet-switching-options redundant-trunk-group group g1 interface
-
ethernet-switching-options secure-access-port interface
-
poe interface vlans pro-bng-mc1-bsd1 interface
-
protocols dot1x authentication interface
-
protocols dvmrp interface
-
protocols esis interface
-
protocols gvrp interface
-
protocols igmp interface
-
protocols igmp-snooping vlan name interface
-
protocols igmp-host client num interface
-
protocols isis interface
-
protocols layer2-control bpdu-block interface
-
protocols layer2-control mac-rewrite interface
-
protocols ldp interface
-
protocols link-management peer control-channel
-
protocols link-management peer lmp-control-channel interface
-
protocols link-management te-link name interface
-
protocols lldp interface
-
protocols lldp-med interface
-
protocols mld interface
-
protocols mld-host client num interface
-
protocols mpls interface
-
protocols mstp interface
-
protocols mstp msti id interface
-
protocols mstp msti vlan id interface
-
protocols oam ethernet link-fault-management interface
-
protocols oam ethernet lmi interface
-
protocols ospf area id interface
-
protocols pim interface
-
protocols rip group name neighbour
-
protocols ripng group name neighbour
-
protocols router-advertisement interface
-
protocols router-discovery interface
-
protocols rstp interface
-
protocols rsvp interface
-
protocols sflow interfaces
-
protocols snmp interface
-
protocols stp interface
-
protocols vstp interface
-
protocols vstp vlan name interface
Erweiterte Anweisungen für den Schnittstellenbereich
Das Betriebssystem erweitert alle member
and-Anweisungen member-range
in einer Schnittstellenbereichsdefinition, um die endgültige Liste der Schnittstellennamen für den angegebenen Schnittstellenbereich zu generieren.
Eine Beispielkonfiguration sieht wie folgt aus, bevor sie erweitert wird:
[edit] interfaces { interface-range range1 { member-range et-0/0/0 to et-4/0/20; member et-10/1/1; member et-5/[0-5]/*; /*Common configuration is added as part of the interface-range definition*/ mtu 256; hold-time up 10; ether-options { flow-control; speed { 100m; } 802.3ad primary; } } }
Für die member-range
Anweisung werden alle möglichen Schnittstellen zwischen start-range
und end-range
bei der Erweiterung der Member berücksichtigt. Zum Beispiel die folgende member-range
Anweisung:
member-range et-0/0/0 to et-4/0/20
erweitert auf:
[et-0/0/0, et-0/0/1 ... et-0/0/max_ports et-0/1/0 et-0/1/1 ... et-0/1/max_ports et-0/2/0 et-0/2/1 ... et-0/2/max_ports . . et-0/MAX_PICS/0 ... et-0/max_pics/max_ports et-1/0/0 et-1/0/1 ... et-1/0/max_ports . et-1/MAX_PICS/0 ... et-1/max_pics/max_ports . . et-4/0/0 et-4/0/1 ... et-4/0/max_ports]
Die folgende member
Aussage:
et-5/[0-5]/*
erweitert auf:
et-5/0/0 ... et-5/0/max_ports et-5/1/0 ... et-5/0/max_ports . . et-5/5/0 ... et-5/5/max_ports
Die folgende member
Aussage:
et-5/1/[2,3,6,10]
erweitert auf:
et-5/1/2 et-5/1/3 et-5/1/6 et-5/1/10
Priorität der Konfigurationsvererbung
Die Schnittstellenbereiche werden in der Reihenfolge der Vererbungspriorität definiert. Die Konfigurationsdaten des ersten Schnittstellenbereichs haben Vorrang vor den nachfolgenden Schnittstellenbereichen.
In diesem Beispiel ist interface et-1/1/1
sowohl im Schnittstellenbereich int-grp-one
als auch im Schnittstellenbereich int-grp-two
vorhanden:
[edit] interfaces { interface-range int-grp-one { member-range et-0/0/0 to et-4/0/47; member et-1/1/1; /*Common config is added part of the interface-range definition*/ mtu 500; hold-time up 10; } interface-range int-grp-two { member-range et-5/0/0 to et-7/0/47; member et-1/1/1; mtu 1024; } }
Die Schnittstelle et-1/1/1
erbt vom Schnittstellenbereich int-grp-one
, mtu 500
da sie zuerst definiert wurde.
Konfigurationsvererbung für Memberschnittstellen
Wenn Junos OS die member
in einem interface-range
vorhandenen and-Anweisungen member-range
erweitert werden, werden Schnittstellenobjekte erstellt, wenn diese nicht explizit in der Konfiguration definiert sind. Das Betriebssystem kopiert die gemeinsame Konfiguration auf alle Mitgliedsschnittstellen des Schnittstellenbereichs.
Die Vordergrundschnittstellenkonfiguration hat Vorrang vor der Konfiguration, die die Schnittstelle von der Schnittstellenbereichskonfiguration erbt.
In diesem Beispiel hat die Schnittstelle et-1/0/1
einen MTU-Wert von 1024, da dies die Vordergrundkonfiguration ist:
interfaces { interface-range range1 { member-range et-1/0/0 to et-7/0/47; mtu 500; } et-1/0/1 { mtu 1024; } }
Sie können dies in der Ausgabe des show interfaces | display inheritance
Befehls überprüfen:
user@host: show interfaces | display inheritance ## ## 'et-1/0/0' was expanded from interface-range 'range1' ## et-1/0/0 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; } et-1/0/1 { mtu 1024; } ## ## 'et-1/0/2' was expanded from interface-range 'range1' ## et-1/0/2 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; } ......... ......... ## ## 'et-10/0/47' was expanded from interface-range 'range1' ## et-10/0/47 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; }
Allgemeine Konfigurationsvererbung
Wenn eine Schnittstelle Mitglied mehrerer Schnittstellenbereiche ist, erbt diese Schnittstelle die gemeinsame Konfiguration aus all diesen Schnittstellenbereichen.
Zum Beispiel:
[edit] interfaces { interface-range int-grp-one { member-range et-0/0/0 to et-4/0/40; mtu 256; } interface-range int-grp-two { member-range et-4/0/0 to et-4/0/40; hold-time up 10; } }
In diesem Beispiel haben Schnittstellen et-4/0/0
durch et-4/0/40
sowohl als auch mtu
hold-time
konfiguriert.
Vererbung von Konfigurationsgruppen
Schnittstellenbereichsmemberschnittstellen erben wie jede andere Vordergrundkonfiguration Konfigurationen von Konfigurationsgruppen. Der einzige Unterschied besteht darin, dass die interface-range
Erweiterung der Mitgliedsschnittstellen durchläuft, bevor das Betriebssystem diese Konfiguration liest.
In diesem Beispiel Junos OS wird die hold-time
Konfiguration auf alle Member des Schnittstellenbereichs range1
angewendet:
groups { global { interfaces { <*> { hold-time up 10; } } } } apply-groups [global]; interfaces { interface-range range1 { member-range et-1/0/0 to et-7/0/47; mtu 500; } }
Sie können dies mit show interfaces | display inheritance
überprüfen, wie folgt:
user@host# show interfaces | display inheritance [...] ## ## 'et-1/0/0' was expanded from interface-range 'range1' ## et-1/0/0 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; ## ## 'hold-time' was inherited from group 'global' ## '10' was inherited from group 'global' ## hold-time up 10; } ## ## 'et-1/0/1' was expanded from interface-range 'range1' ## et-1/0/1 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; ## ## 'hold-time' was inherited from group 'global' ## '10' was inherited from group 'global' ## hold-time up 10; } ## ## 'et-7/0/47' was expanded from interface-range 'range1' ## et-7/0/47 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; ## ## 'hold-time' was inherited from group 'global' ## '10' was inherited from group 'global' ## hold-time up 10; }
Siehe auch
Konfigurationserweiterung bei Verwendung des Schnittstellenbereichs
In diesem Beispiel interface-range range1
wird unter der Hierarchie protocols
verwendet:
[edit] interfaces { interface-range range1 { member et-7/1/1; member et-5/0/1; mtu 500; hold-time up 10; ether-options { flow-control; speed { 100m; } 802.3ad primary; } } protocols { dot1x { authenticator { interface range1 { retries 1; } } } } }
Der interface
unter authenticator
vorhandene Knoten wird wie folgt in Memberschnittstellen des Schnittstellenbereichs range1
erweitert:
protocols { dot1x { authenticator { interface et-7/1/1 { retries 1; } interface et-5/0/1 { retries 1; } } } }
Die interface range-1
Anweisung wird auf zwei Schnittstellen erweitert, et-7/1/1 und et-5/0/1, und das Betriebssystem kopiert die Konfiguration retries 1
unter diesen beiden Schnittstellen.
Sie können diese Konfiguration mit dem show protocols dot1x | display inheritance
Befehl überprüfen.