Cisco ist eine US Firma die Netzwerkkomponenten wie Router, Switches, Firewalls u.ä herstellt, vertreibt und lizensiert. Trotz einiger Spionageskandale noch immer eine Größe in der Branche.
Packet tracer ist ein Netzwerksimulator für Cisco Umgebungen.
Nur Images mit k9 im Namen unterstützen Encryption! Configure SSH on Cisco SG350XG Switches.
Cisco Firepower FTD (Firepower Threat Defense) About FTD, Installing FTD on Firepower 2100
Es gibt mehrere Arten von ACLs. Cisco ACL Basics
Cisco CCIE R&S - VACLs and PACLs
Eine ACL (Access control list) besteht aus 1 oder mehrerer ACEs (Access control entries).
ACEs werden der Reihe nach abgearbeitet und evtl überschrieben (auf Segmentierung achten)!
! Standard IP Access Lists ip access-list standard STANDARD_ACL permit 10.1.0.0 0.255.255.255 permit host 10.2.0.1 permit any exit ! Extended IP Access Lists ip access-list extended EXTENDED_ACL permit ip 10.0.0.1 0.255.255.255 10.1.0.1 0.255.255.255 permit ip host 10.0.0.1 host 10.1.0.1 permit ip host 10.0.0.1 any permit ip any any exit interface GigabitEthernet0/0 ip access-group STANDARD_ACL in ip access-group EXTENDED_ACL out ! Mac Access List access-list mac extended MAC_ACL permit host 0000.0000.0000 any int gi0/0 mac access-group MAC_ACL in mac access-group MAC_ACL out ! Vlan Access List access-list 100 permit ip any host 192.168.1.100 ! Sequence 10 blockiert Traffic der die ACL 100 matcht. Sequence 20 erlaubt alles andere. vlan access-map NOT-TO-SERVER 10 match ip address 100 action drop vlan access-map NOT-TO-SERVER 20 action forward ! Auf das Vlan 10 anwenden vlan filter NOT-TO-SERVER vlan-list 10
Siehe Managing Cisco switch stack1, 2.
Router(config)# ip dhcp pool internal Router(dhcp-config)# network 172.16.10.0 255.255.255.0 Router(dhcp-config)# default-router 172.16.10.1 Router(dhcp-config)# dns-server 172.16.10.10 Router(dhcp-config)# netbios-name-server 172.16.10.10 Router(dhcp-config)# domain-name zarat.local Router(dhcp-config)# lease 14 12 23 // 14 days, 12 hours, 23 minutes. Router(dhcp-config)# lease infinite // default time is 1 day. Router(dhcp-config)# exit Router(config)# ip dhcp excluded-address 172.16.10.1 172.16.10.9 // range of addresses not to be leased out Router(config)# service dhcp // service is enabled by default in Cisco IOS Software.
ip domain name-servers 10.0.0.10
R1# configure terminal R1(config)# ip dns server // enable DNS server R1(config)# ip domain-lookup R1(config)# ip name-server 4.2.2.2 // eigener DNS R1(config)# ip dns primary <domain> soa <primary-server-name> <mailbox-name> // als Master Server R1(config)# ip host fileserver 192.168.0.5 // Record R1(config)# ip host arush 192.168.0.3 // Record
Siehe spanning_tree_protocol.
Cisco hat eigene Erweiterungen abgeleitet.
Ports
SW1# show spanning-tree SW1# spanning-tree mode <pvst|rapid-pvst|mst> SW1# debug spanning-tree events
PVST (Per VLAN Spanning tree) wurde von Cisco Systems entwickelt und ist eine Erweiterung des ursprünglichen STP. Es ermöglicht die Berechnung eines separaten Spanning Tree für jedes VLAN in einem Netzwerk. Dadurch können VLANs unabhängig voneinander arbeiten und Schleifen in einem VLAN beeinflussen nicht die anderen VLANs.
Die Verwendung von PVST ist besonders wichtig in Umgebungen, in denen Virtual LANs (VLANs) eingesetzt werden, da in solchen Szenarien die Gefahr von Schleifen erhöht ist.
Port States
Siehe CCIE Topic - Youtube, NetworkLessons
SW1(config)# spanning-tree vlan 10 root primary SW1(config)# spanning-tree vlan 20 root secondary SW2(config)# spanning-tree vlan 10 root seconrady SW2(config)# spanning-tree vlan 20 root primary
IEEE 802.1w
Ähnlich wie PVST ermöglicht auch RPVST (Rapid per VLAN Spanning tree) die Berechnung eines separaten Spanning Tree pro VLAN in einem Netzwerk. Der Unterschied liegt darin, dass RPVST die Rapid Spanning Tree Technologie verwendet, was bedeutet, dass die Konvergenzzeiten im Vergleich zum ursprünglichen Spanning Tree Protocol (STP) erheblich verkürzt werden. RSTP kann in der Regel in Bruchteilen einer Sekunde eine Konvergenz erreichen, was in kritischen Netzwerkumgebungen entscheidend sein kann.
RPVST ist insbesondere in Umgebungen wichtig, in denen eine schnelle Konvergenzzeit und die Unabhängigkeit von VLANs entscheidend sind. Es wird häufig in größeren Unternehmensnetzwerken eingesetzt, in denen viele VLANs verwendet werden.
Ports (in addition to root, designated, non-designated)
Port states
Siehe CCIE Topic Youtube
SW1(config)# spanning-tree mode rapid-pvst ! Edge Port SW1(config)# int gi0/1 SW1(config-if)# spanning-tree portfast edge SW1(config-if)# spanning-tree bpduguard enable
MST Switche müssen bestimmte Attribute haben und diese Attribute müssen übereinstimmen.
In jeder MST Region gibt es immer eine Default Internal Spanning Tree (IST) Instanz (Instance 0). Hat man 2 Regionen hat man Instanz0 und Instanz1.
Neue Instanzen die man erstellt und VLANS zuweist nennt man MSTIs (Multiple spanning tree instances). Es gibt neben Instanz0 noch 15 (1-15).
Der Common spanning tree (CST) verbindet alle STP Instanzen im Netzwerk. Er bridget alle MST Regions mit 802.1d und 802.1w. Es gibt nur eine CST Instanz im Netzwerk (if needed).
Der Common internal spanning tree (CIST) ist eine Sammlung aller ISTs in jeder MST Region. Für Switches in der selben Region ist der IST auch der CIST. Für Switches ausserhalb der Region ist der CIST auch der CST.
Siehe CCIE Topic - Youtube
SW1(config)# spanning-tree mode mst SW1(config)# spanning-tree mst configuration SW1(config-mst)# name MST SW1(config-mst)# revision 1 SW1(config-mst)# instance 1 vlan 10,20 SW1(config-mst)# instance 2 vlan 30,40 SW1(config)# spanning-tree mst 1 root <primary|secondary> SW1(config)# spanning-tree mst 1 priority <num>
VRF (Virtual Routing and Forwarding) ist eine Technologie die es erlaubt mehrere Routingtabellen auf einem Router oder Switch zu führen. Das Konzept ist ähnlich dem von VLANs. Meisstens MPLS, ohne nennt man es VRF Lite. Mehr dazu hier, hier und hier. Siehe auch VRF Lite Configuration
Router(config)# ip vrf CustomerA Router(config-vrf)# rd 1:100 Router(config-vrf)# exit Router(config)# do show ip vrf
Router(config)# interface GigabitEthernet 0/0 Router(config-if)# ip vrf forwarding CustomerA Router(config-if)# ip address 192.168.1.254
Router(config)# ip route vrf CustomerA 10.1.1.0 255.255.255.0 192.168.1.1
IRB steht für „Integrated Routing and Bridging“ und bezieht sich auf eine Funktion, die auf Cisco-Routern implementiert ist. Diese Funktion ermöglicht es, sowohl das Layer-2-Bridging als auch das Layer-3-Routing in einer einzigen Schnittstelle zu kombinieren.
Mit IRB können Sie einen Router so konfigurieren, dass er sowohl als Router als auch als Bridge fungiert. Dies bedeutet, dass er Pakete zwischen verschiedenen Netzwerken weiterleiten kann (Layer-3-Routing), aber auch in der Lage ist, Ethernet-Frames auf Layer 2 zu schalten (Bridging). IRB wird oft verwendet, um unterschiedliche VLANs in einem Netzwerk zu verbinden.
Ein wichtiger Aspekt von IRB ist die Zuweisung von IP-Adressen sowohl auf der Layer-2-Schnittstelle (Bridge-Gruppe) als auch auf der Layer-3-Schnittstelle (Schnittstelle, die für das Routing verwendet wird). Dies ermöglicht es dem Router, Pakete zu verarbeiten, die zwischen den verschiedenen Layer-2-Domänen (z.B. VLANs) übertragen werden.
!R1 bridge irb bridge 1 protocol ieee bridge 1 route ip int bvi1 ip address 192.168.0.1 255.255.255.0 no shut int fa0/0 bridge-group 1 no shut int fa1/0 bridge-group 1 no shut
!R2 int fa0/0 ip addr 192.168.0.2 255.255.255.0 no shut
!R3 int fa0/0 ip addr 192.168.0.3 255.255.255.0 no shut
Siehe PNP
Siehe cdp.pdf.
Network Address Translation (NAT) ermöglicht es Netzwerkgeräten wie Router, Switches und Firewalls, die Ziel- oder Quell- IP Adressen eines Datenpakets in einem Netzwerk durch eine andere Adresse zu ersetzen.
Siehe NAT Failover.
Jeremys IT Lab (NAT Teil 1, NAT Teil 2, Static NAT, Dynamic NAT, PAT), Configuring NAT - Cisco Docs
# Private IP auf öffentliche mappen R1(config)# ip nat inside source static 192.168.0.2 11.22.33.44
# Private IP auf öffentlichen Pool mappen R1(config)# access-list 1 permit 192.168.0.0 0.0.255.255 R1(config)# ip nat pool POOL1 1.1.1.1 1.1.1.2 1.1.1.3 netmask 255.255.255.0 R1(config)# ip nat inside source list 1 pool POOL1
# Private IP bekommen die öffentliche IP vom ausgehenden Interface R1(config)# access-list 1 permit 192.168.0.0 0.0.255.255 R1(config)# ip nat inside source list 1 interface serial0/0 overload
Ein Crypto Map ist eine Konfiguration auf einem Cisco Gerät, die verwendet wird, um die IPSec- (Internet Protocol Security) Einstellungen für VPN Verbindungen zu definieren. Es enthält Informationen über die Verschlüsselungs- und Authentifizierungsmethoden, die während der VPN-Verbindung verwendet werden.
Ein Transform-Set definiert die Art der Verschlüsselung und Authentifizierung, die während der VPN-Verbindung verwendet wird. Es kann mehrere Verschlüsselungs- und Authentifizierungsmethoden enthalten.
crypto ipsec transform-set MY_TRANSFORM_SET esp-aes 256 esp-sha-hmac
Eine Crypto Access-List definiert, welche Datenverkehrspakete verschlüsselt werden sollen. Sie spezifiziert, welche IP-Adressen oder IP-Bereiche über die VPN-Verbindung geschützt werden sollen.
access-list 100 permit ip 10.0.0.0 0.255.255.255 192.168.0.0 0.0.255.255
Ein Crypto Map-Set ist eine Sammlung von Crypto Maps. Es kann mehrere Crypto Maps enthalten, die auf unterschiedliche Szenarien oder Verbindungen abzielen.
crypto map MY_CRYPTO_MAP_SET 10 ipsec-isakmp set peer 203.0.113.1 set transform-set MY_TRANSFORM_SET match address 100
interface GigabitEthernet0/0 crypto map MY_CRYPTO_MAP_SET
VLans haben eine ID von 1 - 4094. 0 und 4095 sind reserviert. Es gibt Layer2 und Layer3 VLans.
Der allgemeine Switchport-Modus besteht aus einer Kombination aus VLAN-Trunk und Access Links. Diese können sowohl getaggte als auch ungetaggte Frames haben. Alle Frames, die an ein bestimmtes VLAN gesendet werden, müssen gekennzeichnet werden. Alle ungetaggten Frames werden an das native VLAN gesendet. Das native VLAN gilt weiterhin für den allgemeinen Switchport-Modus.
By default sind alle Interfaces im Default Vlan1. Damit sind in einer Broadcast Domain und können direkt miteinander kommunizieren. By default ist auch das Native Vlan das Vlan1.
Das Native Vlan gibt es aus 3 Gründen
By default ist das Default Vlan1 auch das Native Vlan. Dann ist es das Default Native Vlan.
Das Native Vlan ist ein spezielles Vlan denn es wird nicht getaggt wenn es einen Trunkport passiert. Das Native Vlan kann auch als Mgmt Vlan dienen, sollte es aber nicht.
Es ist good practice das Native Vlan zu ändern (meißtens Vlan99) weil das Default Native Vlan1 erlaupt VLan Hopping Attacken. Das Native Vlan muss auf beiden Seiten eines Trunk das selbe sein!
Siehe VMPS.
Es gibt zwei Arten von ACLs:
ACLs werden auf Interfaces angewendet. Es gibt INBOUND und OUTBOUND. OUTBOUND bedeutet vom Router/Switch bei dem jeweiligen Interface hinaus. INBOUND bedeutet beim jeweiligen Interface hinein zum Router/Switch.
Grundsätzlich gilt Standard ACLs werden näher bei der Destination und Extended ACLs näher bei der Source angelegt.
ip access-list standard test permit any deny 10.0.0.1 0.0.0.0 // oder host 10.0.0.1 ip access-list extended test permit any any deny 10.0.0.1 0.0.0.0 10.0.1.0 0.0.0.255
- Allgemeine Befehle - enable // Wechseln in den privilegierten EXEC-Modus configure terminal // Wechseln in den Konfigurationsmodus exit // Verlassen des aktuellen Modus - Schnittstellenkonfiguration - interface [interface-name] // Wechseln zur Schnittstellenkonfiguration show interfaces // Anzeige von Schnittstelleninformationen interface [interface-name] no [command] // Entfernen einer Konfigurationsoption - VLAN-Konfiguration - vlan [vlan-id] // Erstellen eines VLANs vlan [vlan-id] name [name] // Festlegen eines VLAN-Namens show vlan // Anzeige der VLAN-Konfiguration switchport access vlan [vlan-id] // Setzen des Access-VLANs für einen Port switchport mode access // Setzen des Port-Modus auf Access - Trunk-Konfiguration - interface [interface-name] // Wechseln zur Trunk-Konfigurationsschnittstelle switchport mode trunk // Setzen des Port-Modus auf Trunk switchport trunk allowed vlan [vlan-list] // Festlegen der erlaubten VLANs für einen Trunk-Port - IP-Konfiguration - interface vlan [vlan-id] // Wechseln zur VLAN-Interface-Konfiguration ip address [ip-address] [subnet-mask] // Zuweisen einer IP-Adresse zur VLAN-Schnittstelle show ip interface brief // Anzeige der IP-Konfiguration der VLAN-Schnittstellen - Routing-Konfiguration - ip route [destination] [subnet-mask] [next-hop] // Hinzufügen einer statischen Route show ip route // Anzeige der Routing-Tabelle - Sicherheitskonfiguration - enable secret [password] // Festlegen des verschlüsselten privilegierten Kennworts line console 0 // Wechseln zur Konsolenlinie login // Aktivieren der Benutzerauthentifizierung - Speichern und Laden von Konfigurationen - write memory // Speichern der Konfiguration copy running-config startup-config // Kopieren der laufenden Konfiguration in die Startkonfiguration
clock source sntp // use external sntp clock set 08:59:00 Nov 01 2022 // static time
Siehe auch Configuring NTP - Cisco und Configuring NTP over CLI - Cisco
Um SSH verwenden zu können benötigt man ein K9 Cisco Image!
conf t // hostname und domain-name für RSA keys setzen hostname r1 ip domain-name router.local // keys generieren crypto key generate rsa ip ssh ver 2 // user anlegen service password-encryption enable secret s3cr3t user admin privilege 15 password admin line con 0 password c1sc0 // vty konfigurieren line vty 0 15 transport input ssh login local // delete keypair crypto key zeroize rsa
Authentication (wer bist du), Authorization (was darfst du), Accounting (was hast du gemacht) - AAA Playlist
// password encryption service password-encryption // aktivieren von aaa aaa new-model // Example: aaa authentication login {default | list-name} methodl [method2. . .] aaa authentication login default group radius local enable // use radius, local db or enable password aaa authentication login CONSOLE group radius local // use radius or local db for console aaa authentication login SSH group radius local // use radius or local db for vty (SSH) // radius R(config)# radius server MYRADIUSSERVER R(config-radius-server)# address ipv4 10.0.0.1 auth-port 1812 acct-port 1813 R(config-radius-server)# key s3cr3t // enable aaa on vty using "default" list line vty 0 4 login authentication default // enable aaa on console line console 0 login authentication default // DONT FORGET service password-encryption enable secret s3cr3t
Todo: AAA Auth, AAA Authentication AAA Authorization (lokale User oder via Radius, Tacacs), DNS, SNMP, NTP.
Siehe Authenticate SSH on active directory via Radius, AAA Authentication with Cisco Routers||Server 2012 r2
Configure local authentication using LDAP
Siehe Local AAA
SPAN spiegelt den Traffic der über einen Port läuft auf einen anderen Port. Dort kann man den Traffic dann mit WireShark o.ä sniffen. Mehr Infos im PDF Cisco Port Sniffing.
Mann nennt es SPAN oder TAP Ports. Bei einem SPAN Port handelt es sich um einen dedizierten Port auf einem verwalteten Switch, um Kopien von Netzwerkpaketen an dort angeschlossene Tools zu senden. Dem gegenüber ist ein TAP ein dediziertes Gerät, um Netzwerkverkehr passiv aufzuteilen. See SPAN vs. TAP Ports.
Switch(config)# monitor session 1 source interface Fa0/1 Switch(config)# monitor session 1 destination interface Fa0/2 Switch(config)# exit Switch# show monitor session 1 Session 1 --------- Type : Local Session Source Ports : Both : Fa0/1 Destination Ports : Fa0/2 Encapsulation : Native Ingress : Disabled Switch# Switch# Switch# configure terminal Switch(config)# no monitor session 1
MAC-Move ermöglicht 802.1X- oder MAC-authentifizierten Benutzern, zwischen Ports auf einem Gerät zu wechseln. Wenn beispielsweise ein 802.1X-authentifizierter Benutzer zu einem anderen 802.1X-fähigen Port auf dem Gerät wechselt, wird die Authentifizierungssitzung vom ersten Port gelöscht. Der Benutzer wird am neuen Port erneut authentifiziert.
Um die Bandbreite eines Anschlusses zu begrenzen gibt es 2 Lösungsansätze - Policing und Shaping. Siehe Policing vs Shaping bzw. QoS General.
Wenn ein Kunde beispielsweise nur für einen kleinen Prozentsatz einer Hochgeschwindigkeitsverbindung zahlt, kann man die Bandbreite künstlich begrenzen. Siehe https://networklessons.com/quality-of-service/qos-traffic-shaping-explained bzw. hier
mls qos int fa0/1 srr-queue bandwidth limit <weight> // Angabe in Prozent der physikalischen Leistung // testen show mls qos interface fa0/1 queueing
mls qos class-map match-all rate-limit description Bandwidth Control match ip dscp default policy-map 8meg class rate-limit police 8192000 192000 [conform-action <transmit|drop>] [exceed-action <transmit|drop>] [violate-action <transmit|drop>] int fa0/1 service-policy input 8meg
Bc = Tc * CIR Tc = Bc / CIR CIR = Tc / Bc (??)
See also Catalyst QoS Fundamentals
// create conf t macro name test switchport mode access switchport access vlan 2 no shutdown @ // apply int gi1/0/1 macro apply test // remove int gi1/0/1 no macro description // why description?
interface FastEthernet0/1 switchport mode access switchport port-security switchport port-security maximum 1 switchport port-security violation shutdown switchport port-security mac-address sticky
„IP SLA“ steht für „Internet Protocol Service Level Agreement“ und ist eine Funktion von Cisco Routern um die Leistung von Netzwerkverbindungen zu überwachen und zu messen.Die IP-SLA-Funktion ermöglicht es, Testpakete zu bestimmten Zielen zu senden und dann die Antwortzeit und andere Leistungsparameter zu messen. Dies kann dazu verwendet werden, die Latenz, Paketverluste und die Verfügbarkeit von Netzwerkverbindungen zu überwachen.
Es gibt verschiedene Arten von IP-SLA-Operationen, darunter Ping, Traceroute, HTTP-GET und viele mehr. Diese Operationen können verwendet werden, um die Leistung zwischen zwei Punkten im Netzwerk zu überwachen.
!R1 int fa0/0 ip addr 10.1.1.2 255.255.255.0 no shut exit int fa1/0 ip addr 20.1.1.2 255.255.255.0 no shut exit ip route 0.0.0.0 0.0.0.0 10.1.1.1 ip route 0.0.0.0 0.0.0.0 20.1.1.1 10 ip sla <connection-index> ! mit Responder, enable. Ohne responder, disable tcp-connect 10.1.1.1 <port-number> control enable ! Timeout in ms timeout 10000 exit show ip sla con 2 ip sla schedule <entry-number> life forever start-time now ! setup tracking track <tracking-number> ip sla <sla-connection-index> reachability show track <tracking-number> ! Beide Default Routen rausnehmen no ip route 0.0.0.0 0.0.0.0 10.1.1.1 no ip route 0.0.0.0 0.0.0.0 20.1.1.1 ! Die Default Route mit tracking eintragen ip route 0.0.0.0 0.0.0.0 10.1.1.1 track <tracking-number> ! Die Backup Default Route mit einer hoeheren Administrative Number eintragen ip route 0.0.0.0 0.0.0.0 20.1.1.1 10
Einen Responder auf R2 konfigurieren.
!R2 int fa0/0 ip addr 10.1.1.1 255.255.255.0 no shut int fa1/0 ip addr 20.1.1.1 255.255.255.0 no shut ip sla responder tcp-connect port <port-number> exit ! activate the responder sh ip sla responder
Informationen
sh run | i ip route sh ip sla summary show ip sla connection <connection-index> show ip sla responder
test cable-diagnostics tdr interface gi2/1
Siehe z.B STP.
show spanning-tree
Siehe policy-based-routing.
Router# dir flash: Directory of flash0:/ 5 -rw- 5571584 <no date> asa842-k8.bin 3 -rw- 33591768 <no date> c2900-universalk9-mz.SPA.151-4.M4.bin 2 -rw- 28282 <no date> sigdef-category.xml 1 -rw- 227537 <no date> sigdef-default.xml 255744000 bytes total (216324829 bytes free) Router# rename flash:asa842-k8.bin flash:old.bin Router# delete flash:old.bin
Man kann Dateien von FTP Servern laden. Z.B um die Firmware Version upzudaten.
Router#copy tftp flash Address or name of remote host []? 10.0.0.100 Source filename []? c2960-lanbasek9-mz.150-2.SE4.bin Destination filename [c2960-lanbasek9-mz.150-2.SE4.bin]? Accessing tftp://10.0.0.100/c2960-lanbasek9-mz.150-2.SE4.bin.... Loading c2960-lanbasek9-mz.150-2.SE4.bin from 10.0.0.100: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [OK - 4670455 bytes] 4670455 bytes copied in 3.079 secs (121951 bytes/sec) Router# Router# show flash: Directory of flash:/ 1 -rw- 4414921 c2960-lanbase-mz.122-25.FX.bin 3 -rw- 4670455 c2960-lanbasek9-mz.150-2.SE4.bin 2 -rw- 1052 config.text 64016384 bytes total (54929956 bytes free) Router(config)# Router(config)#boot system c2960-lanbasek9-mz.150-2.SE4.bin Router(config)# Router(config)#reload Router(config)#show version
Herkömmliche Lizenzen sind gerätespezifisch, daher muss pro Gerät eine Lizenz vorhanden sein. Smart Licenses sind flexibel und gepoolt, was bedeutet, dass sie auf verschiedene Geräte verschoben und erneut bereitgestellt werden können.
Ältere Modelle haben mitunter keine Lizenzierung.
Man kann von traditionellem Licensing auf Smart licensing migrieren. Siehe Generate license key from PAK bzw. Convert PAK to smart license
Example:
SW1# copy usbflash0:new-image.bin flash:new-image.bin SW1# boot system switch all flash:new-image.bin SW2# copy usbflash0:new-image.bin flash:new-image.bin SW2# archive copy-sw /force-reload /overwrite /dest 2 1 SW3# copy usbflash0:new-image.bin flash:new-image.bin SW3# archive copy-sw /force-reload /overwrite /dest 3 1
SW# reload slot [1-9]