Grundlegendes zu dynamischen Routing-Richtlinien
Der Überprüfungsprozess, der für die Bestätigung von Konfigurationsänderungen erforderlich ist, kann einen erheblichen Mehr- und Zeitaufwand mit sich bringen. Beispielsweise kann es bis zu 20 Sekunden dauern, bis ein Präfix in einer Zeile einer Routingrichtlinie geändert wird, die 20.000 Zeilen lang ist. Es kann nützlich sein, Routing-Richtlinienänderungen viel schneller bestätigen zu können.
In Junos OS, Version 9.5 und höher, können Sie Routing-Richtlinien und bestimmte Routing-Richtlinienobjekte in einer dynamischen Datenbank konfigurieren, die nicht der gleichen Überprüfung unterliegt, die in der Standardkonfigurationsdatenbank erforderlich ist. Daher ist die Zeit, die zum Bestätigen von Änderungen an der dynamischen Datenbank benötigt wird, viel kürzer als für die Standardkonfigurationsdatenbank. Sie können dann in Routing-Richtlinien, die Sie in der Standarddatenbank konfigurieren, auf diese Richtlinien und Richtlinienobjekte verweisen. BGP ist das einzige Protokoll, auf das Sie Routing-Richtlinien anwenden können, die auf Richtlinien und Richtlinienobjekte verweisen, die in der dynamischen Datenbank konfiguriert sind. Nachdem Sie eine Routingrichtlinie basierend auf den in der dynamischen Datenbank konfigurierten Objekten konfiguriert und festgeschrieben haben, können Sie jede vorhandene Routingrichtlinie schnell aktualisieren, indem Sie Änderungen an der Konfiguration der dynamischen Datenbank vornehmen.
Da das Junos-Betriebssystem Konfigurationsänderungen an der dynamischen Datenbank nicht validiert, sollten Sie bei Verwendung dieser Funktion alle Konfigurationsänderungen testen und verifizieren, bevor Sie sie übernehmen.
Routing-Richtlinien und Richtlinienobjekte in der dynamischen Datenbank konfigurieren
Junos OS Version 9.5 und höher unterstützen eine Konfigurationsdatenbank, die dynamische Datenbank, die ähnlich wie die Standardkonfigurationsdatenbank bearbeitet werden kann, aber nicht demselben Überprüfungsprozess unterliegt, um Konfigurationsänderungen festzuschreiben. Daher ist die Zeit, die zum Ausführen einer Konfigurationsänderung benötigt wird, viel schneller. Die in der dynamischen Datenbank definierten Richtlinien und Richtlinienobjekte können dann in den in der Standardkonfiguration konfigurierten Routing-Richtlinien referenziert werden. Die dynamische Datenbank wird im /var/run/db/juniper.dyn Verzeichnis gespeichert.
Um die dynamische Datenbank zu konfigurieren, geben Sie den configure dynamic
Befehl ein, um den Konfigurationsmodus für die dynamische Datenbank aufzurufen:
user@host> configure dynamic Entering configuration mode [edit dynamic] user@host#
In dieser dynamischen Konfigurationsdatenbank können Sie die folgenden Anweisungen auf Hierarchieebene [edit policy-options]
konfigurieren:
as-path name
as-path-group group-name
community community-name
condition condition-name
prefix-list prefix-list-name
policy-statement policy-statement-name
Auf der [edit dynamic]
Hierarchieebene wird keine andere Konfiguration unterstützt.
Verwenden Sie die policy-statement policy-statement-name
Anweisung, um Routingrichtlinien wie in der Standardkonfigurationsdatenbank zu konfigurieren.
Um den Konfigurationsmodus für die dynamische Datenbank zu beenden, geben Sie den exit configuration-mode
Befehl von einer beliebigen Ebene innerhalb der [edit dynamic]
Hierarchie aus, oder verwenden Sie den exit
Befehl der obersten Ebene.
Konfigurieren von Routingrichtlinien basierend auf der dynamischen Datenbankkonfiguration
Im Standardkonfigurationsmodus können Sie Routing-Richtlinien konfigurieren, die auf Richtlinien und Richtlinienobjekte verweisen, die auf Hierarchieebene [edit dynamic]
in der dynamischen Datenbank konfiguriert sind. Um eine Routing-Richtlinie zu definieren, die auf die dynamische Datenbankkonfiguration verweist, fügen Sie die dynamic-db
Anweisung auf Hierarchieebene [edit policy-options policy-statement policy-statement-name]
ein:
[edit policy-options] policy-statement policy-statement-name { dynamic-db; }
Sie können auch spezifische Richtlinienobjekte basierend auf der Konfiguration dieser Objekte in der dynamischen Datenbank definieren. Um ein Richtlinienobjekt basierend auf der dynamischen Datenbank zu definieren, fügen Sie die dynamic-db
Anweisung mit den folgenden Anweisungen auf Hierarchieebene [edit policy-options]
ein:
as-path name
as-path-group group-name
community community-name
condition condition-name
prefix-list prefix-list-name
In der Standardkonfiguration können Sie auch eine Routing-Richtlinie definieren, die auf ein beliebiges Richtlinienobjekt verweist, das Sie in der Standardkonfiguration konfiguriert haben und das auf ein in der dynamischen Datenbank konfiguriertes Objekt verweist.
Im Standardkonfigurationsmodus konfigurieren Sie z. B. eine Präfixliste prefix-list pl2
, die auf eine Präfixliste verweist, die ebenfalls den Namen prefix-list pl2
hat, und die in der dynamischen Datenbank konfiguriert wurde:
[edit policy-options] prefix-list pl2 { dynamic-db; # Reference a prefix list configured in the dynamic database. }
Anschließend konfigurieren Sie in der Standardkonfiguration eine Routing-Richtlinie, die Folgendes umfasst prefix-list pl2
:
[edit policy-options] policy-statement one { term term1 { from { prefix-list pl2; # Include the prefix list configured in the standard configuration # database, but which references a prefix list configured in the dynamic database. } then accept; } then reject; }
Wenn Sie die Konfiguration von prefix-list pl2
aktualisieren müssen, tun Sie dies in der dynamischen Datenbankkonfiguration über die Hierarchieebene [edit dynamic]
. Auf diese Weise können Sie Änderungen an der Commit-Konfiguration der Präfixliste schneller vornehmen als dies in der Standardkonfigurationsdatenbank möglich ist.
Wenn Sie ein Downgrade von Junos OS auf Junos OS Version 9.4 oder früher durchführen, müssen Sie zuerst alle Routing-Richtlinien löschen, die auf die dynamische Datenbank verweisen. Das heißt, Sie müssen alle Routingrichtlinien oder Richtlinienobjekte löschen, die mit der dynamic-db
Anweisung konfiguriert wurden.
Anwenden dynamischer Routing-Richtlinien auf BGP
BGP ist das einzige Routing-Protokoll, auf das Sie Routing-Richtlinien anwenden können, die auf die dynamische Datenbankkonfiguration verweisen. Sie müssen diese Richtlinien in der Standardkonfiguration anwenden. Dynamische Richtlinien können auf BGP-Export- oder -Importrichtlinien angewendet werden. Sie können auch auf der globalen, Gruppen- oder Nachbarhierarchieebene angewendet werden.
Um eine BGP-Exportrichtlinie anzuwenden, fügen Sie die export [ policy-names ]
Anweisung auf der [edit protocols bgp]
, [edit protocols bgp group group-name]
oder [edit protocols bgp group group-name neighbor address]
Hierarchieebene ein.
[edit] protocols bgp { export [ policy-names ]; } }
Um eine BGP-Importrichtlinie anzuwenden, fügen Sie die import [ policy-names ]
Anweisung auf der , oder [edit protocols bgp group group-name neighbor address]
Hierarchieebene [edit protocols bgp]
[edit protocols bgp group group-name]
ein.
[edit] protocols bgp { import [ policy-names ]; } }
Fügen Sie einen oder mehrere Richtliniennamen ein, die in dieser Standardkonfiguration auf der [edit policy-options policy-statement]
Hierarchieebene konfiguriert sind und auf die in der dynamischen Datenbank konfigurierten Richtlinien verweisen.
Verhindern der Wiederherstellung von BGP-Peering-Sitzungen nach einem Wechsel der NSR-Routing-Engine
Wenn Sie aktives Nonstop-Routing (NSR) aktiviert haben, wird die dynamische Datenbank nicht mit der Backup-Routing-Engine synchronisiert. Wenn also ein Switchover zu einer Backup-Routing-Engine erfolgt, sind Import- und Exportrichtlinien, die zum Zeitpunkt des Switchovers auf der primären Routing-Engine ausgeführt werden, möglicherweise nicht mehr verfügbar. Daher sollten Sie verhindern, dass eine BGP-Peeringsitzung automatisch wiederhergestellt wird, sobald ein Switchover erfolgt.
Sie können den Router so konfigurieren, dass eine BGP-Peering-Sitzung nach einem aktiven Nonstop-Routing-Switchover entweder für einen bestimmten Zeitraum oder bis Sie die Sitzung manuell wiederherstellen. Fügen Sie die idle-after-switch-over (seconds | forever)
Anweisung auf der , oder [edit protocols bgp group group-name neighbor address]
Hierarchieebene [edit protocols bgp]
[edit protocols bgp group group-name]
ein:
[edit] bgp { protocols { idle-after-switch-over (seconds | never); } }
Geben seconds,
Sie für einen Wert zwischen 1 und 4.294.967.295 (232 – 1) an. Die BGP-Peering-Sitzung wird erst nach Ablauf des angegebenen Zeitraums wiederhergestellt. Wenn Sie die forever
Option angeben, wird die BGP-Peering-Sitzung erst eingerichtet, wenn Sie den clear bgp neighbor
Befehl absetzen.