In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument werden Beispielkonfigurationen für häufig verwendete IP-Zugriffskontrolllisten (ACLs) beschrieben, die IP-Pakete filtern.
Stellen Sie sicher, dass Sie die folgende Anforderung erfüllen, bevor Sie diese Konfiguration ausprobieren:
Grundlegendes Verständnis der IP-Adressierung.
Weitere Informationen finden Sie unter IP Addressing and Subnetting for New Users.
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
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.
IP-Zugriffskontrolllisten filtern Pakete basierend auf:
Um den Netzwerkverkehr zu filtern, steuern ACLs, ob geroutete Pakete an der Router-Schnittstelle weitergeleitet oder blockiert werden. Ihr Router untersucht jedes Paket, um anhand der Kriterien, die Sie innerhalb der ACL angeben, zu bestimmen, ob das Paket weitergeleitet oder verworfen werden soll. Zu den ACL-Kriterien gehören:
Gehen Sie folgendermaßen vor, um eine ACL zu erstellen, wie die Beispiele in diesem Dokument zeigen:
Die IP-ACL ist eine sequenzielle Sammlung von Zulassungs- und Verweigerungsbedingungen, die für ein IP-Paket gelten. Der Router testet die Pakete einzeln anhand der Bedingungen in der ACL.
Die erste Übereinstimmung bestimmt, ob die Cisco IOS®-Software das Paket akzeptiert oder ablehnt. Da die Cisco IOS-Software den Zustandstest nach der ersten Übereinstimmung beendet, ist die Reihenfolge der Bedingungen entscheidend. Wenn keine Bedingungen zutreffen, lehnt der Router das Paket aufgrund einer impliziten „deny all“-Klausel (Alle ablehnen) ab.
In der Cisco IOS-Software können beispielsweise folgende IP-ACLs konfiguriert werden:
Dieses Dokument behandelt einige häufig verwendete Standard- und erweiterte ACLs. Unter Configuring IP Access Lists finden Sie weitere Informationen zu den verschiedenen Arten von ACLs, die von der Cisco IOS-Software unterstützt werden, sowie zum Konfigurieren und Bearbeiten von ACLs.
Das Befehlssyntaxformat einer Standard-ACL lautet access-list access-list-number {permit|deny} {host|source-wildcard|any}.
Standard-ACLs steuern den Datenverkehr durch Abgleich der Quelladresse von IP-Paketen mit den in der ACL konfigurierten Adressen.
Erweiterte ACLs steuern den Datenverkehr durch Abgleich der Quelladresse und der Zieladresse von IP-Paketen mit den in der ACL konfigurierten Adressen. Sie können erweiterte ACLs auch granularer gestalten und so konfigurieren, dass der Datenverkehr nach folgenden Kriterien gefiltert wird:
Die Befehlssyntaxformate der erweiterten ACLs sind
IP
access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} protocol source source-wildcard destination destination-wildcard [precedence precedence] [tos tos] [log | log-input]
[time-range time-range-name][fragments]
Internet Control Message Protocol (ICMP)
access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} icmp source source-wildcard destination destination-wildcard
[[icmp-type] [icmp-code] | [icmp-message]] [precedence precedence] [tos tos] [log | log-input]
[time-range time-range-name][fragments]
Transmission Control Protocol (TCP)
access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} tcp source source-wildcard [operator [port]] destination destination-wildcard [operator [port]]
[established] [precedence precedence] [tos tos] [log | log-input]
[time-range time-range-name][fragments]
User Datagram Protocol (UDP)
access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} udp source source-wildcard [operator [port]] destination destination-wildcard [operator [port]]
[precedence precedence] [tos tos] [log | log-input] [time-range time-range-name][fragments]
Diese Konfigurationsbeispiele verwenden die gängigsten IP-ACLs.
Dieses Bild zeigt, dass einem ausgewählten Host die Berechtigung für den Zugriff auf das Netzwerk erteilt wird. Der gesamte Datenverkehr von Host B an NetA ist zulässig, und sämtlicher anderer Datenverkehr von NetB an NetA wird abgelehnt.
Die Ausgabe in Tabelle R1 zeigt, wie das Netzwerk dem Host Zugriff gewährt. Diese Ausgabe zeigt Folgendes:
Die Konfiguration lässt nur den Host mit der IP-Adresse 192.168.10.1 über die Ethernet 0-Schnittstelle auf R1 zu.
Dieser Host hat Zugriff auf die IP-Services von NetA.
Kein anderer Host in NetB hat Zugriff auf NetA.
In der ACL ist keine Deny-Anweisung konfiguriert.
Standardmäßig befindet sich am Ende jeder ACL eine implizite „deny all“-Klausel. Alles, was nicht ausdrücklich erlaubt ist, wird verweigert.
R1
hostname R1 ! interface ethernet0 ip access-group 1 in ! access-list 1 permit host 192.168.10.1
Hinweis: Die ACL filtert IP-Pakete von NetB nach NetA, mit Ausnahme von Paketen, die von Host B stammen. Pakete, die von Host B nach NetA stammen, sind weiterhin zulässig.
Hinweis: Die ACL-Zugriffsliste 1 permit 192.168.10.1 0.0.0.0 ist eine weitere Möglichkeit, dieselbe Regel zu konfigurieren.
Dieses Bild zeigt, dass Datenverkehr, der von Host B an NetA geleitet wird, abgelehnt wird, während der gesamte andere Datenverkehr vom NetB, der auf NetA zugreift, zugelassen wird.
Diese Konfiguration lehnt alle Pakete vom Host 192.168.10.1/32 über Ethernet 0 auf R1 ab und erlaubt alles andere. Sie müssen den Befehl access list 1 permit any verwenden, um alles andere explizit zuzulassen, da jede ACL eine implizite „deny all“-Klausel enthält.
R1
hostname R1 ! interface ethernet0 ip access-group 1 in ! access-list 1 deny host 192.168.10.1 access-list 1 permit any
Hinweis: Die Reihenfolge der Anweisungen ist für den Betrieb einer Zugriffskontrollliste entscheidend. Wenn die Reihenfolge der Einträge umgekehrt ist, wie dieser Befehl zeigt, stimmt die erste Zeile mit jeder Paket-Quelladresse überein. Daher blockiert die ACL den Zugriff von Host 192.168.10.1/32 auf NetA nicht.
access-list 1 permit any access-list 1 deny host 192.168.10.1
Dieses Bild zeigt, dass alle Hosts im NetB mit der Netzwerkadresse 192.168.10.0/24 auf das Netzwerk 192.168.200.0/24 im NetA zugreifen können.
Diese Konfiguration ermöglicht den IP-Paketen mit einem IP-Header, dessen Quelladresse sich im Netzwerk 192.168.10.0/24 und dessen Zieladresse sich im Netzwerk 192.168.200.0/24 befindet, Zugriff auf NetA. Am Ende der ACL befindet sich die implizite „deny all“-Klausel, die jeglichen anderen Datenverkehr über eingehendes Ethernet 0 auf R1 verbietet.
R1
hostname R1 ! interface ethernet0 ip access-group 101 in ! access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.200.0 0.0.0.255
Hinweis: Im Befehl access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.200.0 0.0.255 ist 0.0.0.255 der Wert in Versmaske des Netzwerks 192.168.10.0 mit Maske 255.255.255.0. ACLs verwenden die umgekehrte Maske, um zu wissen, wie viele Bits in der Netzwerkadresse übereinstimmen müssen. In der Tabelle erlaubt die ACL alle Hosts mit Quelladressen im Netzwerk 192.168.10.0/24 und Zieladressen im Netzwerk 192.168.200.0/24.
Weitere Informationen zur Maske einer Netzwerkadresse und zur Berechnung der für ACLs erforderlichen umgekehrten Maske finden Sie im Abschnitt Masks (Masken) in Configuring IP Access Lists.
Um höhere Sicherheitsbedenken auszuräumen, können Sie den Telnet-Zugriff auf Ihr privates Netzwerk über das öffentliche Netzwerk deaktivieren. Dieses Bild zeigt, wie Telnet-Datenverkehr von NetB (öffentlich), der an NetA (privat) gerichtet ist, abgelehnt wird. So kann NetA eine Telnet-Sitzung mit NetB initiieren und einrichten, während der gesamte andere IP-Datenverkehr zulässig ist.
Telnet verwendet TCP, Port 23. Diese Konfiguration zeigt, dass sämtlicher TCP-Datenverkehr, der an Port 23 von NetA gerichtet ist, blockiert wird und sämtlicher anderer IP-Datenverkehr erlaubt ist.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 deny tcp any any eq 23 access-list 102 permit ip any any
Diese Abbildung zeigt, dass TCP-Datenverkehr von NetA an NetB erlaubt ist, während TCP-Datenverkehr von NetB an NetA abgelehnt wird.
Der Zweck der ACL in diesem Beispiel ist:
Hosts in NetA zu erlauben, eine TCP-Sitzung mit Hosts in NetB zu initiieren und einzurichten.
Hosts in NetB zu verweigern, eine TCP-Sitzung mit Hosts in NetA zu initiieren und einzurichten.
Diese Konfiguration ermöglicht es einem Datagramm, die eingehende Schnittstelle Ethernet 0 auf R1 zu passieren, wenn:
Aktivierte (ACK) oder zurückgesetzte (RST) Bits festgelegt (zeigt eine hergestellte TCP-Sitzung an)
Sein Zielport-Wert größer als 1023 ist
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit tcp any any gt 1023 established
Da die meisten bekannten Ports für IP-Services Werte kleiner als 1023 verwenden, wird jedes Datagramm mit einem Zielport kleiner als 1023 oder einem nicht gesetzten ACK- / RST-Bit von ACL 102 abgelehnt. Wenn daher ein Host von NetB eine TCP-Verbindung initiiert und das erste TCP-Paket (ohne SYN/RST-Bit-Set für das Synchronize/Start-Paket) für eine Portnummer unter 1023 sendet, wird es abgelehnt, und die TCP-Sitzung schlägt fehl. Die TCP-Sitzungen, die von NetA initiiert wurden und an NetB gerichtet sind, sind zulässig, da ihre ACK / RST-Bits für die Rücksendung von Paketen gesetzt sind und Port-Werte größer als 1023 verwendet werden.
Eine vollständige Liste der Ports finden Sie unter RFC 1700.
Dieses Bild zeigt, dass FTP- (TCP, Port 21) und FTP-Datenverkehr (Port 20), der vom NetB an NetA gesendet wird, abgelehnt wird, während der gesamte andere IP-Datenverkehr zulässig ist.
FTP verwendet Port 21 und Port 20. TCP-Datenverkehr an Port 21 und Port 20 wird abgelehnt und alles andere wird explizit erlaubt.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 deny tcp any any eq ftp access-list 102 deny tcp any any eq ftp-data access-list 102 permit ip any any
FTP kann in zwei verschiedenen Modi betrieben werden: aktiv und passiv.
Wenn FTP im aktiven Modus ausgeführt wird, verwendet der FTP-Server Port 21 für die Steuerung und Port 20 für Daten. Der FTP-Server (192.168.1.100) befindet sich in NetA. Dieses Bild zeigt, dass der FTP- (TCP, Port 21) und FTP-Datenverkehr (Port 20), der vom NetB an den FTP-Server (192.168.1.100) gesendet wird, zulässig ist, während der gesamte andere IP-Datenverkehr abgelehnt wird.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit tcp any host 192.168.1.100 eq ftp access-list 102 permit tcp any host 192.168.1.100 eq ftp-data established ! interface ethernet1 ip access-group 110 in ! access-list 110 permit host 192.168.1.100 eq ftp any established access-list 110 permit host 192.168.1.100 eq ftp-data any
FTP kann in zwei verschiedenen Modi betrieben werden: aktiv und passiv.
Wenn FTP im passiven Modus ausgeführt wird, verwendet der FTP-Server Port 21 für die Steuerung und die dynamischen Ports größer oder gleich 1024 für Daten. Der FTP-Server (192.168.1.100) befindet sich in NetA. Dieses Bild zeigt, dass FTP- (TCP, Port 21) und FTP-Datenverkehr (Ports größer oder gleich 1024) vom NetB an den FTP-Server (192.168.1.100) gesendet zulässig ist, während der gesamte andere IP-Datenverkehr abgelehnt wird.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit tcp any host 192.168.1.100 eq ftp access-list 102 permit tcp any host 192.168.1.100 gt 1023 ! interface ethernet1 ip access-group 110 in ! access-list 110 permit host 192.168.1.100 eq ftp any established access-list 110 permit host 192.168.1.100 gt 1023 any established
Dieses Bild zeigt, dass ICMP, das von NetA an NetB gesendet wird, zulässig ist, und dass Pings, die von NetB an NetA gesendet werden, abgelehnt werden.
Diese Konfiguration erlaubt nur Echo-Reply (Ping-Antwort)-Pakete auf der Schnittstelle Ethernet 0 von NetB zu NetA. Die Konfiguration blockiert jedoch alle ICMP-Pakete mit Echo-Anforderung, wenn Pings von NetB an NetA gesendet werden. Daher können Hosts in NetA Hosts in NetB anpingen, aber Hosts in NetB können keine Hosts in NetA anpingen.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit icmp any any echo-reply
Dieses Bild zeigt, dass nur HTTP-, Telnet-, SMTP- (Simple Mail Transfer Protocol), POP3- und FTP-Datenverkehr zulässig ist und der restliche Datenverkehr, der vom NetB an NetA gesendet wird, abgelehnt wird.
Diese Konfiguration ermöglicht TCP-Datenverkehr mit Zielportwerten, die mit WWW (Port 80), Telnet (Port 23), SMTP (Port 25), POP3 (Port 110), FTP (Port 21) oder FTP-Daten (Port 20) übereinstimmen. Beachten Sie, dass eine implizite „deny all“-Klausel am Ende einer ACL sämtlichen anderen Datenverkehr ablehnt, der nicht mit den „permit“-Klauseln übereinstimmt.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit tcp any any eq www access-list 102 permit tcp any any eq telnet access-list 102 permit tcp any any eq smtp access-list 102 permit tcp any any eq pop3 access-list 102 permit tcp any any eq 21 access-list 102 permit tcp any any eq 20
Dieses Bild zeigt, dass nur DNS-Datenverkehr (Domain Name System) zulässig ist und der restliche Datenverkehr, der vom NetB an NetA geleitet wird, abgelehnt wird.
Diese Konfiguration ermöglicht TCP-Datenverkehr mit Zielportwert 53. Die implizite „deny all“-Klausel am Ende einer ACL verweigert allen anderen Datenverkehr, der nicht mit den „permit“-Klauseln übereinstimmt.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit udp any any eq domain access-list 102 permit udp any eq domain any access-list 102 permit tcp any any eq domain access-list 102 permit tcp any eq domain any
Wenn Sie eine ACL für eingehende Datenverkehr auf eine Schnittstelle anwenden, stellen Sie sicher, dass Routing-Updates nicht herausgefiltert werden. Verwenden Sie die entsprechende ACL aus dieser Liste, um Routing-Protokoll-Pakete zuzulassen:
Geben Sie den folgenden Befehl ein, um Routing Information Protocol (RIP) zuzulassen:
access-list 102 permit udp any any eq rip
Geben Sie den folgenden Befehl ein, um das Interior Gateway Routing Protocol (IGRP) zuzulassen:
access-list 102 permit igrp any any
Geben Sie den folgenden Befehl ein, um Enhanced IGRP (EIGRP) zuzulassen:
access-list 102 permit eigrp any any
Geben Sie den folgenden Befehl ein, um Open Shortest Path First (OSPF) zuzulassen:
access-list 102 permit ospf any any
Geben Sie diesen Befehl ein, um Border Gateway Protocol (BGP) zuzulassen:
access-list 102 permit tcp any any eq 179 access-list 102 permit tcp any eq 179 any
Die Verwendung von debug-Befehlen erfordert die Zuweisung von Systemressourcen wie Arbeitsspeicher und Rechenleistung und kann in extremen Situationen dazu führen, dass ein stark ausgelastetes System zum Erliegen kommt. Verwenden Sie Debug-Befehle mit Bedacht. Verwenden Sie eine ACL, um den zu untersuchenden Datenverkehr selektiv zu definieren, um die Auswirkungen des debug-Befehls zu reduzieren. Eine solche Konfiguration filtert keine Pakete.
Diese Konfiguration aktiviert den Befehl debug ip packet nur für Pakete zwischen den Hosts 10.1.1.1 und 172.16.1.1.
R1(config)#access-list 199 permit tcp host 10.1.1.1 host 172.16.1.1 R1(config)#access-list 199 permit tcp host 172.16.1.1 host 10.1.1.1 R1(config)#end
R1#debug ip packet 199 detail IP packet debugging is on (detailed) for access list 199
Weitere Informationen zu den Auswirkungen von Debug-Befehlen finden Sie unter Important Information on Debug Commands.
Weitere Informationen zur Verwendung von ACLs mit debug-Befehlen finden Sie unter Understanding the Ping and Traceroute Commands im Abschnitt Use the Debug Command.
Sie können Frames mit einer bestimmten Quell- oder Zieladresse auf der MAC-Schicht filtern. Es kann eine beliebige Anzahl von Adressen im System ohne Leistungseinbußen konfiguriert werden. Um nach MAC-Adresse zu filtern, verwenden Sie im globalen Konfigurationsmodus den folgenden Befehl:
Router#config terminal Router(config)#bridge irbRouter(config)#
bridge 1 protocol ieeeRouter(config)#
bridge 1 route ip
Wenden Sie das Bridge-Protokoll auf eine Schnittstelle an, die Sie zusammen mit der mit dem Befehl bridge-group <Gruppennummer> {input-address-list <ACL-Nummer> erstellten Zugriffsliste filtern müssen. | output-address-list <ACL-Nummer>}:
Router#config terminalRouter(config-if)#
interface fastEthernet0/0Router(config-if)#
no ip addressRouter(config-if)#
bridge-group 1 input-address-list 700Router(config-if)#
exit
Erstellen Sie eine virtuelle Bridge-Schnittstelle, und wenden Sie die der physischen Ethernet-Schnittstelle zugewiesene IP-Adresse an:
Router#config terminalRouter(config-if)#
int bvi1Router(config-if)#
ip address 192.168.1.1 255.255.255.0Router(config-if)#
exitRouter(config)#
access-list 700 deny aaaa.bbbb.cccc 0000.0000.0000Router(config)#
access-list 700 permit 0000.0000.0000 ffff.ffff.ffff
Bei dieser Konfiguration lässt der Router nur die MAC-Adressen zu, die auf der Zugriffsliste „access-list 700“ konfiguriert sind. Verweigern Sie mit dem Befehl access-list <ACL-Nummer> deny <MAC-Adresse> 0000.0000.000 die MAC-Adresse, auf die nicht zugegriffen werden kann, und lassen Sie dann den Rest zu (in diesem Beispiel aaaa.bbb.ccc).
Hinweis: Erstellen Sie für jede MAC-Adresse eine Zugriffsliste für jede Zeile.
Für diese Konfiguration ist derzeit kein Überprüfungsverfahren verfügbar.
Es sind derzeit keine spezifischen Informationen zur Fehlerbehebung für diese Konfiguration verfügbar.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
3.0 |
21-Nov-2023 |
Aktualisierte Terminologie und Formatierung. |
2.0 |
04-Oct-2022 |
Aktualisierte Befehlsformate
Aktualisierte Gerunds, SEO, Legal Disclaimer, maschinelle Übersetzung und Formatierung. |
1.0 |
20-Aug-2002 |
Erstveröffentlichung |