Standard- und Extended-ACLs
Cisco IOS arbeitet ACL-Einträge sequenziell von oben nach unten ab. Der erste passende Eintrag entscheidet. Trifft kein Eintrag zu, greift am Ende das implizite deny.
- Standard ACL: prüft im Wesentlichen die Quell-IP-Adresse.
- Extended ACL: kann zusätzlich Protokoll, Zieladresse und bei TCP/UDP auch Ports berücksichtigen.
Für neue Konfigurationen sind benannte ACLs beziehungsweise der ACL-Konfigurationsmodus mit Sequenznummern übersichtlicher als ausschließlich die alte nummerierte Kurzsyntax.
Beispiel: zwei /24-Netze erlauben
access-list 1 permit 192.168.10.0 0.0.0.255
access-list 1 permit 192.168.20.0 0.0.0.255
Bestehende ACL erweitern
Ein neuer Befehl mit derselben ACL-Nummer überschreibt die vorhandenen Einträge nicht pauschal. Cisco IOS fügt einen neuen ACE hinzu. Beispiel:
access-list 1 permit 192.168.40.0 0.0.0.255
Übersichtlicher ist der ACL-Konfigurationsmodus. Dort kannst du mit Sequenznummern gezielt festlegen, an welcher Stelle ein Eintrag stehen soll:
ip access-list standard 1
10 permit 192.168.10.0 0.0.0.255
20 permit 192.168.20.0 0.0.0.255
30 permit 192.168.40.0 0.0.0.255
Mit show ip access-lists beziehungsweise show access-lists kontrollierst du Reihenfolge und Trefferzähler.
Jetzt binden wir die ACL im Config Mode an ein Interface
interface ethernet0/0
ip access-group 1 out
exit
out = vom Switch weg = egress
Wildcards
0.0.255.255 : Prüfe die ersten 16 Bit
1.1.1.1 0.0.0.0 : erlaube Host /32
Standard ACLs
sind so zu verstehen :
Die IP/ Netz in der ACL ist in der Regel immer als Paket Sounrce zu verstehen.
access-list 1 permit 1.2.3.4 0.0.0.0
Ausgehend vom Interface ins Kabel:
ip access-group 1 out
Wird so interpretiert : Erlaube alle Paket mit der Source 1.2.3.4 ausgehend (ins Kabel)
Eingehend vom Kabel ins Interface:
ip access-group 1 in
Wird so interpretiert : Erlaube alle Paket mit der Source 1.2.3.4 eingehend (ins Interface)
Extended ACLs
access-list 101 permit tcp 10.10.9.0 0.0.0.255 host 10.10.4.85 eq 443
Quelle ist : 10.10.9.0
Ziel ist : host 10.10.4.85 eq 443
Namen einer Extended ACL geben :
ip access-list extended test # die ACL hat dann keine Nummen sondern einen Namen
Typen :
IP : egal welcher IP Typ (TCP, UDP, ICMP ..)
TCP
UDP
ICMP
Implizites deny am Ende
Jede IP-ACL besitzt am Ende ein implizites deny. Du musst deny ip any any deshalb nicht zwingend selbst eintragen. Ein explizites Deny kann aber sinnvoll sein, wenn du es beispielsweise mit Logging bewusst sichtbar machen möchtest.
ACL an ein Interface binden
Eingehend:
interface Ethernet0/0
ip access-group 101 in
Ausgehend:
interface Ethernet0/0
ip access-group 101 out
in bewertet Pakete beim Eintritt in das Interface; out beim Verlassen des Interfaces.
ACL und Trefferzähler anzeigen
show ip access-lists
Die Ausgabe zeigt die ACL-Einträge und – je nach Plattform und IOS-Version – auch Match-Zähler. Nach Änderungen solltest du Reihenfolge, Richtung und das tatsächlich gebundene Interface immer kontrollieren.