Cisco-Befehl zum Anzeigen der Schnittstellen, auf die eine ACL angewendet wird


17

Gibt es für Cisco-Router und -Switches einen Befehl show oder ähnliches, mit dem angezeigt wird, auf welchen physischen und logischen Schnittstellen eine ACL implementiert ist und in welche Richtung sie angewendet wird?

Ich suche nach etwas Einfacherem als einem show run | <some regex>.

Antworten:


18

Ich glaube nicht, dass es etwas Einfacheres gibt als show interfaces | <some regex>leider.

Bearbeiten:

In den Kommentaren unten wies @ Santino auf eine präzisere RegEx hin:

show ip interface | include line protocol|access list

Meine bisherigen Tests haben ergeben, dass dies die gleichen Ergebnisse liefert wie meine längere RegEx unten.


Normalerweise benutze ich Folgendes, um herauszufinden, wo ACLs angewendet werden:

show ip interface | include is up|is administratively|is down|Outgoing|Inbound

Dies gibt Ihnen jede Schnittstelle, unabhängig vom Status, sowie die ausgehenden und eingehenden ACLs. Beispielsweise:

LAB-4510-A#show ip interface | include is up|is administratively|is down|Outgoing|Inbound 
Vlan1 is administratively down, line protocol is down
Vlan110 is up, line protocol is up
  Outgoing access list is not set
  Inbound  access list is VENDOR->INTERNET
Vlan140 is administratively down, line protocol is down
  Outgoing access list is not set
  Inbound  access list is not set
Vlan150 is down, line protocol is down
  Outgoing access list is not set
  Inbound  access list is VENDOR->INTERNET
Vlan210 is up, line protocol is up
  Outgoing access list is not set
  Inbound  access list is not set
FastEthernet1 is administratively down, line protocol is down
  Outgoing access list is not set
  Inbound  access list is not set
GigabitEthernet1/1 is up, line protocol is up
  Outgoing access list is not set
  Inbound  access list is not set
GigabitEthernet1/2 is down, line protocol is down
  Inbound  access list is not set
  Outgoing access list is not set

Und so weiter für jede Schnittstelle.


Dieser Befehl funktioniert sowohl auf Cisco-Switches als auch auf Routern. Siehe Beispielausgabe eines 7200-Routers unten:

LAB-7204-A#show ip interface | include is up|is administratively|is down|Outgoing|Inbound
GigabitEthernet0/1 is up, line protocol is up
  Outgoing access list is not set
  Inbound  access list is not set
FastEthernet0/2 is administratively down, line protocol is down
GigabitEthernet0/2 is up, line protocol is up
  Outgoing access list is not set
  Inbound  access list is not set
GigabitEthernet0/3 is administratively down, line protocol is down
SSLVPN-VIF0 is up, line protocol is up
  Outgoing access list is not set
  Inbound  access list is not set
Loopback0 is up, line protocol is up
  Outgoing access list is not set
  Inbound  access list is not set
Loopback1 is up, line protocol is up
  Outgoing access list is not set
  Inbound  access list is not set

3
Sie könnten dies wahrscheinlich auf show ip interface | include line protocol|access list For NX-OS,show ip access-list summary
Santino

1
@ Santino, wahr! Ich werde meine Antwort entsprechend bearbeiten. Bei weiteren Nachforschungen sehe ich auch, dass Jeremy Stretch bei PacketLife bereits mit einem anderen kürzeren RegEx (aber nicht so kurzen wie Ihrem) diesen Weg gegangen ist : show ip interface | include line protocol|access list is [^ ]+$ Ich bin mir nicht sicher, ob es einen Grund gibt, warum wir das zusätzliche RegEx-Matching benötigen nach "Zugangsliste".
Brett Lykins

2
Der reguläre Ausdruck von Stretch filtert nicht gesetzte Zugriffslistenzeilen heraus. Das Ende seines regulären Ausdrucks entspricht einem einzelnen Wort, das einer ACL entsprechen würde, da sie keine Leerzeichen enthalten können. Guter Fund.
Santino

1
@ Santino, das macht Sinn! Danke für die Erklärung. Nachdem ich zu Stretch's Seite zurückgekehrt war, sah ich dort auch die Erklärung ... :: Reading fail :: meinerseits :)
Brett Lykins

3

Wenn Sie einen show run | <some regex>Befehl haben, der Ihnen die gewünschten Informationen anzeigt, können Sie jederzeit einen Alias ​​erstellen.

Ein Beispiel mit diesem Befehl: alias exec shacls sh ip int | inc line protocol|access list is [^ ]+$.

Dann können Sie einfach alias-name(in diesem Fall shacls) verwenden und es wird dasselbe sein wieshow run | <some regex>

Hinweis: Dies müsste auf jedem iOS-Gerät durchgeführt werden. ASAs sind etwas anders.

Bearbeiten: Ich kann keine Gutschrift erhalten, sh ip int | inc line protocol|access list is [^ ]+$da dies von PacketLife IOS Tips stammt .


1

Ich habe früher damit rumgespielt und eine ziemlich geradlinige Regex gefunden, die dir geben sollte, was du willst.

sho ip int | inc ^ [AZ] | Zugangsliste

Die Liste wird benötigt, um Zugriffsverletzungen zu ignorieren.


1

Ich erinnere mich so. Für mich am einfachsten und am kürzesten zu merken.

sh ip int | i line|list

Schön und prägnant
Jeff Wright


0

Sie rennen in ^ inter | access-gr

Gibt die Ausgabe von running-config aus


Könnten Sie die Frage bearbeiten, um zu erklären, wie dieser Befehl funktioniert?
Jwbensley

-1

Auf Nexus-Geräten können Sie eine Zusammenfassung der Zugriffsliste oder eine Zusammenfassung der IP-Zugriffsliste anzeigen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.