So definieren Sie BGP-Communitys und erweiterte Communities
Um eine BGP-Community oder eine erweiterte Community als Routing-Richtlinien-Übereinstimmungsbedingung zu verwenden, definieren Sie die Community wie in den folgenden Abschnitten beschrieben:
Definieren von BGP-Communitys für die Verwendung in Routing-Richtlinien-Übereinstimmungsbedingungen
Um eine benannte BGP-Community zu erstellen und die Community-Mitglieder zu definieren, fügen Sie die Erklärung ein community
:
[edit policy-options] community name { invert-match; members [ community-ids ]; }
name identifiziert die Community. Er kann Buchstaben, Zahlen und Bindestriche (-) enthalten und kann bis zu 255 Zeichen lang sein. Um Leerzeichen in den Namen einzufügen, schließen Sie den gesamten Namen in Anführungszeichen ("").
community-ids identifiziert ein oder mehrere Mitglieder der Community. Jede Community-ID besteht aus zwei Komponenten, die Sie im folgenden Format angeben:
as-number:community-value;
as-number— AS-Nummer des Community-Mitglieds. Es kann ein Wert von 0 bis 65.535 sein. Sie können die folgende Notation verwenden, um die AS-Nummer anzugeben:
Zeichenkette.
Sternchen (*) – Ein Platzhalterzeichen, das allen AS-Nummern entspricht. (In der Definition des Community-Attributs funktioniert das Sternchen auch wie in Tabelle 1.)
Punkt (.) — Ein Platzhalterzeichen, das einer einzelnen Ziffer in einer AS-Nummer entspricht.
Gruppe von AS-Zahlen: Eine einzelne AS-Nummer oder eine Gruppe von AS-Zahlen, die in Klammern eingeschlossen sind. Wenn Sie die Zahlen auf diese Weise gruppieren, können Sie einen gemeinsamen Vorgang in der Gruppe als Ganzes durchführen und der Gruppe Vorrang geben. Die gruppierten Zahlen können selbst Operatoren für reguläre Ausdrücke enthalten. Weitere Informationen zu regulären Ausdrücken finden Sie unter Verwendung regulärer UNIX-Ausdrücke in Community-Namen.
community-value— Kennung des Community-Mitglieds. Es kann eine Zahl von 0 bis 65.535 sein. Sie können die folgende Notation verwenden, um die Community-ID anzugeben:
Zeichenkette.
Sternchen (*): Ein Platzhalterzeichen, das allen Community-Werten entspricht. (In der Definition des Community-Attributs funktioniert das Sternchen auch wie in Tabelle 1.)
Punkt (.) — Ein Platzhalterzeichen, das einer einzelnen Ziffer in einer Community-Wertnummer entspricht.
Gruppe von Community-Wertzahlen: Eine einzelne Gemeinschaftswertnummer oder eine Gruppe von Community-Wert-Zahlen, die in Klammern eingeschlossen sind. Wenn Sie den regulären Ausdruck auf diese Weise gruppieren, können Sie einen gemeinsamen Vorgang für die Gruppe als Ganzes durchführen und der Gruppe Vorrang geben. Der gruppierte Pfad kann selbst Operatoren für reguläre Ausdrücke enthalten.
Sie können auch einen der folgenden bekannten Community-Namen (definiert in RFC 1997, BGP Communities Attribute) in die Option für die community-idsmembers
Anweisung aufnehmen. Dadurch werden die von Ihnen angegebenen [policy-options policy-statement]
Routen mit dem konfigurierten Namen oder Community-Wert versehen. In einer separaten Konfiguration müssen Sie außerdem einen Filter für die importierten Routen in Ihrer BGP-Importrichtlinie erstellen.
no-advertise: Routen in diesem Community-Namen dürfen nicht an andere BGP-Peers beworben werden.
No-Export: Routen in dieser Community dürfen nicht außerhalb einer BGP-Konföderation ausgeschrieben werden. Ein eigenständiges autonomes System, das nicht Teil einer Konföderation ist, sollte selbst als Konföderation betrachtet werden.
No-Export-Subconfed: Routen in dieser Community dürfen nicht externen BGP-Peers angeboten werden, einschließlich Peers in den ASs anderer Mitglieder innerhalb einer BGP-Konföderation.
Verwendung regulärer UNIX-Ausdrücke in Community-Namen
Wenn Sie die Mitglieder einer benannten BGP-Community (in der members [ community-ids ]
Anweisung) angeben, können Sie reguläre Ausdrücke im UNIX-Stil verwenden, um die AS-Nummer und den Memberbezeichner anzugeben. Ein regulärer Ausdruck besteht aus zwei Komponenten, die Sie im folgenden Format angeben:
term operator;
term identifiziert die Zeichenfolge, die übereinstimmen soll.
operator gibt an, wie der Begriff übereinstimmen muss. Tabelle 1 listet die Operatoren für reguläre Ausdrücke auf, die in Community-IDs unterstützt werden. Sie platzieren einen Operator sofort danach term ohne dazwischenliegendes Leerzeichen, außer den Pipe ( |
) - und Dash -Operatoren (–
), die Sie zwischen zwei Begriffen platzieren, und Klammern, denen Sie Begriffe beifügen. Tabelle 2 Zeigt Beispiele für die Definition community-ids
von regulären Ausdrücken der Community. Der Betreiber ist optional.
Reguläre Community-Ausdrücke sind identisch mit den regulären UNIX-Ausdrücken. Beide implementieren die erweiterten (oder modernen) regulären Ausdrücke, wie in POSIX 1003.2 definiert.
Die regulären Community-Ausdrücke bewerten die angegebene term
Zeichenfolge zeichenweise. Wenn Sie beispielsweise als term
angeben1234:5678
, sehen die regulären Ausdrücke neun separate Zeichen, einschließlich des Doppelpunkts (:
), anstelle von zwei Sätzen von Zahlen (1234
und 5678
) getrennt durch einen Doppelpunkt.
In Junos OS Version 9.1 und höher können Sie 4-Byte-AS-Zahlen wie in RFC 4893, BGP-Unterstützung für Vier-Oktett-AS-Nummernraum sowie die 2-Byte-AS-Nummern angeben, die in früheren Versionen von Junos OS unterstützt werden.
Betreiber |
Übereinstimmungsdefinition |
---|---|
|
Zumindest |
|
Genaue |
|
|
|
Null oder mehr Wiederholungen von |
|
Eine oder mehrere Wiederholungen von |
|
Null oder eine Wiederholung von |
|
Einer der beiden Begriffe auf beiden Seiten der Leitung. |
|
Zwischen start- und enden Bereich, inklusiv. |
|
Charakter am Anfang eines Community-Attributs regulären Ausdrucks. |
|
Charakter am Ende eines Community-Attributs regulären Ausdrucks. |
|
Satz von Zeichen. Ein Zeichen aus dem Set kann übereinstimmen. Um den Anfang und das Ende eines Bereichs anzugeben, verwenden Sie einen Bindestrich ( |
|
Gruppe von Begriffen, die in Klammern eingeschlossen sind. Wenn sie in Anführungszeichen ohne dazwischenliegendes Leerzeichen (" |
|
Zeichen (z. B. Leerzeichen, Tabulatoren, Fragezeichen und Klammern), die in Anführungszeichen eines Community-Attributs eingeschlossen sind, geben Sonderzeichen an. |
Community-Attribut zur Übereinstimmung |
Regulärer Ausdruck |
Beispiel-Übereinstimmungen |
---|---|---|
DIE AS-Nummer ist 56 oder 78. Der Wert der Gemeinschaft ist jede Zahl. |
^((56) | (78)):(.*)$ |
56:1000 78:64500 |
AS-Nummer ist 56. Der Wert der Community ist jede Zahl, die mit 2 beginnt. |
^56:(2.*)$ |
56:2 56:222 56:234 |
AS-Nummer ist eine beliebige Zahl. Der Gemeinschaftswert ist jede Zahl, die mit 5, 7 oder 9 endet. |
^(.*):(.*[579])$ |
1234:5 78:2357 34:64509 |
DIE AS-Nummer ist 56 oder 78. Der Gemeinschaftswert ist eine beliebige Zahl, die mit 2 beginnt und mit 2 bis 8 endet. |
^(56) | (78)):( 2.*[2–8]$ |
56:22 56:21197 78:2678 |
Definieren von erweiterten BGP-Communitys für die Verwendung in Routing-Richtlinien-Übereinstimmungsbedingungen
Um eine benannte BGP-Community zu erstellen und die Community-Mitglieder zu definieren, fügen Sie die Erklärung ein community
:
[edit policy-options] community name { members [ community-ids ]; }
name
identifiziert die Community. Er kann Buchstaben, Zahlen und Bindestriche (-) enthalten und kann bis zu 255 Zeichen lang sein. Um Leerzeichen in den Namen einzufügen, schließen Sie den gesamten Namen in Anführungszeichen ("").
community-ids
identifiziert ein oder mehrere Mitglieder der Community. Jede Community-ID besteht aus drei Komponenten, die Sie im folgenden Format angeben:
type:administrator:assigned-number
type
ist die Art der erweiterten Community und kann entweder der 16-Bit-numerische Bezeichner einer bestimmten erweiterten BGP-Community oder einer der folgenden Typen sein:
bandwidth
– Richtet die erweiterte Bandbreiten-Community ein. Die Angabe der Verbindungsbandbreite ermöglicht eine ungleiche Verteilung des Datenverkehrs auf verschiedene BGP-Pfade.HINWEIS:Das Link-Bandbreite-Attribut funktioniert nicht gleichzeitig mit Load Balancing pro Präfix.
domain-id
– Identifiziert die OSPF-Domäne, von der die Route stammt.origin
– Identifiziert den Ursprung der Route.rt-import
– Identifiziert die Route, die in der Routing-Tabelle installiert werden soll.HINWEIS:Sie müssen die Route anhand einer IP-Adresse und nicht anhand einer AS-Nummer identifizieren.
src-as
– Identifiziert den AS, von dem die Route stammt. Sie müssen eine AS-Nummer und keine IP-Adresse angeben.HINWEIS:Sie müssen den AS anhand einer AS-Nummer und nicht anhand einer IP-Adresse identifizieren.
target
– Identifiziert das Ziel, zu dem die Route führt.HINWEIS:Für eine Importrichtlinie für eine VPN-Routing- und Weiterleitungsinstanz (VRF) müssen Sie mindestens ein Routenziel enthalten. Darüber hinaus können Sie im Routenziel keine Wildcard-Zeichen oder reguläre Ausdrücke für eine VRF-Importrichtlinie verwenden. Jeder Wert, den Sie für ein Routenziel für eine VRF-Importrichtlinie konfigurieren, muss ein einzelner Wert sein.
administrator
ist der Administrator. Es ist entweder eine AS-Nummer oder ein IP-Version 4 (IPv4)-Adresspräfix, je nach Art der erweiterten Community.
assigned-number
identifiziert den lokalen Anbieter.
In Junos OS Version 9.1 und höher können Sie 4-Byte-AS-Zahlen wie in RFC 4893, BGP-Unterstützung für Vier-Oktett-AS-Nummernraum sowie die 2-Byte-AS-Nummern angeben, die in früheren Versionen von Junos OS unterstützt werden. Im Format "Plain-Number" können Sie einen Wert im Bereich von 1 bis 4.294.967.295 konfigurieren. Um eine oder origin
eine target
erweiterte Community zu konfigurieren, die eine 4-Byte-AS-Nummer im Plain-Number-Format enthält, hängen Sie den Buchstaben "L" an das Ende der Zahl an. So wird beispielsweise eine Zielgemeinschaft mit der 4-Byte-AS-Nummer 334.324 und einer zugewiesenen Zahl von 132 als target:334324L:132
dargestellt.
In Junos OS Version 9.2 und höher können Sie auch as-dot-Notation verwenden, wenn Sie eine 4-Byte-AS-Nummer für die target
und origin
erweiterte Communitys definieren. Geben Sie zwei ganze Zahlen an, die durch einen Punkt verbunden sind: 16-bit high-order value in decimal.16-bit low-order value in decimal. Beispielsweise wird die 4-Byte-AS-Nummer, die im Plain-Number-Format als 65546 dargestellt wird, in der AS-Punkt-Notation als 1.10 dargestellt.
Beispiele: Definition erweiterter BGP-Communities
Konfigurieren Sie eine Ziel-Community mit einem Administrativen Feld von 10458
und einer zugewiesenen Anzahl von 20
:
[edit policy-options] community test-a members [ target:10458:20 ];
Konfigurieren Sie eine Zielgemeinschaft mit einem Administrativen Feld von 10.1.1.1 und einer zugewiesenen Nummer von 20:
[edit policy-options] community test-a members [ target:10.1.1.1:20 ];
Konfigurieren Sie eine Ursprungsgemeinschaft mit einem administrativen Feld von 10.1.1.1 und einer zugewiesenen Nummer von 20:
[edit policy-options] community test-a members [ origin:10.1.1.1:20 ];
Konfigurieren Sie eine Zielgemeinschaft mit einer 4-Byte-AS-Nummer im Administrativen Feld von 100000 und einer zugewiesenen Nummer von 130:
[edit policy-options] community test-b members [ target:100000L:130 ];