Einleitung
Die Routenfilterung ist die Grundlage, auf der Border Gateway Protocol (BGP)-Richtlinien festgelegt werden. Es gibt mehrere Möglichkeiten, ein oder mehrere Netzwerke von einem BGP-Peer zu filtern, z. B. Network Layer Reachability Information (NLRI), AS_Path und Community-Attribute. In diesem Dokument wird nur die Filterung nach NLRI behandelt. Weitere Informationen zum Filtern nach AS_Path finden Sie unter Using Regular Expressions in BGP. Weitere Informationen finden Sie im Abschnitt zur BGP-Filterung der BGP-Anwenderberichte.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse der grundlegenden BGP-Konfiguration verfügen. Weitere Informationen finden Sie in den BGP-Fallstudien und unter Konfigurieren des BGP.
Verwendete Komponenten
Die Informationen in diesem Dokument beziehen sich auf Version 12.2(28) der Cisco IOS® Software.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Identifizieren und Filtern von Routen basierend auf NLRI
Um Routing-Informationen einzuschränken, die der Router erfährt oder ankündigt, können Sie Filter verwenden, die auf Routing-Updates basieren. Die Filter bestehen aus einer Zugriffsliste oder einer Präfixliste, die auf Aktualisierungen von Nachbarn und Nachbarn angewendet wird. In diesem Dokument werden die folgenden Optionen mit diesem Netzwerkdiagramm untersucht:
Netzwerkdiagramm
Filtern mithilfe der Verteilerliste mit einer Standard-Zugriffsliste
Router 200 kündigt dem Peer-Router 100 die folgenden Netzwerke an:
- 192.168.10.0/24
- 10.10.10.0/24
- 10.10.0.0/19
Mit dieser Beispielkonfiguration kann der Router 100 ein Update für das Netzwerk 10.10.10.0/24 ablehnen und die Updates der Netzwerke 192.168.10.0/24 und 10.10.0.0/19 in der BGP-Tabelle zulassen:
Router 100 |
hostname Router 100
!
router bgp 100
neighbor 172.16.1.2 remote-as 200
neighbor 172.16.1.2 distribute-list 1 in
!
access-list 1 deny 10.10.10.0 0.0.0.255
access-list 1 permit any |
Router 200 |
hostname Router 200
!
router bgp 200
no synchronization
network 192.168.10.0
network 10.10.10.0 mask 255.255.255.0
network 10.10.0.0 mask 255.255.224.0
no auto-summary
neighbor 172.16.1.1 remote-as 100 |
Mit der Ausgabe des Befehls show ip bgp werden die Aktionen von Router 100 bestätigt:
Router 100# show ip bgp
BGP table version is 3, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 10.10.0.0/19 172.16.1.2 0 0 200 i
*> 192.168.10.0/24 172.16.1.2 0 0 200 i
Filtern mithilfe der Verteilerliste mit einer erweiterten Zugriffsliste
Die Verwendung einer Standardzugriffsliste zum Filtern von Supernets kann kompliziert sein. Annehmen, dass Router 200 folgende Netzwerke ankündigt:
- 10.10.1.0/24 bis 10.10.31.0/24
- 10.10.0.0/19 (aggregiert)
Router 100 möchte nur das zusammengefasste Netzwerk 10.10.0.0/19 empfangen und alle spezifischen Netzwerke herausfiltern.
Eine Standard-Zugriffsliste wie Zugriffsliste 1 permit 10.10.0.0 0.0.31.255 funktioniert nicht, da sie mehr Netzwerke zulässt als gewünscht. Die Standard-Zugriffsliste betrachtet nur die Netzwerkadresse und kann die Länge der Netzwerkmaske nicht überprüfen. Diese Standard-Zugriffsliste lässt das /19-Aggregat sowie die spezifischeren /24-Netzwerke zu.
Um nur das Supernet 10.10.0.0/19 zuzulassen, verwenden Sie eine erweiterte Zugriffsliste, z. B. access-list 101 permit ip 10.10.0.0 0.0.0.0.0 255.255.224.0 0.0.0.0. Informationen zum Format der Zugriffsliste (IP extended) erweiterter Befehl access-list.
In unserem Beispiel ist die Quelle 10.10.0.0, und der Platzhalter "source-wildcard" von 0.0.0.0 ist für eine exakte Übereinstimmung der Quelle konfiguriert. Die Maske 255.255.224.0 und der Platzhalter "mask-wildcard" 0.0.0.0 sind für eine exakte Übereinstimmung der Quellmaske konfiguriert. Wenn eine der Adressen (Quelle oder Maske) nicht exakt übereinstimmt, wird sie von der Zugriffsliste abgelehnt.
Dadurch ermöglicht der erweiterte Zugriffslistenbefehl eine exakte Übereinstimmung der Quellnetzwerknummer 10.10.0.0 mit der Maske 255.255.224.0 (und somit 10.10.0.0/19). Die anderen spezifischeren /24-Netzwerke werden herausgefiltert.
Anmerkung: Bei der Konfiguration von Platzhaltern bedeutet 0, dass es sich um ein exaktes Match-Bit und 1 um ein Do-Not-Bit handelt.
Dies ist die Konfiguration auf Router 100:
Router 100 |
hostname Router 100
!
router bgp 100
!--- Output suppressed.
neighbor 172.16.1.2 remote-as 200
neighbor 172.17.1.2 distribute-list 101 in
!
!
access-list 101 permit ip 10.10.0.0 0.0.0.0 255.255.224.0 0.0.0.0 |
Die Ausgabe des Befehls show ip bgp von Router 100 bestätigt, dass die Zugriffsliste wie erwartet funktioniert.
Router 100# show ip bgp
BGP table version is 2, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 10.10.0.0/19 172.16.1.2 0 0 200 i
Wie in diesem Abschnitt zu sehen ist, sind erweiterte Zugriffslisten praktischer, wenn einige Netzwerke im gleichen Hauptnetzwerk zugelassen und einige nicht zugelassen werden müssen. Diese Beispiele geben Aufschluss darüber, wie eine erweiterte Zugriffsliste in einigen Situationen hilfreich sein kann:
- access-list 101 permit ip 192.168.0.0 0.0.0.0 255.255.252.0 0.0.0
Diese Zugriffsliste lässt nur das Supernet 192.168.0.0/22 zu.
- access-list 102 permit ip 192.168.10.0 0.0.0.255 255.255.255.0 0.0.0.255
Diese Zugriffsliste lässt alle Subnetze von 192.168.10.0/24 zu, d. h. 192.168.10.0/24, 192.168.10.0/25, 192.168.10.128/25 usw.: jedes der Netzwerke 192.168.10.x mit einer Maske zwischen 24 und 32.
- access-list 103 permit ip 0.0.0.0 255.255.255.255.255.255.255.0 0.0.0.255
Diese Zugriffsliste lässt jedes Netzwerkpräfix mit einer Maske zwischen 24 und 32 zu.
Filtern mit dem Befehl ip prefix-list
Router 200 kündigt dem Peer-Router 100 die folgenden Netzwerke an:
- 192.168.10.0/24
- 10.10.10.0/24
- 10.10.0.0/19
In den Beispielkonfigurationen in diesem Abschnitt wird der Befehl ip prefix-list verwendet, mit dem Router 100 zwei Aufgaben ausführen kann:
- Updates für alle Netzwerke mit einer Präfixmaskenlänge kleiner/gleich 19 zulassen.
- Alle Netzwerkaktualisierungen mit einer Netzwerkmaskenlänge von mehr als 19 verweigern.
Router 100 |
hostname Router 100
!
router bgp 100
neighbor 172.16.1.2 remote-as 200
neighbor 172.16.1.2 prefix-list cisco in
!
ip prefix-list cisco seq 10 permit 0.0.0.0/0 le 19 |
Router 200 |
hostname Router 200
!
router bgp 200
no synchronization
network 192.168.10.0
network 10.10.10.0 mask 255.255.255.0
network 10.10.0.0 mask 255.255.224.0
no auto-summary
neighbor 172.16.1.1 remote-as 100 |
Die Ausgabe des Befehls show ip bgp bestätigt, dass die Präfixliste auf Router 100 wie erwartet funktioniert.
Router 100# show ip bgp
BGP table version is 2, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 10.10.0.0/19 172.16.1.2 0 0 200 i
Zusammenfassend lässt sich sagen, dass die Verwendung von Präfixlisten die bequemste Möglichkeit darstellt, Netzwerke im BGP zu filtern. In einigen Fällen - z.B. wenn Sie ungerade und gerade Netzwerke filtern und gleichzeitig die Maskenlänge kontrollieren möchten - bieten erweiterte Zugriffslisten mehr Flexibilität und Kontrolle als Präfixlisten.
Filtern von Standardrouten von BGP-Peers
Mit dem Befehl prefix-list können Sie eine Standardroute filtern oder blockieren, z. B. 0.0.0.0/32, die vom BGP-Peer angekündigt wird. Sie können den Eintrag 0.0.0.0 anzeigen, der mit dem Befehl show ip bgp verfügbar ist.
Router 100#show ip bgp
BGP table version is 5, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 0.0.0.0 172.16.1.2 0 0 200 i
Die Beispielkonfiguration in diesem Abschnitt wird auf Router 100 mit dem Befehl ip prefix-list ausgeführt.
Router 100 |
hostname Router 100
!
router bgp 100
neighbor 172.16.1.2 remote-as 200
neighbor 172.16.1.2 prefix-list deny-route in
!
ip prefix-list deny-route seq 5 deny 0.0.0.0/0
ip prefix-list deny-route seq 10 permit 0.0.0.0/0 le 32
|
Wenn Sie show ip bgp nach dieser Konfiguration ausführen, wird der Eintrag 0.0.0.0 nicht angezeigt, der in der vorherigen Ausgabe von show ip bgp verfügbar war.
Zugehörige Informationen