← Übersicht
Cisco

Cisco – Grundlagen

Was ist Cisco?

Cisco Systems ist der weltweit führende Hersteller von Netzwerkgeräten. Das Portfolio umfasst Router, Switches, Firewalls, Access Points und mehr. Die meisten Unternehmensnetze und das Internet-Backbone laufen auf Cisco-Hardware.

Gerätetypen & OSI-Einordnung

GerätOSI-SchichtFunktionTypische Modelle
RouterSchicht 3Verbindet Netzwerke, IP-Routing, NAT, WAN-AnbindungISR 1000/4000, ASR 1000
Layer-2-SwitchSchicht 2MAC-basiertes Switching im LAN, VLANs, STPCatalyst 2960, 9200
Layer-3-SwitchSchicht 2–3Switching + Inter-VLAN-RoutingCatalyst 3560, 3850, 9300
FirewallSchicht 3–7Stateful Inspection, VPN, IDS/IPSASA 5500, Firepower
Access PointSchicht 1–2WLAN-AnbindungAironet, Catalyst 9100

Wichtige Dateien im IOS-Dateisystem

Datei / SpeicherInhaltVerhalten
running-config (RAM)Aktuelle, laufende KonfigurationGeht bei Stromverlust verloren
startup-config (NVRAM)Gespeicherte Konfiguration für den BootBleibt bei Stromverlust erhalten
IOS-Image (Flash)Das Betriebssystem (z.B. .bin-Datei)Bleibt erhalten, updatebar
ROMBootstrap, POST, ROMmonFest eingebaut, nicht änderbar

Verifikation – erste Schritte

show version ! IOS-Version, Uptime, Hardware, RAM, Flash show running-config ! Aktuelle Konfiguration anzeigen show startup-config ! Gespeicherte Konfiguration anzeigen show flash ! Inhalt des Flash-Speichers (IOS-Datei) show ip interface brief ! Übersicht aller Interfaces (Status, IP) show interfaces ! Alle Interfaces detailliert

CLI-Tastenkürzel

TastenkombinationFunktion
Strg+ACursor zum Zeilenanfang
Strg+ECursor zum Zeilenende
Strg+WLetztes Wort löschen
Strg+UGesamte Zeile löschen
Strg+KAlles hinter dem Cursor löschen
Strg+CBefehlseingabe abbrechen
Strg+Shift+6Laufenden Vorgang abbrechen (Ping, Traceroute)
↑ / ↓Befehlshistorie blättern
TabAutovervollständigung

Dateisystem-Befehle

! ====== NAVIGATION ====== Router#dir ! Inhalt aktuelles Verzeichnis anzeigen Router#dir flash: ! Flash-Speicher anzeigen Router#cd flash: ! Verzeichnis wechseln Router#pwd ! Aktuelles Verzeichnis anzeigen ! ====== DATEIVERWALTUNG ====== Router#more <dateiname> ! Dateiinhalt anzeigen Router#mkdir <name> ! Ordner erstellen Router#rename <quelle> <ziel> ! Datei umbenennen Router#copy <quelle> <ziel> ! Datei kopieren / Backup Router#delete <dateiname> ! Datei löschen Router#delete /recursive <ordner> ! Ordner mit Unterverzeichnissen löschen Router#erase nvram: ! startup-config löschen (Factory Reset Config) ! ====== AUSGABE FILTERN ====== Router#show running-config | begin interface ! Ab Suchbegriff anzeigen Router#show running-config | include ip address ! Nur Zeilen mit dem Begriff Router#show running-config | exclude ! ! Kommentare ausblenden Router#show running-config | section ospf ! Ganzen Abschnitt anzeigen
Cisco

Cisco IOS – CLI & Modi

Was ist Cisco IOS?

IOS (Internetwork Operating System) ist das Betriebssystem von Cisco-Geräten. Die Verwaltung erfolgt ausschließlich über ein textbasiertes CLI (Command Line Interface) – entweder lokal über den Console-Port oder remote via SSH/Telnet.

Die CLI-Modi

Cisco IOS CLI-Modi Hierarchie
Abb. 4 – Cisco IOS Modus-Hierarchie mit Navigationsbefehlen

Navigation zwischen den Modi

! ====== MODUS-NAVIGATION ====== Router> enable ! User EXEC → Privileged EXEC Router# disable ! Privileged EXEC → User EXEC Router# configure terminal ! Privileged EXEC → Global Config Router(config)# exit ! Global Config → Privileged EXEC Router(config)# end ! Direkt zurück zu Privileged EXEC Router(config-if)# exit ! Sub-Modus → Global Config Router(config-if)# end ! Sub-Modus → Privileged EXEC (überspringt alle) ! Strg+Z = entspricht 'end' von überall ! ====== SUB-MODI (aus Global Config) ====== Router(config)# interface GigabitEthernet0/0 ! → Interface-Konfiguration Router(config)# line console 0 ! → Console-Konfiguration Router(config)# line vty 0 4 ! → VTY-Konfiguration (Telnet/SSH) Router(config)# router ospf 1 ! → Routing-Protokoll-Konfiguration

CLI-Hilfe & Abkürzungen

! ====== HILFEFUNKTIONEN ====== Router# ? ! Alle verfügbaren Befehle anzeigen Router# sh? ! Alle Befehle, die mit 'sh' beginnen Router# show ? ! Alle Optionen für den show-Befehl Router# show ip ? ! Alle Optionen für 'show ip' Router# show [Tab] ! Tab-Vervollständigung ! ====== ABKÜRZUNGEN (Beispiele) ====== ! Befehle können abgekürzt werden, solange sie eindeutig sind: ! 'en' = enable ! 'conf t' = configure terminal ! 'sh ip int br' = show ip interface brief ! 'wr' = write (= copy running-config startup-config)

Nützliche Allgemein-Befehle

! ====== HILFREICH IM ALLTAG ====== Router# show history ! Letzte Befehle anzeigen Router# terminal length 0 ! Ausgabe ohne "--More--"-Pause (für Copy/Paste) Router# no ip domain-lookup ! Tippfehler nicht als DNS-Anfrage interpretieren Router# clock set 10:00:00 10 Jun 2026 ! Systemzeit setzen ! Laufende Ausgabe abbrechen: Strg+Shift+6 ! Letzte Befehle: Pfeil hoch/runter
Cisco

Datensysteme – Binär, Dezimal, Hexadezimal

Warum sind Datensysteme wichtig?

Als Netzwerkadmin begegnen dir drei Zahlensysteme täglich: Dezimal für IP-Adressen (192.168.1.1), Binär für Subnetzmasken und Bitoperationen, Hexadezimal für MAC-Adressen und IOS-Speicheradressen.

Umrechnungstabelle

DezimalBinär (4-Bit)HexadezimalDezimalBinär (4-Bit)Hex
000000810008
100011910019
200102101010A
300113111011B
401004121100C
501015131101D
601106141110E
701117151111F

IP-Adresse in Binär

Jedes der 4 Oktetts einer IPv4-Adresse hat 8 Bits (Wertigkeiten: 128-64-32-16-8-4-2-1):

IP-Adresse: 192 . 168 . 1 . 1 Binär: 11000000.10101000.00000001.00000001 Berechnung 192: 128+64+0+0+0+0+0+0 = 11000000 Berechnung 168: 128+0+32+0+8+0+0+0 = 10101000 Berechnung 1: 0+0+0+0+0+0+0+1 = 00000001

Subnetzmasken & CIDR-Notation

CIDR Subnetzmaske Binär Hosts /8 255.0.0.0 11111111.00000000.00000000.00000000 16.777.214 /16 255.255.0.0 11111111.11111111.00000000.00000000 65.534 /24 255.255.255.0 11111111.11111111.11111111.00000000 254 /25 255.255.255.128 11111111.11111111.11111111.10000000 126 /26 255.255.255.192 11111111.11111111.11111111.11000000 62 /27 255.255.255.224 11111111.11111111.11111111.11100000 30 /28 255.255.255.240 11111111.11111111.11111111.11110000 14 /30 255.255.255.252 11111111.11111111.11111111.11111100 2

Hexadezimal – MAC-Adressen

MAC-Adressen bestehen aus 48 Bit = 6 Byte = 12 Hex-Zeichen. Die ersten 3 Byte sind der OUI (Herstellerkennung), die letzten 3 Byte sind die Gerätenummer.

Beispiel: 00:1A:2B:3C:4D:5E (Doppelpunkt-Schreibweise) 001A.2B3C.4D5E (Cisco-Punkt-Schreibweise) 00-1A-2B-3C-4D-5E (Windows-Bindestrich-Schreibweise) Broadcast: FF:FF:FF:FF:FF:FF (alle Bits = 1) ! Eigene MAC-Adresse prüfen: ipconfig /all ! Windows – Physikalische Adresse ip link show ! Linux show interfaces ! Cisco IOS
Merkhilfe Binär → Dezimal: Bitzählung von rechts: 1-2-4-8-16-32-64-128. Jede gesetzte 1 addieren. Beispiel: 10110100 = 128+32+16+4 = 180
Cisco

Boot-Prozess & Schnittstellen-Konventionen

Serieller Zugriff – Konsolen-Verbindung

Auf ein unkonfiguriertes Cisco-Gerät kann zunächst nur über den Console-Port (seriell) zugegriffen werden – noch bevor eine IP-Adresse existiert. Verwendet wird ein Konsolen-Rollover-Kabel (RJ45) oder ein USB-Konsolenkabel, dazu ein Terminalprogramm wie PuTTY oder Tera Term.

ParameterWert
Geschwindigkeit (Bits pro Sekunde)9600 bit/s
Datenbits8
ParitätKeine
Stoppbits1
FlusssteuerungKeine

Schnittstellen-Konventionen

Cisco-Schnittstellen werden über Medientyp + Position adressiert. Modulare Geräte (mit steckbaren Modulen, z.B. HWIC – High-Speed WAN Interface Cards) verwenden eine mehrstellige Notation, fixe Geräte eine kürzere:

<MediaType> <Slot>/<Subslot>/<Port> ! ====== BEISPIELE ====== interface GigabitEthernet0/0 ! Switch / älterer Router: Slot/Port interface GigabitEthernet0/0/0 ! ISR 4000: Slot/Subslot/Port (3 Zahlen) line console 0 ! Konsolen-Verbindung line vty 0 15 ! Terminal-Verbindung (SSH/Telnet)
Nummerierung: Bei Switches beginnt die erste Portnummer i.d.R. mit 1, bei Routern starten Slot- und Portnummer mit 0. Medientypen: Ethernet (10 Mbit/s), FastEthernet (100 Mbit/s), GigabitEthernet (1000 Mbit/s).

Zustand der Schnittstellen (LED)

Die Port-LEDs physischer Geräte zeigen den Status auf einen Blick. Wichtig: eine grüne LED bedeutet noch nicht, dass alles fehlerfrei ist.

Kabel stecktZustandLEDBedeutung
Ja, hochgefahrenUPGrünSchnittstelle physisch korrekt verkabelt und aktiviert
Ja, hochgefahrenUPGelbVerkabelt & aktiviert, aber laufender Verbindungsaufbau (STP)
Ja, heruntergefahrenAdministratively downAusSchnittstelle ist deaktiviert (shutdown)
Nein, heruntergefahrenDownAusAktiviert, aber physikalisches Problem (Kabel/Gegenstelle)

Boot-Prozess eines Cisco-Geräts

Der Start läuft in einer festen Reihenfolge ab. Auf realer Hardware dauert das deutlich länger als im Packet Tracer (bis zu 10 Minuten).

  1. Gerät einschalten
  2. POST (Power-On-Self-Test) – Prüfung von CPU, Speicher und Schnittstellen durch den Bootstrap im ROM.
  3. Bootstrap (Bootloader) wird aus dem ROM geladen.
  4. Konfigurationsregister prüfen – legt fest, woher gebootet wird (Normalwert 0x2102).
  5. IOS-Image suchen & laden: gefunden → ins RAM entpacken und booten; nicht gefunden → Gerät fällt in den rommon>-Modus.
  6. Konfigurationsdatei suchen: startup-config in NVRAM vorhanden → wird zur running-config geladen; nicht vorhanden → System Configuration Dialog erscheint.
System Configuration Dialog: Die Abfrage Would you like to enter the initial configuration dialog? [yes/no]: immer mit no beantworten (oder mit Strg+C abbrechen) und manuell über die CLI konfigurieren.

Verifikation

Switch# show version ! IOS-Version, Modell, SW-Image, Config-Register Switch# show version | include register ! Nur das Konfigurationsregister Switch# show ip interface brief ! Schnittstellen-Status (up/up, admin down, down) Switch# show interfaces status ! Port, Status, VLAN, Duplex, Speed, Typ
Cisco

Grundkonfiguration & Verifikation

Uhrzeit, Zeitzone & Timestamps

Die Systemzeit wird für Logs, Zertifikate und zeitbasierte Funktionen benötigt. Zunächst direkt im Privileged EXEC setzen, dann Zeitzone und Timestamps in Global Config konfigurieren.

! ====== UHRZEIT SETZEN (Privileged EXEC) ====== R1# clock set 10:13:30 10 Jun 2026 ! Format: HH:MM:SS TT Mon JJJJ ! ====== ZEITZONE & SOMMERZEIT (Global Config) ====== R1(config)# clock timezone MEZ 1 ! MEZ = UTC+1 (Mitteleuropäische Zeit) R1(config)# clock summer-time MESZ recurring last Sun Mar 02:00 last Sun Oct 03:00 ! ====== TIMESTAMPS IN LOGS ====== R1(config)# service timestamps log datetime msec localtime ! Logs mit Uhrzeit + ms R1(config)# service timestamps debug datetime msec localtime ! Debug-Ausgaben mit Zeit ! ====== VERIFIKATION ====== R1# show clock ! Aktuelle Systemzeit R1# do show running-config | section clock ! Zeitzone & Sommerzeit geprüft? R1# do show running-config | section timestamps

Basis-Konfiguration (Router & Switch)

! ====== KONFIGURATION ====== Router> enable Router# configure terminal Router(config)# hostname R1 ! Hostname setzen R1(config)# ip arp proxy disable ! Verhindert ungewolltes ARP-Proxying R1(config)# no ip domain-lookup ! Tippfehler nicht als DNS interpretieren R1(config)# banner motd # *** Nur autorisierter Zugriff! Unbefugter Zugriff wird verfolgt. *** #

Interface konfigurieren (Router)

! ====== INTERFACE-KONFIGURATION ====== R1(config)# interface GigabitEthernet0/0 R1(config-if)# description LAN - Verbindung zu Core-Switch R1(config-if)# ip address 192.168.1.1 255.255.255.0 R1(config-if)# no shutdown ! Interface aktivieren (Standard: shutdown) R1(config-if)# exit ! Loopback-Interface (immer UP, gut für Tests) R1(config)# interface Loopback0 R1(config-if)# ip address 1.1.1.1 255.255.255.255 R1(config-if)# exit

Interface konfigurieren (Switch)

! ====== SWITCH – MANAGEMENT-IP ====== SW1(config)# interface vlan 1 SW1(config-if)# ip address 192.168.1.10 255.255.255.0 SW1(config-if)# no shutdown SW1(config-if)# exit SW1(config)# ip default-gateway 192.168.1.1 ! Standard-Gateway für Remote-Management

Konfiguration speichern

! ====== KONFIGURATION SPEICHERN ====== R1# copy running-config startup-config ! RAM → NVRAM (sicher) R1# write memory ! Kurzform (identisch) R1# wr ! Abkürzung ! Konfiguration löschen / zurücksetzen: R1# erase startup-config ! startup-config löschen R1# reload ! Neustart (danach blank config)

Verifikation

! ====== VERIFIKATION ====== R1# show running-config ! Aktuelle Konfiguration R1# show running-config | include ip address ! Nur IP-Adressen filtern R1# show running-config | section interface ! Nur Interface-Abschnitte R1# show ip interface brief ! Übersicht: Interface, IP, Status R1# show interfaces GigabitEthernet0/0 ! Detailinfo: Errors, Duplex, Speed R1# show ip route ! Routing-Tabelle R1# show version ! IOS-Version, Uptime, RAM, Flash ! Konnektivität testen: R1# ping 192.168.1.254 ! ICMP-Ping R1# ping 192.168.1.254 repeat 100 size 1500 ! Erweiterter Ping R1# traceroute 8.8.8.8 ! Routenpfad anzeigen
Cisco

Konfigurationsablauf – Schnell-Referenz

Vollständige Grundkonfiguration (empfohlene Reihenfolge)

Diese Sequenz zeigt die vollständige Erstkonfiguration eines Cisco-Routers in der empfohlenen Reihenfolge – Grundkonfig, Absicherung und SSH in einem Ablauf.

! ====== SCHRITT 1: Uhrzeit setzen (Privileged EXEC) ====== Router> enable Router# clock set 10:13:30 10 Jun 2026 ! ====== SCHRITT 2: Global Config ====== Router# configure terminal ! ====== SCHRITT 3: Zeitzone & Timestamps ====== Router(config)# clock timezone MEZ 1 Router(config)# clock summer-time MESZ recurring last Sun Mar 02:00 last Sun Oct 03:00 Router(config)# service timestamps log datetime msec localtime Router(config)# service timestamps debug datetime msec localtime ! ====== SCHRITT 4: Hostname ====== Router(config)# hostname Koppler ! ====== SCHRITT 5: Proxy ARP & DNS deaktivieren ====== Koppler(config)# ip arp proxy disable Koppler(config)# no ip domain-lookup ! ====== SCHRITT 6: Banner (alle drei Typen) ====== Koppler(config)# banner motd # *** Nur autorisierter Zugriff! Unbefugter Zugriff wird verfolgt. *** # Koppler(config)# banner login # PLEASE LEAVE A LIKE AND SUBSCRIBE :-) # Koppler(config)# banner exec # WELCOME HOME NEO, CHASE THE RABBIT! # ! ====== SCHRITT 7: Lokale Benutzerdatenbank ====== Koppler(config)# username Nnetzwerker privilege 15 secret Geheim ! ====== SCHRITT 8: Console absichern ====== Koppler(config)# line con 0 Koppler(config-line)# login local Koppler(config-line)# logging synchronous Koppler(config-line)# no exec-timeout Koppler(config-line)# exit ! ====== SCHRITT 9: VTY vorbereiten ====== Koppler(config)# line vty 0 15 Koppler(config-line)# login local Koppler(config-line)# logging synchronous Koppler(config-line)# no exec-timeout Koppler(config-line)# exit ! ====== SCHRITT 10: Zwischenspeichern ====== Koppler(config)# do wr ! ====== SCHRITT 11: Absicherung ====== Koppler(config)# security passwords min-length 12 Koppler(config)# service password-encryption Koppler(config)# no cdp run ! CDP deaktivieren Koppler(config)# lldp run ! LLDP aktivieren (herstellerunabhängig) Koppler(config)# enable secret GeheimesPasswort! ! ====== SCHRITT 12: SSH – Domain & RSA-Schlüssel ====== Koppler(config)# ip domain-name LVNmachtspass.de Koppler(config)# crypto key generate rsa modulus 1024 Koppler(config)# ip ssh version 2 Koppler(config)# ip ssh authentication-retries 2 ! ====== SCHRITT 13: SSH-Loopback anlegen (Router) ====== Koppler(config)# interface loopback 1 Koppler(config-if)# description ssh Koppler(config-if)# ip address 10.0.0.1 255.255.255.255 Koppler(config-if)# no shutdown Koppler(config-if)# exit ! ====== SCHRITT 14: VTY auf SSH festlegen ====== Koppler(config)# line vty 0 15 Koppler(config-line)# login local Koppler(config-line)# transport input ssh Koppler(config-line)# exec-timeout 3 0 Koppler(config-line)# exit Koppler(config)# ip ssh source-interface loopback 1 ! ====== SCHRITT 15: Endgültig speichern ====== Koppler(config)# end Koppler# copy running-config startup-config
Router vs. Switch: Bei Switches gibt es kein Loopback-Interface. Statt interface loopback 1 wird ein VLAN-SVI (interface vlan X) mit Management-IP angelegt und als SSH-Quell-Interface gesetzt: ip ssh source-interface vlan X.

Verifikation nach Grundkonfiguration

! ====== VERIFIKATION ====== Koppler# show clock ! Systemzeit korrekt? Koppler# show running-config | section clock ! Zeitzone & Sommerzeit? Koppler# show running-config | section line ! Console & VTY korrekt? Koppler# show running-config | include username ! Lokale Benutzer vorhanden? Koppler# show running-config | include banner ! Banner gesetzt? Koppler# show lldp neighbors ! LLDP aktiv, Nachbarn sichtbar? Koppler# show ip ssh ! SSH aktiviert, Version 2? Koppler# show crypto key mypubkey rsa ! RSA-Schlüssel generiert?
Cisco

Password Recovery

Voraussetzung

Password Recovery erfordert physischen Zugriff auf das Gerät (Console-Kabel). Das Verfahren unterscheidet sich zwischen Routern und Switches.

Sicherheitshinweis: Password Recovery ist ohne Kenntnisse der aktuellen Passwörter möglich. Sicherung durch physischen Schutz der Geräte (abgeschlossener Rack) ist daher essenziell.

Router – Password Recovery (ISR / Classic IOS)

! ====== SCHRITT-FÜR-SCHRITT ====== ! SCHRITT 1: Console-Kabel anschließen, Terminal-Programm öffnen (9600 Baud) ! SCHRITT 2: Router neu starten, innerhalb von 60 Sekunden BREAK drücken ! Windows PuTTY: Strg + Pause / Break ! Windows Tera Term: Alt + B ! SCHRITT 3: Im ROMmon-Modus den Config-Register ändern rommon 1 > confreg 0x2142 ! 0x2142 = startup-config beim Boot überspringen rommon 2 > reset ! Neustart ! SCHRITT 4: Nach dem Boot (ohne Passwort) Router> enable ! Kein enable-Passwort erforderlich ! SCHRITT 5: Alte Konfiguration laden Router# copy startup-config running-config ! SCHRITT 6: Passwort neu setzen R1# configure terminal R1(config)# enable secret NeuesPasswort123! ! Neues Passwort setzen R1(config)# end ! SCHRITT 7: Config-Register zurücksetzen (normaler Boot) R1# configure terminal R1(config)# config-register 0x2102 ! Normalwert wiederherstellen R1(config)# end ! SCHRITT 8: Speichern und neu starten R1# copy running-config startup-config R1# reload

Switch – Password Recovery (Catalyst 2960 / 3560)

! ====== SCHRITT-FÜR-SCHRITT ====== ! SCHRITT 1: Console-Kabel anschließen ! SCHRITT 2: Switch ausschalten (Netzkabel ziehen) ! SCHRITT 3: MODE-Taste am Switch gedrückt halten und Strom wieder anschließen ! MODE-Taste so lange halten, bis die SYST-LED orange blinkt / erlischt ! SCHRITT 4: Im Switch-Bootloader switch: flash_init ! Flash-Dateisystem initialisieren switch: dir flash: ! Inhalt anzeigen (config.text suchen) switch: rename flash:config.text flash:config.text.bak ! Config umbenennen ! SCHRITT 5: Normal booten (ohne startup-config) switch: boot ! SCHRITT 6: Nach dem Boot (ohne Passwort) Switch> enable ! SCHRITT 7: Alte Config wiederherstellen und Passwort ändern Switch# rename flash:config.text.bak flash:config.text Switch# copy flash:config.text system:running-config SW1(config)# enable secret NeuesPasswort123! SW1(config)# end ! SCHRITT 8: Speichern Switch# copy running-config startup-config Switch# reload

Verifikation nach Password Recovery

R1# show version | include Configuration register ! Config-Register prüfen R1# show running-config | include enable secret ! Neues Passwort-Hash prüfen
Cisco

VLANs – Virtual Local Area Networks

Was sind VLANs?

VLAN Konzept – Access-Ports, Trunk-Ports, 802.1Q
Abb. – VLAN-Konzept: Access-Ports binden Endgeräte an ein VLAN; Trunk-Ports transportieren mehrere VLANs (IEEE 802.1Q) zwischen Switches

VLANs teilen ein physikalisches Netzwerk in mehrere logische Broadcast-Domänen auf. Geräte in unterschiedlichen VLANs können ohne Router nicht miteinander kommunizieren – auch wenn sie am gleichen Switch hängen. Typische Einsatzbereiche: Abteilungstrennung, VoIP-Isolierung, Sicherheitszonen und Traffic-Management.

Trunk-Ports & IEEE 802.1Q (dot1q)

Trunk-Ports übertragen mehrere VLANs über ein einzelnes Kabel. Der IEEE-802.1Q-Standard fügt jedem Ethernet-Frame einen 4-Byte-VLAN-Tag mit VLAN-ID (0–4094) ein. Das Native VLAN wird ungetaggt übertragen (Standard: VLAN 1 – sollte aus Sicherheitsgründen geändert werden).

Das Verfahren heißt Frame-Tagging: Der bestehende Ethernet-Frame wird aufgebrochen und der 4 Byte lange Tag eingefügt. Da sich die Frame-Länge ändert, muss der Switch den CRC neu berechnen (FCS). Cisco ISL ist das alte, proprietäre Verfahren und wird von neueren Geräten nicht mehr unterstützt – dot1q ist Standard.

FeldGrößeInhalt
TPID (Tag Protocol Identifier)16 BitKennzeichnet den Frame als getaggt – bei dot1q fest 0x8100
Priority (PCP)3 BitQoS-Priorität 0–7 (Class of Service)
CFI / DEI1 BitCanonical Format Indicator (in Ethernet i.d.R. 0)
VLAN-ID12 BitVLAN-Nummer 0–4095 (nutzbar 1–4094)

DTP – Dynamic Trunking Protocol

Cisco-proprietäres Protokoll zur automatischen Trunk-Aushandlung. Aus Sicherheitsgründen sollte immer manuell konfiguriert und DTP mit switchport nonegotiate deaktiviert werden.

ModusVerhaltenDTP-Frames
accessPermanenter Access-Port, kein TrunkKeine
trunkPermanenter TrunkJa (aktiv)
dynamic desirableWird Trunk wenn Nachbar Trunk/Desirable/AutoJa (aktiv)
dynamic autoWird Trunk nur wenn Nachbar Trunk/DesirableNein (passiv)

VTP – VLAN Trunk Protocol

VTP verteilt VLAN-Datenbanken zentral über alle Switches (Client-Server-Modell). Empfehlung: immer deaktivieren – ein neu eingebrachter Switch mit höherer Revisionsnummer kann die gesamte VLAN-DB überschreiben.

Konfiguration

! ====== VLAN ANLEGEN ====== SW1(config)# vlan 10 SW1(config-vlan)# name Verwaltung SW1(config-vlan)# exit SW1(config)# vlan 20 SW1(config-vlan)# name Daten SW1(config-vlan)# exit ! ====== TRUNK-PORT KONFIGURIEREN ====== SW1(config)# interface GigabitEthernet0/24 SW1(config-if)# switchport trunk encapsulation dot1q ! bei älteren Switches nötig SW1(config-if)# switchport mode trunk SW1(config-if)# switchport nonegotiate ! DTP deaktivieren SW1(config-if)# switchport trunk allowed vlan 10,20 ! Nur erlaubte VLANs SW1(config-if)# switchport trunk native vlan 99 ! Native VLAN ändern (nicht VLAN 1) SW1(config-if)# no shutdown SW1(config-if)# exit ! ====== ACCESS-PORT KONFIGURIEREN ====== SW1(config)# interface range GigabitEthernet0/1 - 8 SW1(config-if-range)# switchport mode access SW1(config-if-range)# switchport access vlan 20 SW1(config-if-range)# no shutdown SW1(config-if-range)# exit ! ====== VOICE VLAN (VoIP / Dual-Port) ====== SW1(config)# interface GigabitEthernet0/10 SW1(config-if)# switchport mode access SW1(config-if)# switchport access vlan 20 ! Daten-VLAN (ungetaggt) SW1(config-if)# switchport voice vlan 150 ! Voice-VLAN (getaggt) SW1(config-if)# exit ! ====== DTP DEAKTIVIEREN ====== SW1(config-if)# switchport nonegotiate ! DTP-Aushandlung komplett aus ! ====== VTP DEAKTIVIEREN ====== SW1(config)# vtp mode transparent ! VTP abschalten (empfohlen) SW1(config)# vtp mode off ! VTP vollständig aus ! ====== VLAN LÖSCHEN ====== SW1(config)# no vlan 10 ! Einzelnes VLAN löschen SW1# delete flash:vlan.dat ! Gesamte VLAN-Datenbank löschen

Verifikation

SW1# show vlan brief ! VLAN-Datenbank & Port-Zuordnung SW1# show interfaces GigabitEthernet0/24 switchport ! Switchport-Details SW1# show interfaces trunk ! Trunk-Ports & erlaubte VLANs SW1# show interfaces status ! Alle Ports mit VLAN, Duplex, Speed SW1# show vtp status ! VTP-Modus, Domain, Revision
Cisco

Spanning Tree Protocol (STP)

Warum STP?

Redundante Layer-2-Verbindungen verursachen Broadcast-Stürme, doppelte Frame-Kopien und instabile MAC-Tabellen. STP verhindert Schleifen, indem es redundante Ports blockiert und diese bei einem Ausfall automatisch öffnet (IEEE 802.1D).

STP-Algorithmus – 4 Phasen

STP Topologie – Root Bridge, Root Ports, Designated Ports, Blocked Port
Abb. – STP: Switch A wird Root Bridge (niedrigste Bridge-ID). Der redundante Link zwischen B und C wird blockiert, um Loops zu verhindern.
  1. Root Bridge bestimmen: Die Bridge mit der niedrigsten Bridge-ID (= Priority + MAC) wird Root Bridge. Standard-Priority: 32768 (muss Vielfaches von 4096 sein).
  2. Root Ports bestimmen: Auf jedem Nicht-Root-Switch wird der Port mit den geringsten Pfadkosten zur Root Bridge als Root Port festgelegt.
  3. Designated Ports bestimmen: Je Netzsegment wird der Port mit dem besten Weg zur Root Bridge als Designated Port festgelegt.
  4. Non-Designated Ports blockieren: Alle verbleibenden Ports werden in den Blocking-Zustand versetzt.

BPDUs & Topologieänderungen

Zum Aufspannen des Baums tauschen benachbarte Switches Bridge Protocol Data Units (BPDUs) aus. Vor der Wahl der Root Bridge sendet jeder Switch BPDUs auf allen Ports; danach werden Konfigurations-BPDUs nur noch von der Root Bridge abwärts geflutet.

TCN / TCA – so läuft eine Topologieänderung ab:
1. Der Switch, der die Änderung bemerkt, sendet eine Topology Change Notification (TCN) Richtung Root Bridge.
2. Die Root Bridge bestätigt mit einem Topology Change Acknowledgement (TCA).
3. Die Root sendet eine Konfigurations-BPDU mit gesetztem Topology-Changed-Bit an alle Switches. Dadurch altern die Einträge der MAC-Address-Table schneller aus (Aging von 300s auf 15s), damit veraltete Pfade rasch verschwinden.

IEEE Pfadkosten

Link SpeedSTP-Kosten
10 Gbit/s2
1 Gbit/s4
100 Mbit/s19
10 Mbit/s100

Port-Zustände

StatusBPDUsMAC lernenDaten weiterleiten
BlockingEmpfangenNeinNein
ListeningSenden & EmpfangenNeinNein
LearningSenden & EmpfangenJaNein
ForwardingSenden & EmpfangenJaJa
DisabledKeineNeinNein

Konvergenzzeit bei Störung (Standard STP): bis zu 50 Sekunden (Max-Age 20s + Listening 15s + Learning 15s).

STP-Varianten

VarianteStandardBesonderheit
STPIEEE 802.1DOriginal; langsam (bis 50s Konvergenz)
RSTPIEEE 802.1wRapid – Konvergenz in Sekunden; ersetzt STP
PVST+Cisco proprietärEigene STP-Instanz pro VLAN; Load Balancing möglich
MSTPIEEE 802.1sVLANs werden Instanzen zugeordnet; skalierbar

Portfast

Portfast überspringt Listening und Learning – der Port gelangt sofort in den Forwarding-Status. Nur auf Access-Ports verwenden (niemals auf Trunk- oder Switch-zu-Switch-Verbindungen, da sonst kurzzeitige Loops entstehen können).

Konfiguration

! ====== STP-MODUS SETZEN ====== SW1(config)# spanning-tree mode pvst ! PVST+ (Cisco Standard) SW1(config)# spanning-tree mode rapid-pvst ! Rapid PVST+ (empfohlen) SW1(config)# spanning-tree mode mst ! MSTP ! ====== ROOT BRIDGE FESTLEGEN ====== SW1(config)# spanning-tree vlan 10 priority 4096 ! Niedrigste Priorität → Root Bridge SW1(config)# spanning-tree vlan 10 root primary ! Automatisch niedrigste Priorität SW1(config)# spanning-tree vlan 20 root secondary ! Fallback Root Bridge für VLAN 20 ! ====== MSTP KONFIGURIEREN ====== SW1(config)# spanning-tree mode mst SW1(config)# spanning-tree mst configuration SW1(config-mst)# name MeineRegion SW1(config-mst)# revision 1 SW1(config-mst)# instance 1 vlan 10,100-110 SW1(config-mst)# instance 2 vlan 20,30,200-210 SW1(config-mst)# exit SW1(config)# spanning-tree mst 1 root primary SW1(config)# spanning-tree mst 2 root secondary ! ====== PORTFAST (ACCESS-PORTS) ====== SW1(config-if)# spanning-tree portfast ! Einzelner Interface SW1(config)# spanning-tree portfast default ! Alle Non-Trunk-Ports global ! ====== INTERFACE ALS HOST-PORT (Kurzbefehl) ====== SW1(config-if)# switchport host ! = access + portfast + no channel-group

Verifikation

SW1# show spanning-tree ! STP-Status aller VLANs SW1# show spanning-tree vlan 10 ! STP für ein VLAN SW1# show spanning-tree vlan 10 detail ! Details inkl. Topologie-Änderungen SW1# show spanning-tree mst configuration ! MST-Region, Name, Instanzen SW1# show spanning-tree mst interface Gi0/1 ! MST Interface-Details
Cisco

PVST+ – Per VLAN Spanning Tree

Was ist PVST+?

Auf aktuellen Cisco-Geräten läuft standardmäßig Per VLAN Spanning Tree Protocol + (PVST+) – ein Cisco-proprietäres Protokoll. PVST+ bildet für jedes VLAN einen eigenen, unabhängigen Spannbaum. Dadurch kann pro VLAN eine andere Root Bridge gewählt werden, was Load-Balancing über redundante Links ermöglicht (siehe STP-Grundlagen).

Rapid-PVST+ kombiniert dieses Prinzip mit der schnellen Konvergenz von RSTP (802.1w) und ist die heute empfohlene Variante.

Bridge Priority & System Extension ID

Beim ursprünglichen STP setzt sich die Bridge ID aus Priority (Standard 32768) und MAC-Adresse zusammen. Bei PVST+ wird die Priority um die System Extension ID (= die VLAN-ID) ergänzt. In show spanning-tree erscheint das z.B. als Priority 32769 (priority 32768 sys-id-ext 1) für VLAN 1.

Wichtig: Die Priority kann nur in 4096er-Schritten (0–61440) verändert werden, da die unteren 12 Bit für die VLAN-ID (sys-id-ext) reserviert sind. Die tatsächliche Bridge Priority ist also stets konfigurierte Priority + VLAN-ID.

Portrollen

Wie im STP werden Portrollen vergeben – PVST+ ergänzt um die Rolle Alternate Port:

RolleKürzelFunktion
Root PortRP / Root FWDBester Pfad zur Root Bridge – leitet weiter
Designated PortDP / Desg FWDBester Port je Segment – leitet weiter
Non-Designated PortNDPKlassisch blockierter Port (Blocking)
Alternate PortAltn BLKPVST+-Pendant zum NDP – im Zustand Blocking, übernimmt bei Ausfall des Root Ports

Konfiguration – Root Bridge

! ====== STP-MODUS (PVST+ / Rapid-PVST+) ====== SW1(config)# spanning-tree mode pvst ! PVST+ (Cisco Standard) SW1(config)# spanning-tree mode rapid-pvst ! Rapid-PVST+ (empfohlen) ! ====== PRIORITY MANUELL SETZEN (4096er-Schritte!) ====== SW1(config)# spanning-tree vlan 10 priority 4096 ! Niedrigste Priority → Root Bridge ! ====== ROOT BRIDGE AUTOMATISCH BESTIMMEN ====== SW1(config)# spanning-tree vlan 10 root primary ! Verringert Priority unter aktuell kleinste SW1(config)# spanning-tree vlan 10 root secondary ! Backup-Root (übernimmt bei Ausfall)

Portfast

Portfast versetzt einen Switchport direkt in den Zustand Forwarding und überspringt Listening/Learning. Nur auf Access-Ports mit Endgeräten verwenden – auf Trunk-/Switch-zu-Switch-Verbindungen drohen sonst kurzzeitige Loops.

! ====== PORTFAST – EINZELNER PORT ====== SW1(config-if)# spanning-tree portfast ! Warnmeldung bestätigen ! ====== PORTFAST – GLOBAL (alle Access-Ports) ====== SW1(config)# spanning-tree portfast default SW1(config-if)# spanning-tree portfast disable ! Pro Port wieder ausnehmen ! Auf einem Trunk-Port (z.B. Router-on-a-Stick) erzwingen: SW1(config-if)# spanning-tree portfast trunk

BPDU Guard

BPDU Guard prüft, ob auf einem Port mit Portfast eine BPDU eintrifft. Da an einem Access-Port keine BPDUs erwartet werden, deutet dies auf einen versehentlich angeschlossenen Switch hin. Der Port wird sofort in den Zustand err-disabled versetzt – wirksamer Schutz vor unautorisierten Switches.

! ====== BPDU GUARD – EINZELNER PORT ====== SW1(config-if)# spanning-tree bpduguard enable ! ====== BPDU GUARD – GLOBAL (auf allen Portfast-Ports) ====== SW1(config)# spanning-tree portfast bpduguard default SW1(config-if)# spanning-tree bpduguard disable ! Pro Port wieder ausnehmen ! ====== ERR-DISABLED PORT WIEDER AKTIVIEREN ====== SW1(config-if)# shutdown SW1(config-if)# no shutdown
Fehlerbild: Triggert BPDU Guard, erscheint im Log %PM-4-ERR_DISABLE: bpduguard error detected ... putting Fa0/1 in err-disable state und der Port geht administrativ down.

Verifikation

SW1# show spanning-tree ! Alle VLAN-Instanzen, Root-/Bridge-ID, Portrollen SW1# show spanning-tree vlan 99 ! STP nur für ein bestimmtes VLAN SW1# show spanning-tree summary ! Modus, Portfast/BPDU-Guard-Default, je VLAN Blocking/Forwarding SW1# show spanning-tree interface Fa0/1 ! STP-Status eines Ports (Rolle, Status, Cost) SW1# show interface status ! Port, Status (connected/err-disabled), VLAN
Ausgabe lesen (show spanning-tree): Die Spalte Role zeigt Root/Desg/Altn, Sts den Zustand (FWD = Forwarding, BLK = Blocking, LRN = Learning), Prio.Nbr die Port-Priorität (Standard 128) + Nachbarport, Type z.B. P2p (Point-to-Point).
Cisco

MSTP – Multiple Spanning Tree

Warum MSTP?

PVST+ berechnet für jedes VLAN einen eigenen Spanning Tree. Bei 200 VLANs sind das 200 Instanzen – viel CPU-Last und viele BPDUs. MSTP (IEEE 802.1s) bündelt VLANs zu wenigen Instanzen. Jede Instanz hat ihren eigenen Root und eigene blockierte Ports – so bleibt Lastverteilung möglich.

Zwei MSTP-Instanzen mit unterschiedlichem Root und unterschiedlich blockierten Links
Abb. – Instanz 1 und Instanz 2 blockieren verschiedene Leitungen – beide Uplinks tragen Verkehr

Begriffe

BegriffBedeutung
RegionGruppe von Switches mit identischer MST-Konfiguration (Name, Revision, VLAN-Zuordnung)
MSTIMultiple Spanning Tree Instance – eine Instanz mit eigener Topologie (1–4094 je nach Plattform)
IST / MST0Internal Spanning Tree – Instanz 0, enthält alle nicht zugeordneten VLANs und spricht mit der Außenwelt
CSTCommon Spanning Tree – verbindet verschiedene Regionen und andere STP-Varianten

Vergleich der STP-Varianten

PVST+Rapid-PVST+MSTP
StandardCisco-proprietärCisco (basiert auf 802.1w)IEEE 802.1s
Instanzeneine pro VLANeine pro VLANwenige, frei gruppiert
Konvergenzlangsam (30–50 s)schnell (Sekunden)schnell (Sekunden)
Ideal fürAltgerätekleine bis mittlere Netzeviele VLANs, gemischte Hersteller

Konfiguration

! ====== AUF ALLEN SWITCHES DER REGION IDENTISCH ====== SW1(config)# spanning-tree mode mst SW1(config)# spanning-tree mst configuration SW1(config-mst)# name REGION-A SW1(config-mst)# revision 1 SW1(config-mst)# instance 1 vlan 10,20 SW1(config-mst)# instance 2 vlan 30,40 SW1(config-mst)# exit ! ====== ROOT JE INSTANZ VERTEILEN ====== SW1(config)# spanning-tree mst 1 root primary ! SW1 = Root für VLAN 10, 20 SW1(config)# spanning-tree mst 2 root secondary SW2(config)# spanning-tree mst 2 root primary ! SW2 = Root für VLAN 30, 40 SW2(config)# spanning-tree mst 1 root secondary

Verifikation

SW1# show spanning-tree mst configuration ! Name, Revision, VLAN-Zuordnung SW1# show spanning-tree mst 1 ! Root, Portrollen und -zustände der Instanz 1 SW1# show spanning-tree mst summary
Häufigster Fehler: Ein Tippfehler im Regionsnamen oder eine abweichende VLAN-Zuordnung – dann bildet der Switch eine eigene Region und die Lastverteilung bricht zusammen. show spanning-tree mst configuration digest zeigt einen Prüfwert, der auf allen Switches gleich sein muss.
Cisco

Port Security, PortFast & BPDU Guard

Was schützt Port Security?

Port Security begrenzt, welche und wie viele MAC-Adressen an einem Access-Port erlaubt sind. Ein fremder Laptop oder ein privat mitgebrachter Switch wird so automatisch abgewiesen.

Erlaubtes Gerät wird weitergeleitet, Fremdgerät löst eine Verletzung aus, mit den drei Verletzungsmodi
Abb. – Bekannte MAC wird weitergeleitet, unbekannte löst eine Verletzung aus

Konfiguration

SW1(config)# interface GigabitEthernet0/5 SW1(config-if)# switchport mode access ! Pflicht – nicht auf dynamischen Ports SW1(config-if)# switchport access vlan 20 SW1(config-if)# switchport port-security ! aktivieren SW1(config-if)# switchport port-security maximum 2 ! z. B. PC + IP-Telefon SW1(config-if)# switchport port-security mac-address sticky ! gelernte MACs übernehmen SW1(config-if)# switchport port-security violation restrict ! protect | restrict | shutdown SW1(config-if)# switchport port-security aging time 60 ! optional: Einträge nach 60 Min. altern SW1(config-if)# end SW1# copy running-config startup-config ! sonst sind sticky-MACs nach Neustart weg

Port im Zustand err-disabled

Im Modus shutdown (Standard) wird der Port bei einer Verletzung deaktiviert. Er bleibt aus, bis ihn ein Admin wieder einschaltet – oder bis die automatische Wiederherstellung greift.

! Manuell wieder freigeben SW1(config)# interface GigabitEthernet0/5 SW1(config-if)# shutdown SW1(config-if)# no shutdown ! Automatisch nach 5 Minuten wieder freigeben SW1(config)# errdisable recovery cause psecure-violation SW1(config)# errdisable recovery interval 300

PortFast & BPDU Guard

Diese beiden Funktionen gehören zum Spanning Tree, schützen aber ebenfalls die Access-Ports:

  • PortFast lässt einen Port zu einem Endgerät sofort in den Zustand Forwarding gehen, statt 30 Sekunden zu warten (Listening/Learning). Der PC bekommt dadurch rechtzeitig seine DHCP-Adresse.
  • BPDU Guard schaltet einen PortFast-Port sofort ab (err-disabled), sobald dort ein BPDU ankommt – also wenn jemand einen Switch anschließt. Das verhindert Schleifen und manipulierte Root-Bridges.
! Pro Port SW1(config-if)# spanning-tree portfast SW1(config-if)# spanning-tree bpduguard enable ! Global für alle PortFast-Ports SW1(config)# spanning-tree portfast default SW1(config)# spanning-tree portfast bpduguard default

Verifikation

SW1# show port-security ! Übersicht aller Ports mit Zählern SW1# show port-security interface gi0/5 ! Status, Modus, letzte Verletzung SW1# show port-security address ! gelernte MAC-Adressen SW1# show interfaces status err-disabled ! abgeschaltete Ports SW1# show spanning-tree interface gi0/5 portfast
Niemals auf Uplinks: PortFast, BPDU Guard und Port Security gehören nur auf Ports zu Endgeräten. Auf einem Trunk zu einem anderen Switch legen sie im besten Fall den Port lahm, im schlimmsten Fall entsteht eine Schleife.
Cisco

Multilayer-Switch (Layer-3-Switch)

Unterschied zum L2-Switch

Ein L2-Switch arbeitet ausschließlich auf Schicht 2 und trifft seine Weiterleitungsentscheidung anhand der MAC-Adressen (Forwarding innerhalb von VLANs). Ein Multilayer-Switch (MLS / Layer-3-Switch) kann zusätzlich Funktionen der Schicht 3 ausführen – insbesondere Inter-VLAN-Routing, ohne dass ein separater Router benötigt wird. Er vereint damit Switching und Routing in einem Gerät und routet in Hardware (ASIC), also deutlich schneller als ein Router.

Werkszustand: Ein Multilayer-Switch verhält sich nach dem Einschalten zunächst wie ein reiner L2-Switch. Die Routing-Funktion muss erst mit ip routing aktiviert werden.

Port-Typen auf dem MLS

Port-TypBefehlFunktion
Access-Portswitchport mode accessL2 – bindet ein Endgerät an genau ein VLAN
Trunk-Portswitchport mode trunkL2 – transportiert mehrere VLANs (dot1q-Tagging)
SVI (Interface VLAN)interface vlan <id>L3 – virtuelles Gateway-Interface eines VLANs
Routed Portno switchportL3 – physischer Port als reiner Router-Port (Uplink/Transportnetz)
Tagging-Standard: Auf neueren MLS-Switches kann beim Trunk auf switchport trunk encapsulation dot1q verzichtet werden, da nur noch dot1q (kein ISL) unterstützt wird. Bei älteren Geräten ist es weiterhin nötig.

1 – Routing-Funktion aktivieren

! ====== ROUTING GLOBAL EINSCHALTEN (Pflicht!) ====== L3Sw1(config)# ip routing ! Ab jetzt routet der Switch zwischen aktiven Interfaces ! Ein zuvor gesetztes 'ip default-gateway' wird dann ignoriert – ! stattdessen kann eine echte 'ip route 0.0.0.0 0.0.0.0 ...' (Default-Route) gesetzt werden.

2 – SVIs für Inter-VLAN-Routing anlegen

Je VLAN wird ein Switched Virtual Interface (SVI) erzeugt; dessen IP-Adresse ist das Default-Gateway des jeweiligen VLANs.

! ====== VLANS IN DER DATENBANK ANLEGEN ====== L3Sw1(config)# vlan 100 L3Sw1(config)# vlan 200 ! ====== SVIs ANLEGEN ====== L3Sw1(config)# interface vlan 100 L3Sw1(config-if)# ip address 192.168.100.254 255.255.255.0 ! Gateway VLAN 100 L3Sw1(config-if)# no shutdown L3Sw1(config)# interface vlan 200 L3Sw1(config-if)# ip address 192.168.200.254 255.255.255.0 ! Gateway VLAN 200 L3Sw1(config-if)# no shutdown
Achtung: Ein SVI lässt sich anlegen, ohne dass das zugehörige VLAN existiert – ohne entsprechenden Eintrag in der VLAN-Datenbank (und mind. einen aktiven Port im VLAN) wird das SVI jedoch nicht funktional und bleibt down.

3 – Routed Port (Uplink zum Router)

Ein physischer Port wird mit no switchport vom L2- in den L3-Modus umgeschaltet und erhält eine eigene IP – ideal für ein Transportnetz zum Border-Router.

L3Sw1(config)# interface GigabitEthernet 0/3 L3Sw1(config-if)# no switchport ! Port in L3-Modus (Routed Port) L3Sw1(config-if)# ip address 192.168.0.1 255.255.255.0 L3Sw1(config-if)# no shutdown L3Sw1(config-if)# switchport ! Zurück in den L2-Modus
„Ohne"-Routing & Verifikation: Selbst ohne ip routing erreicht ein Client sein eigenes Gateway-SVI sowie einen Routed Port – diese IP-Adressen liegen direkt auf dem Switch (in dessen ARP-Tabelle). Beim Pingen daher nicht nur das Gateway, sondern ein Ziel im anderen VLAN testen, um echtes Routing nachzuweisen. Dynamisches Routing (OSPF) ist erst nach ip routing möglich.

Verifikation

L3Sw1# show ip route ! Routing-Tabelle – Connected-Eintrag je SVI/Routed Port L3Sw1# show ip interface brief ! SVIs & Routed Ports: IP + Status L3Sw1# show interfaces status ! Alle Ports: VLAN / „routed" L3Sw1# show vlan brief ! VLAN-Datenbank & Port-Zuordnung L3Sw1# show running-config | include ip routing ! Ist Routing aktiv?
Weiterführend: Den Methodenvergleich Router-on-a-Stick vs. L3-Switch behandelt der Abschnitt Inter-VLAN-Routing; statische und dynamische Wegewahl siehe Statisches Routing und OSPF.
Cisco

EtherChannel – Link Aggregation

Was ist EtherChannel?

EtherChannel (IEEE: Link Aggregation) bündelt mehrere physikalische Schnittstellen zu einer einzigen logischen Schnittstelle. Spanning Tree behandelt diesen logischen Link als einen einzigen Link — keine Schleifen, keine blockierten Ports.

  • Erhöhte Bandbreite — mehrere Links parallel genutzt
  • Redundanz — fällt ein Link aus, übernehmen die anderen automatisch
  • Grenze: Max. 16 physische Ports je Gruppe, davon max. 8 gleichzeitig aktiv
Wichtig: Ein einzelner Datenfluss kann nie mehr als die Bandbreite einer einzelnen physischen Verbindung nutzen. EtherChannel ist wie mehr Fahrspuren — die Geschwindigkeit bleibt gleich, der Durchsatz steigt.

Voraussetzungen

  • Speed und Duplex aller Interfaces identisch
  • VLAN-Konfiguration (Access/Trunk) auf allen Ports gleich
  • Kein dot1x, kein Voice VLAN auf diesen Ports

Protokolle im Vergleich

ProtokollStandardModiEmpfehlung
LACPIEEE 802.3ad – offenactive / passiveBevorzugt (herstellerunabhängig)
PAgPCisco proprietärdesirable / autoNur zwischen Cisco-Geräten
Static (on)–on / onNur wenn kein Protokoll unterstützt wird

Konfiguration

! ====== LACP (empfohlen) ====== SW1(config)#interface range GigabitEthernet 0/1 - 2 SW1(config-if-range)#channel-group 1 mode active ! aktiv – fordert EtherChannel an SW2(config)#interface range GigabitEthernet 0/1 - 2 SW2(config-if-range)#channel-group 1 mode passive ! passiv – antwortet auf Anfragen ! ====== PAgP ====== SW1(config-if-range)#channel-group 1 mode desirable ! aktiv SW2(config-if-range)#channel-group 1 mode auto ! passiv ! ====== STATISCH ====== SW1(config-if-range)#channel-group 1 mode on SW2(config-if-range)#channel-group 1 mode on ! ====== TRUNK AUF PORT-CHANNEL KONFIGURIEREN ====== SW1(config)#interface Port-channel 1 ! Immer auf dem port-channel, NICHT auf phys. IF SW1(config-if)#switchport trunk encapsulation dot1q SW1(config-if)#switchport mode trunk ! ====== FLOWCONTROL (802.3X – PAUSE-Frames) ====== SW1(config-if)#flowcontrol receive on ! Bei sicher unterstütztem Gegenstelle SW1(config-if)#flowcontrol receive desired ! Bei unbekanntem Gegenstelle (sicherer) ! ====== LOAD BALANCING ====== SW1(config)#port-channel load-balance src-dst-ip ! Empfohlen bei mehreren Flows ! Optionen: src-mac | dst-mac | src-dst-mac | src-ip | dst-ip | src-dst-ip

Empfohlene Konfigurationsreihenfolge

SW1(config)#default interface range GigabitEthernet 0/1-2 ! Interfaces zurücksetzen SW1(config)#interface range GigabitEthernet 0/1-2 SW1(config-if-range)#shutdown SW1(config-if-range)#channel-group 1 mode active SW1(config-if-range)#exit SW1(config)#port-channel load-balance src-dst-ip SW1(config)#interface port-channel 1 SW1(config-if)#shutdown SW1(config-if)#flowcontrol receive on SW1(config-if)#no shutdown ! Bringt automatisch auch phys. IFs hoch

Verifikation

SW1#show etherchannel summary ! Übersicht: Gruppe, Protokoll, Status (SU=aktiv) SW1#show etherchannel 1 port-channel ! Details zu Gruppe 1 SW1#show interfaces GigabitEthernet 0/1 etherchannel ! Interface-Detail SW1#show EtherChannel load-balance ! Aktuellen LB-Algorithmus anzeigen SW1#show interfaces port-channel 1 ! Logisches Interface anzeigen
Cisco

HSRP – Hot Standby Router Protocol

HSRP Active/Standby – Virtual IP und automatischer Failover
Abb. – HSRP: Clients verwenden die virtuelle IP als Gateway. Bei Ausfall des Active-Routers übernimmt der Standby-Router nahtlos.

Warum HSRP?

Clients haben nur ein Default-Gateway. Fällt dieses aus, ist keine Kommunikation in externe Netze mehr möglich (Single Point of Failure). HSRP löst das durch eine gemeinsame virtuelle IP- und MAC-Adresse, die von mehreren Routern/L3-Switches gemeinsam verwaltet wird. Der Ausfall eines Geräts bleibt für den Client transparent.

Rollen & Funktionsweise

  • Mehrere Router bilden eine HSRP-Gruppe (0–4095)
  • Active Router — übernimmt aktiv das Routing, hält die virtuelle IP
  • Standby Router — bereit zu übernehmen
  • Listen-State — restliche Router in der Gruppe
  • Hello-Pakete alle 3 Sek., Holdtime 10 Sek.
  • Fällt der Active-Router aus, übernimmt Standby nach Ablauf der Holdtime
Grenzen: Pro Gerät können maximal 256 HSRP-Gruppen angelegt werden; eine einzelne Gruppe kann maximal 32 Geräte aufnehmen. Die virtuelle IP dient Hosts als Default-Gateway, kann aber auch als Next-Hop in statischen Routen verwendet werden. HSRPv1 und HSRPv2 sind wegen unterschiedlicher Adressen, Gruppennummern und Paketformate zueinander inkompatibel.

HSRPv1 vs. HSRPv2

EigenschaftHSRPv1HSRPv2
Virtuelle MAC00:00:0C:07:AC:GrpNr (hex)00:00:0C:9F:Fx:xx (hex)
Multicast-IP224.0.0.2224.0.0.102
Gruppen-Nr.0–2550–4095 (passt zu VLAN-IDs)
Empfehlung–Immer v2 verwenden

Konfiguration

! Konfiguration auf dem IP-Interface (VLAN-SVI oder physisches Interface) ! ====== GRUNDKONFIGURATION ====== SW1(config-if)#standby version 2 ! HSRPv2 aktivieren SW1(config-if)#standby 30 ip 172.16.30.201 ! Virtuelle IP für Gruppe 30 SW1(config-if)#standby 30 priority 110 ! Priorität (Default 100) – höchste wird Active SW1(config-if)#standby 30 preempt ! Rückübernahme nach Rückkehr erlauben ! ====== TRACKING – lokales Interface ====== SW1(config)#track 1 interface GigabitEthernet 0/1 line-protocol ! Track anlegen SW1(config-if)#standby 30 track 1 decrement 20 ! Prio -20 bei Ausfall ! ====== TRACKING – IP SLA (Ziel-IP-Erreichbarkeit) ====== SW1(config)#ip sla 2 SW1(config-ip-sla)#icmp-echo 172.20.11.11 source-interface vlan 20 SW1(config-ip-sla-echo)#frequency 5 ! Ping alle 5 Sekunden SW1(config)#ip sla schedule 2 life forever start-time now SW1(config)#track 2 ip sla 2 reachability SW1(config-if)#standby 30 track 2 decrement 20 ! ====== MD5-AUTHENTIFIZIERUNG (Schutz vor HSRP-Spoofing) ====== SW1(config-if)#standby 30 authentication md5 key-string 0 P@ssw0rd SW1(config)#service password-encryption ! Passwort mit Sichtschutz versehen

Verifikation

SW1#show standby brief ! Alle HSRP-Gruppen: Status, Prio, VIP (P=preempt aktiv) SW1#show standby ! Detailansicht aller HSRP-Prozesse SW1#show track ! Alle Tracks: Status, letzte Änderung SW1#show ip sla summary ! IP-SLA Übersicht: OK oder Timeout SW1#debug standby ! HSRP Debug (alle Pakete inkl. Hello) SW1#debug standby terse ! HSRP Debug ohne Hello/Advertisement SW1#debug standby errors ! Nur Fehlermeldungen
Wichtig: preempt muss explizit konfiguriert werden. Ohne es bleibt nach einem Ausfall und Rückkehr des ursprünglichen Active-Routers der neue Active-Router aktiv — auch bei niedrigerer Priorität.
Cisco

CDP – Cisco Discovery Protocol

Was ist CDP?

CDP ist ein proprietäres Layer-2-Protokoll von Cisco, das benachbarte Cisco-Geräte automatisch erkennt. Es läuft direkt über der Schicht 2 (Data Link) und ist unabhängig von IP. CDP ist auf Cisco-Geräten standardmäßig aktiviert.

CDP übermittelt: Gerätename, Plattform, IOS-Version, IP-Adresse, Interface, VTP-Domain, VLAN-Info, Duplex.

Sicherheitshinweis: CDP sendet sensible Geräteinformationen! Auf Interfaces Richtung Internet oder nicht vertrauenswürdige Netze immer deaktivieren.

CDP Verifikation

! ====== VERIFIKATION ====== R1# show cdp ! CDP global: aktiviert? Timer? Version? R1# show cdp neighbors ! Nachbarn: Name, Interface, Plattform, Port R1# show cdp neighbors detail ! + IP-Adresse, IOS-Version, Duplex R1# show cdp interface ! CDP-Status pro Interface (aktiv/inaktiv) R1# show cdp entry R2 ! Details zu einem bestimmten Nachbarn R1# show cdp traffic ! CDP-Pakete gesendet/empfangen (Statistik)

Capability Codes lesen

In der Ausgabe von show cdp neighbors beschreibt die Spalte Capability die Rolle des Nachbarn als ein- oder mehrstelliger Code. So lässt sich auf einen Blick erkennen, ob das Gegenüber ein Router, Switch oder z.B. ein IP-Telefon ist.

CodeBedeutungCodeBedeutung
RRouterIIGMP
SSwitchrRepeater
TTransparent BridgePPhone (IP-Telefon)
BSource-Route BridgeHHost

Beispielausgabe – show cdp neighbors detail

Die Detailansicht liefert über die Kurzform hinaus die IP-Adresse, die genaue IOS-Version, die Holdtime und – bei Switch-Nachbarn – das Native VLAN und den Duplex-Status.

Router1# show cdp neighbors detail ------------------------- Device ID: Router2 Entry address(es): IP address: 192.168.2.2 Platform: Cisco , Capabilities: Router Source-Route-Bridge Interface: GigabitEthernet0/1, Port ID (outgoing port): GigabitEthernet0/0 Holdtime : 143 sec Version : Cisco IOS Software, IOSv Software (VIOS-ADVENTERPRISEK9-M), Version 15.6(2)T advertisement version: 2 Management address(es): IP address: 192.168.2.2 ------------------------- Device ID: Switch1.test.lab Platform: Cisco , Capabilities: Router Switch IGMP Interface: GigabitEthernet0/0, Port ID (outgoing port): GigabitEthernet1/3 Holdtime : 147 sec advertisement version: 2 Native VLAN: 1 Duplex: half

CDP Konfiguration

! ====== KONFIGURATION ====== ! Global deaktivieren / aktivieren: R1(config)# no cdp run ! CDP komplett deaktivieren R1(config)# cdp run ! CDP global aktivieren (Standard) ! Pro Interface (empfohlen für WAN/Internet-Ports): R1(config)# interface GigabitEthernet0/1 R1(config-if)# no cdp enable ! CDP auf diesem Interface deaktivieren R1(config-if)# cdp enable ! CDP auf Interface aktivieren ! Timer anpassen (Standard: 60s Sendeintervall, 180s Holdtime): R1(config)# cdp timer 30 ! Sendeintervall in Sekunden R1(config)# cdp holdtime 90 ! Wie lange Nachbar-Info gespeichert wird
Cisco

LLDP – Link Layer Discovery Protocol

Was ist LLDP?

LLDP ist ein herstellerunabhängiger Standard (IEEE 802.1AB) für Nachbarschaftserkennung – das Pendant zu Ciscos CDP. Es funktioniert auf Schicht 2 und ermöglicht Geräten verschiedener Hersteller, sich gegenseitig zu identifizieren. Auf Cisco-Geräten ist LLDP standardmäßig deaktiviert.

CDP vs. LLDP

MerkmalCDPLLDP
StandardCisco proprietärIEEE 802.1AB (offen)
Standard-StatusAktiviertDeaktiviert
InteroperabilitätNur Cisco-GeräteAlle Hersteller
Sendeintervall60 Sekunden30 Sekunden
Holdtime180 Sekunden120 Sekunden

LLDP Konfiguration

! ====== KONFIGURATION ====== ! Global aktivieren (auf Cisco standardmäßig aus): R1(config)# lldp run ! LLDP global aktivieren R1(config)# no lldp run ! LLDP global deaktivieren ! Pro Interface steuern (granularer als global): R1(config)# interface GigabitEthernet0/0 R1(config-if)# lldp transmit ! LLDP senden aktivieren R1(config-if)# lldp receive ! LLDP empfangen aktivieren R1(config-if)# no lldp transmit ! LLDP senden deaktivieren R1(config-if)# no lldp receive ! LLDP empfangen deaktivieren R1(config-if)# exit ! Timer anpassen: R1(config)# lldp timer 30 ! Sendeintervall (Standard: 30s) R1(config)# lldp holdtime 120 ! Holdtime (Standard: 120s) R1(config)# lldp reinit 2 ! Reinitialisierungs-Delay (Standard: 2s)

LLDP Verifikation

! ====== VERIFIKATION ====== R1# show lldp ! LLDP global Status & Timer R1# show lldp neighbors ! Nachbarn: Name, Interface, Fähigkeiten R1# show lldp neighbors detail ! + IP-Adresse, System-Beschreibung R1# show lldp interface ! LLDP TX/RX-Status pro Interface R1# show lldp entry * ! Alle LLDP-Einträge R1# show lldp traffic ! Statistik: Pakete gesendet/empfangen
Cisco

Statisches Routing & Route Selection

📘 Hintergründe & Grafiken: Statische Routen, Floating Static, IP SLA – im Kapitel Routing. Hier steht die Cisco-Konfiguration.

Routing-Methoden im Überblick

MethodeVorteileNachteile
ConnectedAutomatisch, kein OverheadNur direkt verbundene Netze
StatischKein Overhead, sicher, kontrolliertHoher Aufwand, keine automatische Anpassung
Default RouteFallback für unbekannte NetzeKeine spezifische Steuerung
DynamischSkalierbar, automatisch, flexibelOverhead, komplexe Konfiguration

Administrative Distanz (AD)

Wenn mehrere Quellen eine Route zum gleichen Ziel anbieten, gewinnt die Quelle mit der niedrigsten AD.

Protokoll / QuelleAD
Directly Connected0
Static Route1
eBGP20
OSPF110
IS-IS115
RIP120
iBGP200
Unknown (nie in RIB)255

Longest Prefix Match

Treffen mehrere Routen auf eine Ziel-IP zu, gewinnt die spezifischste Route (meisten übereinstimmenden Bits). Beispiel: Für Ziel 192.168.32.15 gewinnt 192.168.32.0/26 gegen 192.168.32.0/24 – obwohl beide passen.

Route Selection Process:
1. Routing-Protokolle schlagen der RIB ihre besten Routen vor.
2. Konkurrenz: niedrigste AD gewinnt → bei Gleichstand: niedrigste Metrik → bei Gleichstand: alle Routen (Load Balancing).
3. Forwarding: Longest Prefix Match bestimmt die tatsächlich genutzte Route.

Routed- vs. Routing-Protokolle

Layer-3-Protokolle werden in zwei Klassen unterschieden:

  • Routed-Protokolle transportieren die Nutzdaten und liefern die Adressinformationen, auf deren Grundlage geroutet wird – z.B. IPv4, IPv6, IPX.
  • Routing-Protokolle sammeln und verteilen Wegeinformationen, damit jeder Router das beste Interface zum Ziel wählen kann – z.B. RIPv2, OSPF, EIGRP, IS-IS, BGP.

Distance Vector vs. Link State

MerkmalDistance VectorLink State
Sicht„Sicht über den Nachbarn" – nur Richtung & Gesamtkosten bekannt, nicht der exakte PfadVollständige Topologiesicht (LSDB) im gesamten Bereich
AustauschKomplette Routing-Tabelle/Kostenmatrix an direkte NachbarnLink-State-Informationen per Flooding (Multicast) an alle
BeispielRIP (Hop Count, max. 15)OSPF, IS-IS (SPF/Dijkstra)
KonvergenzLangsamer, Gefahr von Routing-LoopsSchnell, schleifenfrei

EIGRP ist ein Advanced Distance Vector-Protokoll: Es verhält sich beim Austausch und der Speicherung von Routen ähnlich wie ein Link-State-Protokoll, baut aber wie ein Distance-Vector-Protokoll auf Nachbar-Updates auf.

Dynamische Routing-Protokolle

ProtokollTypADMetrik
RIPDistance Vector120Hop Count (max 15)
EIGRPAdvanced Distance Vector90Bandbreite + Delay
OSPFLink State110Cost (Referenz: 100 Mbit/s)
IS-ISLink State115Cost
BGPPath Vector20 (eBGP) / 200 (iBGP)Attribute

Konfiguration

! ====== STATISCHE ROUTE ====== ! ip route <Zielnetz> <Subnetzmaske> [Interface] <Next-Hop-IP> R1(config)# ip route 10.10.30.0 255.255.255.0 10.0.0.6 ! Via Next-Hop R1(config)# ip route 10.10.30.0 255.255.255.0 GigabitEthernet0/1 10.0.0.6 ! Interface + Next-Hop ! ====== DEFAULT ROUTE ====== R1(config)# ip route 0.0.0.0 0.0.0.0 10.0.0.1 ! Default Gateway des Routers ! ====== ROUTING AKTIVIEREN (Layer-3-Switch) ====== SW1(config)# ip routing ! IPv4-Routing global aktivieren ! ====== STATISCHE ROUTE LÖSCHEN ====== R1(config)# no ip route 10.10.30.0 255.255.255.0 10.0.0.6

Verifikation

R1# show ip route ! Gesamte Routing-Tabelle (RIB) R1# show ip route static ! Nur statische Routen R1# show ip route connected ! Direkt verbundene Netze R1# show running-config | section ip route ! Konfigurierte statische Routen R1# show ip protocols ! Aktive Routing-Protokolle ! Routing-Tabellen-Legende: ! C = Connected L = Local S = Static R = RIP ! D = EIGRP O = OSPF B = BGP i = IS-IS
Cisco

OSPF – Open Shortest Path First

📘 Hintergründe & Grafiken: OSPF-Grundlagen, Multi-Area und LSA-Typen – im Kapitel Routing. Hier steht die Cisco-Konfiguration.
OSPF Topologie – Router-IDs, Areas, Nachbarschaftsaufbau
Abb. – OSPF: Alle Router tauschen LSAs aus und berechnen per SPF-Algorithmus eigenständig die besten Pfade. Zielzustand: Full Adjacency.

Grundlagen

OSPF (AD 110) ist ein dynamisches Link-State-Routingprotokoll und verwendet den Dijkstra-SPF-Algorithmus. Jeder Router besitzt eine vollständige Topologiesicht (LSDB – Link State Database) und berechnet eigenständig die besten Pfade.

  • Hello-Pakete alle 10 Sekunden → Nachbarschaft aufrechterhalten
  • Dead-Timer 40 Sekunden → Nachbar gilt als ausgefallen
  • Triggered Updates bei Topologieänderungen (sofort, kein Warten)
  • Periodische Updates alle 30 Minuten (LSA Refresh)

Cost – OSPF-Metrik

Cost = 100.000.000 ÷ Bandbreite in bit/s. Bei Referenzbandbreite 100 Mbit/s: FastEthernet = 1, GigabitEthernet = 1 (gerundet). Zur Differenzierung von GigE und 10GigE die Referenzbandbreite mit auto-cost reference-bandwidth erhöhen.

OSPF-Nachbarschaftsstatus

StatusBedeutung
DownKeine Hellos empfangen
InitHello empfangen, Gegenstelle hat uns noch nicht bestätigt
Two-WayGegenseitige Bestätigung; DR/BDR-Wahl findet statt
ExStartMaster/Slave-Aushandlung für DBD-Austausch
ExchangeDatabase Descriptor (DBD) Austausch
LoadingLSR/LSU-Austausch fehlender Informationen
FullLSDB synchronisiert – vollständige Nachbarschaft

DR / BDR

In Broadcast-Segmenten wird ein Designated Router (DR) und Backup DR (BDR) gewählt, um LSA-Floods zu minimieren. Wahl: höchste OSPF-Priority (Standard 1), bei Gleichstand höchste Router-ID. Priority 0 = kann kein DR/BDR werden.

Häufige Fehlerursachen (keine Adjacency)

  • Area-ID stimmt nicht überein
  • Unterschiedliche Hello- oder Dead-Timer
  • Unterschiedliche Subnetzmasken am Interface
  • MTU-Mismatch (Nachbarschaft bleibt in Exchange/ExStart)
  • Authentifizierungs-Mismatch
  • Identische Router-IDs

Konfiguration

! ====== OSPF-PROZESS AKTIVIEREN ====== R1(config)# router ospf 1 ! Prozess-ID lokal (1–65535) R1(config-router)# router-id 1.1.1.1 ! Router-ID explizit setzen ! ====== INTERFACES EINBINDEN (empfohlen) ====== R1(config)# interface GigabitEthernet0/0 R1(config-if)# ip ospf 1 area 0 R1(config)# interface Loopback0 R1(config-if)# ip ospf 1 area 0 R1(config-if)# ip ospf network point-to-point ! Loopback mit echter Maske ! ====== ALTERNATIVE: NETWORK-BEFEHL ====== R1(config-router)# network 192.168.1.0 0.0.0.255 area 0 ! Wildcard-Maske! ! ====== PASSIVE INTERFACES ====== R1(config-router)# passive-interface default ! Alle passiv setzen R1(config-router)# no passive-interface GigabitEthernet0/0 ! Aktive freigeben ! ====== DR/BDR-PRIORITÄT ====== R1(config-if)# ip ospf priority 200 ! 0-255; 0 = kein DR/BDR ! ====== POINT-TO-POINT (kein DR/BDR) ====== R1(config-if)# ip ospf network point-to-point ! ====== AUTHENTICATION (MD5) ====== R1(config-if)# ip ospf message-digest-key 1 md5 GeheimKey R1(config-if)# ip ospf authentication message-digest ! oder global für eine Area: R1(config-router)# area 0 authentication message-digest ! ====== REDISTRIBUTION ====== R1(config-router)# redistribute static subnets ! Statische Routen in OSPF R1(config-router)# default-information originate ! Default-Route verteilen

Verifikation

R1# show ip ospf neighbor ! Nachbarn & Status (Full = OK) R1# show ip ospf neighbor detail ! Detaillierte Nachbar-Infos R1# show ip ospf ! OSPF-Prozess, Router-ID, Areas R1# show ip ospf interface GigabitEthernet0/0 ! OSPF Interface-Details R1# show ip route ospf ! Nur OSPF-Routen (O, O E1, O E2) R1# show ip protocols ! Routing-Protokolle & Router-ID ! ====== TROUBLESHOOTING ====== R1# debug ip ospf adj ! Nachbarschaftsaufbau (Auth, Area) R1# debug ip ospf hello ! Hello-Pakete (Timer, Maske) R1# debug ip ospf packet ! Alle OSPF-Pakete
Cisco

Inter-VLAN-Routing

📘 Hintergründe & Grafiken: Wie ein Router entscheidet – im Kapitel Routing. Hier steht die Cisco-Konfiguration.

Ausgangslage

VLANs trennen Broadcasts und isolieren Netzsegmente — gleichzeitig können Hosts aus verschiedenen VLANs per Standard nicht miteinander kommunizieren. Damit VLAN 10 mit VLAN 20 sprechen kann, wird ein Layer-3-Gerät benötigt, das zwischen den Netzen routet.

Zwei gängige Methoden: Router-on-a-Stick (ein physischer Router-Port, Sub-Interfaces) oder ein Layer-3-Switch mit SVIs.

Methode 1 – Router-on-a-Stick

Ein physisches Interface wird in mehrere logische Sub-Interfaces aufgeteilt. Jedes Sub-Interface wird einem VLAN zugeordnet und erhält eine eigene IP-Adresse (Default-Gateway für dieses VLAN). Der Switch-Port zum Router wird als Trunk konfiguriert.

! ====== SWITCH – TRUNK ZUM ROUTER ====== SW(config)#interface GigabitEthernet 0/1 SW(config-if)#switchport mode trunk SW(config-if)#switchport trunk encapsulation dot1q ! ====== ROUTER – PHYSISCHES INTERFACE AKTIVIEREN ====== R1(config)#interface GigabitEthernet 0/0 R1(config-if)#no shutdown ! Wichtig: Konfiguration IMMER auf dem physischen Interface activieren, ! nicht direkt auf dem Sub-Interface! ! ====== ROUTER – SUB-INTERFACES ANLEGEN ====== R1(config)#interface GigabitEthernet 0/0.10 ! Sub-IF für VLAN 10 R1(config-subif)#encapsulation dot1q 10 ! VLAN-Tag 10 zuordnen R1(config-subif)#ip address 10.10.10.1 255.255.255.0 ! Gateway für VLAN 10 R1(config)#interface GigabitEthernet 0/0.20 ! Sub-IF für VLAN 20 R1(config-subif)#encapsulation dot1q 20 ! VLAN-Tag 20 zuordnen R1(config-subif)#ip address 10.10.20.1 255.255.255.0 ! Gateway für VLAN 20 ! Natives VLAN (ungetaggt) definieren: R1(config-subif)#encapsulation dot1q 1 native ! VLAN 1 ungetaggt übertragen
Hinweis: Ist das physische Interface (z.B. Gi0/0) nicht aktiv (no shutdown), sind alle zugehörigen Sub-Interfaces ebenfalls down.

Methode 2 – Layer-3-Switch mit SVIs

Switched Virtual Interfaces (SVIs) sind logische Layer-3-Interfaces, die einem VLAN zugeordnet werden. Ein Layer-3-Switch kann mehrere SVIs betreiben und damit als Router für alle angebundenen VLANs fungieren — schneller als ein dedizierter Router und einfacher zu konfigurieren.

! ====== L3-SWITCH – VLAN ANLEGEN ====== SW(config)#vlan 10 SW(config)#vlan 20 ! ====== L3-SWITCH – IP-ROUTING AKTIVIEREN (Pflicht!) ====== SW(config)#ip routing ! ====== L3-SWITCH – SVIs ANLEGEN ====== SW(config)#interface vlan 10 SW(config-if)#ip address 10.10.10.1 255.255.255.0 ! Gateway für VLAN 10 SW(config-if)#no shutdown ! Voraussetzung: Das VLAN muss in der DB vorhanden sein UND ! mind. ein aktiver Access-Port in diesem VLAN muss existieren! SW(config)#interface vlan 20 SW(config-if)#ip address 10.10.20.1 255.255.255.0 ! Gateway für VLAN 20 SW(config-if)#no shutdown ! ====== L3-SWITCH – ROUTED PORT (WAN/Uplink zu Router) ====== SW(config)#interface GigabitEthernet 0/1 SW(config-if)#no switchport ! Port vom L2 in L3-Modus umschalten SW(config-if)#ip address 192.168.1.2 255.255.255.0 SW(config-if)#no shutdown

Verifikation

! Auf dem Router (Router-on-a-Stick): R1#show ip interface brief ! Sub-Interfaces: Status + IP R1#show interfaces GigabitEthernet 0/0.10 ! Sub-Interface Detail ! Auf dem Switch (L3 und L2): SW#show ip interface brief ! SVIs: Status + IP SW#show interfaces status ! Alle Ports + VLAN-Zuordnung SW#show vlan [brief] ! VLAN-Datenbank SW#show interface trunk ! Trunk-Ports: erlaubte VLANs SW#show ip interface vlan 10 ! SVI-Detail inkl. L2-Adresse SW#show ip route ! Routing-Tabelle: Connected-Einträge je VLAN

Vergleich der Methoden

KriteriumRouter-on-a-StickL3-Switch + SVIs
HardwareRouter + SwitchNur L3-Switch
GeschwindigkeitBegrenzt durch RouterRouting in Hardware — bis 10× schneller
SkalierbarkeitLimitiert durch Router-Ports / Sub-IFsGut — ein SVI je VLAN
WAN-AnbindungRouter direkt nutzbarSeparater Router empfohlen
EinsatzKleine Umgebungen, LabUnternehmensnetze

Praxisbeispiel – Router-on-a-Stick (ISR 4000)

Vollständige Konfiguration für drei VLANs auf einem ISR 4000. Achtung: Neuere ISR-Router (4000er-Serie) verwenden eine dreistufige Interface-Notation (Gi0/0/0: Einheit/Steckplatz/Port).

! ====== GRUNDKONFIGURATION ====== Router# enable Router# configure terminal Router(config)# no ip domain-lookup Router(config)# enable secret cisco Router(config)# hostname Router1 Router1(config)# ip domain-name lab.example.com Router1(config)# service password-encryption Router1(config)# username admin privilege 15 secret admincisco Router1(config)# line con 0 Router1(config-line)# password concisco Router1(config-line)# login Router1(config-line)# logging synchronous Router1(config-line)# exec-timeout 15 0 Router1(config-line)# exit ! ====== SUB-INTERFACES FÜR INTER-VLAN-ROUTING ====== ! ISR 4000: Gi0/0/0 (3 Zahlen) – ältere ISR / Packet Tracer: Gi0/0 (2 Zahlen) Router1(config)# interface GigabitEthernet0/0/0.10 Router1(config-subif)# encapsulation dot1Q 10 Router1(config-subif)# ip address 192.168.0.254 255.255.255.0 ! Gateway VLAN 10 Router1(config-subif)# no shutdown Router1(config-subif)# exit Router1(config)# interface GigabitEthernet0/0/0.20 Router1(config-subif)# encapsulation dot1Q 20 Router1(config-subif)# ip address 172.16.0.254 255.255.255.0 ! Gateway VLAN 20 Router1(config-subif)# no shutdown Router1(config-subif)# exit Router1(config)# interface GigabitEthernet0/0/0.999 Router1(config-subif)# encapsulation dot1Q 999 Router1(config-subif)# ip address 10.0.0.254 255.255.255.0 ! Gateway Management-VLAN Router1(config-subif)# no shutdown Router1(config-subif)# exit
Interface-Notation ISR 4000 vs. ISR 2900/3900: Ältere Router und Packet Tracer nutzen GigabitEthernet0/0 (2 Zahlen). ISR 4000-Router (physisch im Labor) nutzen GigabitEthernet0/0/0 (3 Zahlen). Sub-Interfaces werden bei beiden mit Punktnotation angehängt: Gi0/0/0.10 bzw. Gi0/0.10.
Cisco

Cisco Geräte absichern

Passworttypen im Überblick

PassworttypBefehlVerschlüsselungEmpfehlung
enable secretenable secret [PW]MD5 (Typ 5) oder SHA256 (Typ 9)✅ Immer verwenden
enable passwordenable password [PW]Klartext / Typ 7 (schwach)❌ Nicht verwenden
Consoleline console 0 + passwordKlartext (ohne service pw-enc.)✅ Immer setzen
VTYline vty 0 4 + passwordKlartext (ohne service pw-enc.)✅ + login local
username secretusername X secret [PW]MD5/SHA256✅ Für SSH nutzen
Regel: Immer enable secret statt enable password. Falls beide gesetzt sind, hat enable secret Vorrang und enable password wird ignoriert.

Vollständige Absicherung – Konfiguration

! ====== PASSWORT-MINDESTLÄNGE ====== R1(config)# security passwords min-length 12 ! Mindestlänge für alle lokalen Passwörter ! ====== PRIVILEGED EXEC ABSICHERN ====== R1(config)# enable secret Adm1nPass! ! MD5-verschlüsselt, Vorrang vor enable pw ! ====== ALLE PASSWÖRTER SCHWACH VERSCHLÜSSELN ====== R1(config)# service password-encryption ! Typ-7 für Console/VTY-Passwörter ! ====== LOKALEN BENUTZER ANLEGEN ====== R1(config)# username admin privilege 15 secret Adm1nPass! ! Privilege 15 = voller Zugriff ! ====== CONSOLE ABSICHERN ====== R1(config)# line console 0 R1(config-line)# login local ! Lokale User-DB verwenden R1(config-line)# exec-timeout 5 0 ! 5 Min. Inaktivitäts-Timeout (Min Sek) R1(config-line)# logging synchronous ! Systemmeldungen nicht in Eingabe mischen R1(config-line)# exit ! ====== VTY (TELNET/SSH) ABSICHERN ====== ! Hinweis: Neuere Geräte haben 0–15 (16 VTY-Leitungen), ältere nur 0–4 R1(config)# line vty 0 15 R1(config-line)# login local R1(config-line)# transport input ssh ! Nur SSH erlauben – kein Telnet R1(config-line)# exec-timeout 5 0 R1(config-line)# logging synchronous R1(config-line)# exit ! ====== CDP DEAKTIVIEREN (empfohlen im produktiven Betrieb) ====== R1(config)# no cdp run ! CDP global aus – spart Infos für Angreifer ! ====== BANNER SETZEN (3 Typen) ====== ! motd = vor dem Login angezeigt (Message of the Day) ! login = direkt bei der Login-Eingabe angezeigt ! exec = nach erfolgreichem Login angezeigt R1(config)# banner motd # *** WARNUNG: Nur autorisierter Zugriff gestattet! Unbefugter Zugriff wird verfolgt und gemeldet. *** # R1(config)# banner login # PLEASE LEAVE A LIKE AND SUBSCRIBE :-) # R1(config)# banner exec # WELCOME HOME NEO, CHASE THE RABBIT! #

Verifikation

! ====== VERIFIKATION ====== R1# show running-config | section line ! Console & VTY Konfiguration R1# show running-config | include username ! Lokale Benutzer R1# show running-config | include password ! Alle Passwort-Einträge (verschlüsselt?) R1# show running-config | include secret ! enable secret Eintrag R1# show running-config | include banner ! Banner vorhanden?
Cisco

SSH – Fernwartung (Konfiguration & Verifikation)

SSH vs. Telnet

MerkmalSSH (empfohlen)Telnet (unsicher)
PortTCP 22TCP 23
VerschlüsselungJa (asymmetrisch + symmetrisch)Nein – Klartext!
AuthentifizierungPasswort + optional Key-basedPasswort (Klartext)
EinsatzImmer – produktive UmgebungenNur Testlabs

Voraussetzungen für SSH

Bevor SSH konfiguriert werden kann, müssen folgende Punkte erfüllt sein:

! Prüfen ob alle Voraussetzungen erfüllt sind: R1# show version | include IOS ! IOS-Version (muss SSH unterstützen – kein IOS-Lite) R1# show ip interface brief ! Mindestens ein Interface mit IP muss UP/UP sein R1# show running-config | include hostname ! Hostname muss gesetzt sein (nicht "Router") R1# show running-config | include domain ! Domainname muss gesetzt sein

SSH Schritt-für-Schritt Konfiguration

! ====== SCHRITT 1: Hostname setzen (Pflicht für RSA-Schlüssel) ====== R1(config)# hostname R1 ! ====== SCHRITT 2: Domainname setzen (Pflicht für RSA-Schlüssel) ====== R1(config)# ip domain-name firma.local ! ====== SCHRITT 3: RSA-Schlüsselpaar generieren ====== R1(config)# crypto key generate rsa modulus 2048 ! 2048 Bit empfohlen (min. 1024) ! Bestätigung: yes ! Hinweis: Bei 2048 Bit wird automatisch SSH v2 ermöglicht ! ====== SCHRITT 4: SSH auf Version 2 festlegen ====== R1(config)# ip ssh version 2 ! SSHv2 erzwingen (sicherer als v1) ! ====== SCHRITT 5: Lokalen Benutzer anlegen ====== ! Privilege Level 0 → disable, enable, exit, help, logout ! Privilege Level 1 → User-EXEC (> Prompt), alle Standard-Userbefehle ! Privilege Level 15 → Privileged-EXEC (# Prompt), alle enable-Befehle R1(config)# username admin privilege 15 secret Adm1nPass! ! ====== SCHRITT 6: VTY-Leitungen für SSH konfigurieren ====== ! Neuere Geräte haben 0–15 (16 Leitungen), ältere nur 0–4 – immer alle abdecken! R1(config)# line vty 0 15 R1(config-line)# login local ! Lokale Benutzerdatenbank verwenden R1(config-line)# transport input ssh ! NUR SSH – Telnet blockieren R1(config-line)# exec-timeout 3 0 ! 3 Minuten Inaktivitäts-Timeout R1(config-line)# exit ! ====== OPTIONAL: SSH-Verbindungsparameter ====== R1(config)# ip ssh time-out 60 ! Timeout für Anmeldevorgang (Sekunden) R1(config)# ip ssh authentication-retries 2 ! Max. Fehlversuche (aus Unterricht: 2) R1(config)# ip ssh source-interface GigabitEthernet0/0 ! Quell-Interface für SSH festlegen

SSH auf Switch konfigurieren (via VLAN-Interface)

Bei Switches gibt es kein physisches Layer-3-Interface. SSH wird über ein VLAN-Interface (SVI) als Management-Adresse betrieben statt über ein Loopback.

! ====== SSH AUF SWITCH – SCHRITT-FÜR-SCHRITT ====== SW1(config)# ip domain-name firma.local SW1(config)# crypto key generate rsa modulus 1024 SW1(config)# ip ssh version 2 SW1(config)# ip ssh authentication-retries 2 ! Management-VLAN und SVI anlegen: SW1(config)# vlan 10 SW1(config)# interface vlan 10 SW1(config-if)# description SSH-Management SW1(config-if)# ip address 192.168.10.1 255.255.255.0 SW1(config-if)# no shutdown SW1(config-if)# exit ! Lokaler Benutzer + VTY: SW1(config)# username admin privilege 15 secret Adm1nPass! SW1(config)# line vty 0 15 SW1(config-line)# login local SW1(config-line)# transport input ssh SW1(config-line)# exec-timeout 3 0 SW1(config-line)# exit ! Quell-Interface festlegen: SW1(config)# ip ssh source-interface vlan 10 ! ====== VERIFIKATION ====== SW1# show ip ssh SW1# show crypto key mypubkey rsa

Verifikation

! ====== VERIFIKATION ====== R1# show ip ssh ! SSH: aktiviert? Version? Timeout? Retries? R1# show ssh ! Aktuell aktive SSH-Verbindungen R1# show users ! Alle eingeloggten Benutzer (alle Leitungen) R1# show running-config | section line vty ! VTY-Konfiguration prüfen R1# show running-config | include ip ssh ! SSH-Konfigurationszeilen R1# show crypto key mypubkey rsa ! RSA-Public-Key anzeigen

Verbindung vom Client

! ====== SSH-VERBINDUNG AUFBAUEN ====== ! Windows (PowerShell / CMD / PuTTY): ssh admin@192.168.1.1 ssh -l admin 192.168.1.1 ssh -p 22 admin@192.168.1.1 ! Linux / macOS (Terminal): ssh admin@192.168.1.1 ssh -o StrictHostKeyChecking=no admin@192.168.1.1 ! Hostkey-Warnung überspringen (Lab) ! ====== SCHLÜSSEL ERNEUT GENERIEREN (bei Änderung Hostname/Domain) ====== R1(config)# crypto key zeroize rsa ! Bestehende RSA-Schlüssel löschen R1(config)# crypto key generate rsa modulus 2048 ! Neu generieren
Tipp: Wenn SSH nicht funktioniert, die häufigsten Ursachen prüfen: (1) Kein RSA-Schlüssel generiert, (2) Kein Domainname gesetzt, (3) VTY-Line hat transport input telnet statt ssh, (4) Kein lokaler Benutzer angelegt und login local gesetzt.

Session-Verwaltung & Diagnose

! ====== AKTIVE SESSIONS ANZEIGEN ====== Router#show users ! Eingeloggte Benutzer + Line-Nummer Router#show sessions ! Offene Verbindungen (SSH/Telnet) Router#show line ! Leitungsbelegung (aktive mit *) ! ====== SESSIONS STEUERN ====== Router#resume <Nr> ! Zu bestehender Session zurückkehren Router#disconnect session <Nr> ! Einzelne Session trennen Router#disconnect ! Zuletzt aufgerufene Session schließen Router#clear line <Nummer> ! Remote-Session zwangsweise beenden ! Aktive Session verlassen (bleibt bestehen): Strg+Shift+6, dann x drücken ! ====== DEBUG & MONITORING ====== Router#terminal monitor ! Log-Meldungen über SSH/Telnet sehen Router#show crypto key mypubkey rsa ! RSA-Public-Key anzeigen Router#debug ip ssh ! SSH-Debug aktivieren Router#undebug all ! Alle Debug-Ausgaben deaktivieren
Cisco

ACL – Access Control Lists

Was ist eine ACL?

Eine Access Control List ist eine geordnete Liste von Regeln (Statements), die IP-Pakete auf einem Router-Interface erlaubt oder verbietet. Haupteinsatzgebiete: Paketfilterung und Klassifizierung (für NAT, QoS, IPSec, Route-Redistribution).

Arbeitsweise

  • Statements werden sequenziell von oben nach unten abgearbeitet.
  • Beim ersten Match stoppt die Verarbeitung – weitere Regeln werden nicht mehr geprüft.
  • Am Ende jeder ACL steht immer ein implizites „deny any" (nicht konfiguriert, nicht sichtbar).
  • Häufig treffende Regeln sollten oben stehen (spart CPU-Zeit).
  • Cisco-Router berücksichtigen ihre eigenen ACLs nicht für selbst generierte Pakete.
Wichtig: Eine ACL muss mindestens ein permit-Statement haben – sonst blockiert das implizite deny any am Ende alles.

Arten von ACLs

TypFilterkriteriumNummerbereichPlatzierung
StandardNur Quelladresse1–99, 1300–1999Möglichst nah am Ziel
ExtendedQuell- & Zieladresse, Protokoll, Port100–199, 2000–2699Möglichst nah an der Quelle

Abarbeitung am Interface (Inbound vs. Outbound)

Wann eine ACL greift, hängt von der Richtung ab, in der sie gebunden ist. Eine Inbound-ACL wird vor der Routing-Entscheidung geprüft, eine Outbound-ACL danach.

  • Inbound: Paket trifft am Interface ein → Inbound-ACL prüfen. Ergebnis deny → Paket wird sofort verworfen, die Routing-Tabelle wird gar nicht erst konsultiert.
  • Permit oder keine Inbound-ACL → Router sucht passenden Eintrag in der Routing-Tabelle und bestimmt das Ausgangs-Interface.
  • Outbound: Auf dem Ausgangs-Interface wird – falls vorhanden – die Outbound-ACL abgearbeitet. permit → weiterleiten, deny → verwerfen.
Eigene Pakete: Ein Cisco-Router beachtet seine eigenen ACLs nicht für selbst erzeugte Pakete. Eine ACL, die das Pingen in andere Netze verbietet, wirkt nur auf durchlaufende Pakete angeschlossener Geräte – der Router selbst kann trotzdem uneingeschränkt pingen.

Well-Known-Ports für ACLs

Beim Filtern mit Extended-ACLs werden Dienste über ihren Port adressiert (eq <port>). Die wichtigsten Well-Known-Ports:

PortProtokollDienst
20TCPFTP-Daten
21TCPFTP-Control
22TCPSSH
23TCPTelnet
25TCPSMTP
53UDPDNS
69UDPTFTP
80TCPHTTP
443TCPHTTPS

Wildcard-Maske

Wildcardmasken sind invertierte Subnetzmasken: 0 = dieses Bit prüfen, 1 = ignorieren.

! Wildcardmaske = 255.255.255.255 MINUS Subnetzmaske ! /24 → SNM 255.255.255.0 → WCM 0.0.0.255 ! /28 → SNM 255.255.255.240 → WCM 0.0.0.15 ! Kurzschreibweisen: host 192.168.1.5 = 192.168.1.5 0.0.0.0 ! Genau ein Host any = 0.0.0.0 255.255.255.255 ! Alle Hosts

Konfiguration

! ====== NUMBERED STANDARD ACL (nur Quelladresse) ====== Router(config)#access-list 10 deny host 192.168.1.50 Router(config)#access-list 10 permit 192.168.1.0 0.0.0.255 ! ====== NUMBERED EXTENDED ACL (Quell, Ziel, Protokoll, Port) ====== Router(config)#access-list 110 deny tcp 172.16.3.0 0.0.0.255 host 172.16.4.16 eq 21 Router(config)#access-list 110 permit ip any any ! ====== NAMED STANDARD ACL ====== Router(config)#ip access-list standard INTERN_GESPERRT Router(config-std-nacl)#deny host 10.0.0.99 Router(config-std-nacl)#permit 10.0.0.0 0.0.0.255 ! ====== NAMED EXTENDED ACL ====== Router(config)#ip access-list extended FTP_VERBOT Router(config-ext-nacl)#deny tcp 172.16.3.0 0.0.0.255 host 172.16.4.16 eq ftp Router(config-ext-nacl)#permit ip any any ! Aktionen: permit | deny | remark (Kommentar einfügen)

ACL binden

! ====== AN INTERFACE BINDEN (Paketfilterung) ====== Router(config-if)#ip access-group 110 in ! Eingehenden Verkehr filtern Router(config-if)#ip access-group 110 out ! Ausgehenden Verkehr filtern ! Hinweis: Pro Interface nur 1 ACL je Richtung (in / out) ! ====== AN VTY-LINE BINDEN (Fernzugriff einschränken) ====== Router(config-line)#access-class 10 in ! SSH/Telnet auf bestimmte IPs beschränken

Verifikation

Router#show ip access-lists ! Alle ACLs mit Treffer-Zähler Router#show ip access-lists FTP_VERBOT ! Einzelne ACL anzeigen Router#show ip interface Fa0/1 ! Zeigt gebundene ACLs pro Interface Router#show running-config | section access-list ! ACLs in running-config filtern
Merkhilfe Platzierung: Standard ACL → nah am Ziel (filtert ungenau, nur Quelle). Extended ACL → nah an der Quelle (filtert präzise, spart Bandbreite).
Cisco

Paketfilter – Stateless vs. Stateful

Was ist ein Paketfilter?

Ein Paketfilter trifft seine Erlaubt-/Verboten-Entscheidung anhand der Header-Informationen bis maximal OSI-Layer 4 (IP-Adressen, Protokoll, Ports). Man unterscheidet zwei grundsätzliche Bauarten: den statischen / stateless Paketfilter (zustandslos) und den dynamischen / stateful Paketfilter (zustandsbehaftet, SPI – Stateful Packet Inspection).

MerkmalStateless (statisch)Stateful (dynamisch / SPI)
EntscheidungsgrundlageNur feste Regel (ACL)Verbindungskontext (Session-Tabelle)
AntwortverkehrMuss per zweiter ACL dauerhaft offen seinWird temporär & automatisch erlaubt
SkalierungSchlecht – ACL-Pflege je ClientGut – Sessions automatisch verwaltet
SicherheitAntwortports dauerhaft offen → angreifbarFirewall nur bei aktiver Session offen

Stateless – statischer Paketfilter

Der zustandslose Paketfilter entscheidet ausschließlich anhand fest hinterlegter Regeln – realisiert über ACLs. Standard-ACLs filtern nur bis Layer 3 (Quell-IP), Extended-ACLs bis Layer 4 (Quelle, Ziel, Protokoll, Port). Am Ende jeder ACL steht das implizite deny.

Da der Filter keinen Verbindungskontext kennt, muss für eine bidirektionale Kommunikation der Rückweg separat erlaubt werden – es sind also zwei Extended-ACLs nötig (je eine pro Richtung, an je einem Interface inbound).

Sicherheitslücke: Da die Antwort von einem Client auf einem hohen Port (>1023) erwartet wird, bleiben diese Ports per ACL dauerhaft geöffnet. Ein Angreifer kann das ausnutzen, indem er Pakete mit gefälschtem ACK- oder RST-Flag schickt (bis hin zu DRDoS). Das Schlüsselwort established erlaubt nur Pakete mit gesetztem ACK/RST und mildert das Problem – schließt die Lücke aber nicht vollständig.
! ====== STATELESS: ANFRAGE VOM CLIENT ERLAUBEN ====== Router(config)# ip access-list extended CL_REQUEST Router(config-ext-nacl)# permit tcp host 192.168.0.1 gt 1023 host 192.168.1.7 eq 80 Router(config)# interface fa0/0 Router(config-if)# ip access-group CL_REQUEST in ! ====== STATELESS: ANTWORT DES SERVERS ERLAUBEN ====== Router(config)# ip access-list extended SRV_REPLY Router(config-ext-nacl)# permit tcp host 192.168.1.7 eq 80 host 192.168.0.1 gt 1023 established Router(config)# interface fa0/1 Router(config-if)# ip access-group SRV_REPLY in ! 'established' = nur Pakete mit ACK/RST – mildert die offene Hochport-Lücke

Stateful – dynamischer Paketfilter (SPI)

Der zustandsbehaftete Paketfilter betrachtet den Verbindungskontext. Eine von innen aufgebaute Verbindung erzeugt temporär eine Regel für den zugehörigen Antwortverkehr. Nach Eintreffen der Antwort bzw. nach einem Timeout wird diese Regel wieder entfernt – die Firewall ist also nicht dauerhaft offen und damit deutlich sicherer als der statische Filter.

Praktisch besteht die Konfiguration aus zwei Teilen: einer global je Protokoll definierten Inspection-Regel und einer blockenden Extended-ACL, die von außen kommenden Verkehr abweist.

Faustregel zur Bindung: SPI (Inspection) und ACL werden in entgegengesetzter Flussrichtung gebunden. Die blockende ACL liegt am äußeren Interface inbound, die Inspection in Gegenrichtung. Weitere Regeln: SPI nur auf L3-Interfaces; je Interface und Richtung nur eine Inspection; Namen sind case-sensitive.
! ====== SCHRITT 1: INSPECTION-REGEL JE PROTOKOLL (global) ====== Router(config)# ip inspect name SPI tcp Router(config)# ip inspect name SPI udp ! weitere mögliche Protokolle: dns, ftp, http, icmp, ssh, telnet ! ====== SCHRITT 2: BLOCKENDE ACL FÜR VERKEHR VON AUSSEN ====== Router(config)# ip access-list extended WAN_IN Router(config-ext-nacl)# deny ip any any ! ====== SCHRITT 3: BINDUNG (entgegengesetzte Richtung!) ====== Router(config)# interface fa0/1 Router(config-if)# ip inspect SPI out ! Inspection in Ausgangsrichtung Router(config-if)# ip access-group WAN_IN in ! Blockende ACL am äußeren IF inbound
Hinweis: Layer-3-Switches unterstützen meist keine SPI. Für stateful Filterung wird daher in der Regel ein Router oder eine dedizierte Firewall benötigt.

Verifikation

Router# show ip inspect all ! Gesamte SPI-Konfiguration Router# show ip inspect sessions ! Aktuell aktive (temporäre) Sessions Router# show ip inspect interfaces ! SPI-Bindung pro Interface Router# show ip inspect statistics ! Zähler: inspizierte Pakete / Sessions
Weiterführend: Die Filterregeln selbst werden über Access Control Lists definiert. Soll ein interner Dienst trotz Adressübersetzung von außen erreichbar bleiben, siehe NAT & PAT – Portforwarding.
Cisco

NAT & PAT – Adressübersetzung

Was ist NAT?

Network Address Translation ändert die Quell- bzw. Ziel-IP-Adresse im IP-Header (Layer 3). NAT führt keine Protokollumsetzung durch – es übersetzt also nicht IPv4 in IPv6. Zweck: private, nicht routbare Netze (RFC 1918) ans Internet anzubinden, da öffentliche IPv4-Adressen knapp sind.

Der Border-Router merkt sich jede Zuordnung in der NAT-Table. NAT verbirgt nebenbei die interne Topologie – ein Verbindungsaufbau muss aber stets von innen kommen. Da NAT die Ende-zu-Ende-Kommunikation unterbricht, gilt es als Notlösung und ist mit IPv6 prinzipiell entbehrlich.

Terminologie

BegriffBedeutung
inside (Interface)Dem internen, privaten Netz zugewandtes Interface
outside (Interface)Dem öffentlichen Netz (Internet) zugewandtes Interface
inside localPrivate IP-Adresse des internen Hosts
inside globalDie zugewiesene öffentliche IP-Adresse nach Übersetzung

Drei Arten von NAT

ArtAbbildungUnterscheidung
Statisch1:1Feste Zuordnung private ↔ öffentliche IP
Dynamischn:mAus einem Pool öffentlicher Adressen
PAT / Overloadn:1Viele Hosts hinter einer IP – per Portnummer

Konfiguration

Für alle NAT-Varianten müssen zunächst inside- und outside-Interfaces gekennzeichnet werden:

! ====== PFLICHT: INTERFACES KENNZEICHNEN ====== Router(config)# interface fa0/0 Router(config-if)# ip nat inside ! internes Interface Router(config)# interface fa0/1 Router(config-if)# ip nat outside ! externes Interface ! ====== STATISCHES NAT (1:1) ====== Router(config)# ip nat inside source static 192.168.1.1 185.58.8.21 ! ====== DYNAMISCHES NAT (Pool) ====== Router(config)# access-list 5 permit 192.168.1.0 0.0.0.255 Router(config)# ip nat pool MEINPOOL 185.58.8.21 185.58.8.26 netmask 255.255.255.248 Router(config)# ip nat inside source list 5 pool MEINPOOL ! ====== PAT / OVERLOAD (über Interface-IP) ====== Router(config)# access-list 5 permit 192.168.0.0 0.0.0.255 Router(config)# ip nat inside source list 5 interface fa0/1 overload

Verifikation

Router# show ip nat translations ! Aktuelle Übersetzungstabelle Router# show ip nat statistics ! Zähler: Treffer, aktive Übersetzungen Router# clear ip nat translation * ! Alle dynamischen Einträge löschen

Portforwarding

Soll ein interner Dienst hinter NAT/PAT von außen erreichbar sein, wird per Ziel-Port ein dauerhafter Eintrag angelegt. Der externe Client adressiert die öffentliche Router-IP; der Router leitet anhand des Ports an den internen Host weiter. Externer und interner Port müssen nicht identisch sein (z.B. extern 80 → intern 8080). Der Eintrag steht dauerhaft in der Translation-Table (unter outside erscheint ---).

! ====== PORTFORWARDING (statisches NAT auf Port-Ebene) ====== Router(config)# ip nat inside source static tcp 192.168.10.20 80 2.2.2.1 80 Router(config)# ip nat inside source static tcp 192.168.10.20 443 2.2.2.1 443 ! Beispiel mit abweichendem externem Port (extern 80 → intern 8080): Router(config)# ip nat inside source static tcp 192.168.10.20 8080 2.2.2.1 80 ! ====== OPTIONAL: ZUGRIFF PER ACL ABSICHERN ====== Router(config)# access-list 110 permit tcp any gt 1023 host 2.2.2.1 eq 80
Weiterführend: Die Auswahl der zu übersetzenden Hosts erfolgt über Access Control Lists; zur Absicherung des von außen erreichbaren Verkehrs siehe Paketfilter (Stateful / SPI). Fertige NAT-/PAT-Vorlagen finden sich in der Konfig-Werkbank.
Cisco

RIPv2 – Routing Information Protocol

📘 Hintergründe & Grafiken: Routing-Protokolle im Vergleich – im Kapitel Routing. Hier steht die Cisco-Konfiguration.

Grundlagen

RIP (AD 120) ist ein Distanzvektor-Protokoll und nutzt den Hop-Count als einzige Metrik (max. 15 Hops, 16 = unerreichbar). RIP eignet sich nur für kleine Netze. Version 2 ist klassenlos (überträgt die Subnetzmaske, VLSM-fähig) und sollte immer gegenüber RIPv1 bevorzugt werden.

Konfiguration

! ====== RIPv2 AKTIVIEREN ====== R1(config)# router rip ! RIP-Routing-Prozess starten R1(config-router)# version 2 ! RIPv1 → RIPv2 (klassenlos, VLSM) R1(config-router)# no auto-summary ! Automatische Netz-Zusammenfassung aus R1(config-router)# network 192.168.1.0 ! Klassenvolles Netz freigeben R1(config-router)# network 10.0.0.0 ! pro direkt verbundenem Netz
Merke: network erwartet die klassenvolle Netzadresse – RIP aktiviert dann alle Interfaces, die in dieses Netz fallen. no auto-summary ist bei diskontinuierlichen Subnetzen Pflicht.

Verifikation

R1# show ip route rip ! Nur RIP-Routen (Kennung R) R1# show ip protocols ! Version, Netze, Timer, Quellen R1# debug ip rip ! RIP-Updates live mitlesen
Cisco

BGP – Border Gateway Protocol (eBGP & iBGP)

📘 Hintergründe & Grafiken: BGP-Grundlagen und Pfadsteuerung – im Kapitel Routing. Hier steht die Cisco-Konfiguration.

Das Routing-Protokoll des Internets

BGP verbindet Autonome Systeme (AS) – also Netze unter einer gemeinsamen Verwaltung, z. B. ein Provider oder eine größere Firma. Jedes AS hat eine eindeutige AS-Nummer (öffentlich vergeben, privat 64512–65534 bzw. 4200000000–4294967294). BGP ist ein Pfadvektor-Protokoll: Statt Kosten zählt es, durch welche AS ein Weg führt. Nachbarschaften werden nicht automatisch gefunden, sondern per neighbor … remote-as fest eingetragen und laufen über TCP-Port 179.

Eigenes AS mit drei Routern im iBGP-Full-Mesh und eBGP-Verbindungen zu zwei Providern
Abb. – eBGP zu den Providern, iBGP innerhalb des eigenen AS

eBGP und iBGP im Vergleich

eBGP (extern)iBGP (intern)
Nachbarin einem anderen ASim eigenen AS
Administrative Distanz20200
Verbindungmeist direkt verbunden (TTL 1) – sonst ebgp-multihopmeist Loopback zu Loopback, Erreichbarkeit über das IGP (OSPF)
Next-Hopwird auf die eigene Adresse gesetztbleibt unverändert → am Edge-Router next-hop-self
Schleifenschutzeigene AS-Nummer im AS_PATH → Route wird verworfenSplit-Horizon: von iBGP gelernte Routen gehen nicht an andere iBGP-Nachbarn
Typischer EinsatzAnbindung an Provider, Multihoming mit zwei ISPsRouten der Provider an alle eigenen Edge- und Core-Router verteilen
iBGP-Split-Horizon: Weil iBGP-Routen nicht weitergereicht werden, muss jeder iBGP-Router mit jedem anderen verbunden sein (Full Mesh: bei n Routern n·(n−1)/2 Sessions). In größeren Netzen löst man das mit einem Route Reflector, der Routen an seine Clients weitergeben darf: neighbor 3.3.3.3 route-reflector-client.

eBGP-Konfiguration

! ====== eBGP-PEERING ZUM PROVIDER ====== R1(config)# router bgp 64500 ! Eigene AS-Nummer R1(config-router)# bgp router-id 1.1.1.1 ! Eindeutige Router-ID R1(config-router)# neighbor 10.0.1.1 remote-as 64510 ! Nachbar in fremder AS = eBGP R1(config-router)# neighbor 10.0.1.1 description ISP-A R1(config-router)# neighbor 10.0.1.1 password GeheimPW ! MD5-Authentifizierung R1(config-router)# network 198.51.100.0 mask 255.255.255.0 ! eigenes Netz ankündigen R1(config)# ip route 198.51.100.0 255.255.255.0 Null0 ! Netz muss exakt in der Routing-Tabelle stehen ! Falls Peering über Loopbacks (nicht direkt verbunden): R1(config-router)# neighbor 10.0.1.1 ebgp-multihop 2

iBGP-Konfiguration

! ====== iBGP-PEERING (eigene AS, über Loopback) ====== R1(config)# router bgp 64500 R1(config-router)# neighbor 2.2.2.2 remote-as 64500 ! gleiche AS = iBGP R1(config-router)# neighbor 2.2.2.2 update-source Loopback0 ! Absender = Loopback R1(config-router)# neighbor 2.2.2.2 next-hop-self ! Edge-Router als Next-Hop eintragen R1(config-router)# neighbor 3.3.3.3 remote-as 64500 R1(config-router)# neighbor 3.3.3.3 update-source Loopback0 R1(config-router)# neighbor 3.3.3.3 next-hop-self

Zustände einer Sitzung

BGP-Zustände Idle, Connect, Active, OpenSent, OpenConfirm und Established
Abb. – Die BGP-Zustandsmaschine

Wie BGP den besten Weg wählt

Gibt es mehrere Wege zum selben Präfix, vergleicht BGP der Reihe nach diese Attribute – das erste, das einen Unterschied macht, entscheidet:

#AttributBesser ist …Wirkung
1Weight (nur Cisco)höhernur lokal auf diesem Router
2Local Preferencehöher (Standard 100)im ganzen AS – steuert den ausgehenden Verkehr
3Lokal erzeugteigene Routen bevorzugtnetwork / redistribute
4AS_PATHkürzerweniger AS auf dem Weg; per Prepending künstlich verlängern
5OriginIGP vor EGP vor IncompleteHerkunft der Route
6MEDniedrigerWunsch an den Nachbarn für den eingehenden Verkehr
7eBGP vor iBGPextern gelernt
8IGP-Metrik zum Next-Hopniedrigernächster Ausgang
…älteste Route, niedrigste Router-IDGleichstand auflösen
Merkhilfe: „We Love Oranges As Oranges Mean Pure Refreshment“ – Weight, Local Pref, Originate, AS_PATH, Origin, MED, Paths (eBGP vor iBGP), Router-ID.

Präfixe filtern

! Nur das eigene Netz ankündigen – nie versehentlich fremde Routen weitergeben! R1(config)# ip prefix-list EIGENE seq 10 permit 198.51.100.0/24 R1(config)# router bgp 64500 R1(config-router)# neighbor 10.0.1.1 prefix-list EIGENE out ! Vom Provider nur die Default-Route annehmen R1(config)# ip prefix-list NUR-DEFAULT seq 10 permit 0.0.0.0/0 R1(config-router)# neighbor 10.0.1.1 prefix-list NUR-DEFAULT in

Verifikation

R1# show ip bgp summary ! Peers, AS, Zustand bzw. Anzahl Präfixe R1# show ip bgp ! BGP-Tabelle, > = beste Route R1# show ip bgp neighbors 10.0.1.1 advertised-routes R1# show ip bgp neighbors 10.0.1.1 routes ! vom Nachbarn empfangen und angenommen R1# show ip route bgp ! nur BGP-Routen (Kennung B) R1# clear ip bgp 10.0.1.1 soft ! Richtlinien neu anwenden ohne Session-Abbruch
Fehlersuche: Schritt für Schritt im Runbook BGP: Session nicht Established oder Präfixe fehlen.
Cisco

IS-IS – Intermediate System to Intermediate System

📘 Hintergründe & Grafiken: Routing-Protokolle im Vergleich – im Kapitel Routing. Hier steht die Cisco-Konfiguration.

Grundlagen

IS-IS (AD 115) ist wie OSPF ein Link-State-Protokoll, läuft jedoch direkt auf Layer 2 (CLNS) statt über IP. Es wird vor allem im Provider-Umfeld eingesetzt. Router werden über eine NET-Adresse (Network Entity Title) identifiziert und in Levels eingeteilt:

  • Level 1 – Routing innerhalb eines Areas (vergleichbar mit OSPF-internen Routern)
  • Level 2 – Routing zwischen Areas (Backbone)
  • Level 1-2 – beides (Standard auf Cisco)

Konfiguration

! ====== IS-IS-PROZESS ====== R1(config)# router isis CORE ! Prozess mit frei wählbarem Namen R1(config-router)# net 49.0001.0000.0000.0001.00 ! NET-Adresse (System-ID einmalig!) R1(config-router)# is-type level-2-only ! Reine Backbone-Rolle R1(config-router)# metric-style wide ! Erweiterte (breite) Metriken R1(config-router)# passive-interface Loopback0 ! Loopback nur ankündigen ! ====== INTERFACES EINBINDEN ====== R1(config)# interface GigabitEthernet0/0 R1(config-if)# ip router isis CORE ! Interface in IS-IS aufnehmen R1(config-if)# isis network point-to-point ! Kein DIS bei P2P-Links R1(config-if)# isis metric 10 level-2 ! Interface-Metrik festlegen ! ====== AUTHENTIFIZIERUNG (Key-Chain) ====== R1(config)# key chain ISIS-KEY R1(config-keychain)# key 1 R1(config-keychain-key)# key-string GeheimKey R1(config)# interface GigabitEthernet0/0 R1(config-if)# isis authentication mode md5 R1(config-if)# isis authentication key-chain ISIS-KEY

Verifikation

R1# show isis neighbors ! IS-IS-Nachbarn & Level R1# show isis topology ! Topologie inkl. Metrik R1# show ip route isis ! IS-IS-Routen (Kennung i) R1# show clns interface GigabitEthernet0/0 ! CLNS-Status des Interface
Cisco

MPLS – Multiprotocol Label Switching

📘 Hintergründe & Grafiken: MPLS & L3VPN mit Grafik – im Kapitel Routing. Hier steht die Cisco-Konfiguration.

Grundlagen

MPLS schaltet Pakete nicht mehr anhand der IP-Adresse, sondern anhand eines Labels, das zwischen Layer 2 und Layer 3 eingefügt wird. Labels werden per LDP (Label Distribution Protocol, Port 646) zwischen Routern verteilt. Grundlage ist immer ein funktionierendes IGP (OSPF/IS-IS).

TabelleInhalt
FIB (CEF)IP-Forwarding-Tabelle (show ip cef)
LIBAlle gelernten Label-Bindings (show mpls ldp bindings)
LFIBAktiv genutzte Label (show mpls forwarding-table)

Konfiguration

! ====== MPLS / LDP AKTIVIEREN ====== R1(config)# mpls ldp router-id Loopback0 force ! Router-ID fest über Loopback R1(config)# interface GigabitEthernet0/0 R1(config-if)# mpls ip ! Labelaustausch auf dem Interface R1(config-if)# mpls label protocol ldp ! LDP (Standard) als Protokoll R1(config-if)# mpls mtu 1508 ! MTU für Label-Overhead anheben
Tipp: CEF (ip cef) muss aktiv sein – ohne CEF kein MPLS. Die Loopback-Adresse als Router-ID muss per IGP überall erreichbar sein.

Verifikation

R1# show mpls ldp neighbor ! LDP-Nachbarschaften R1# show mpls interfaces ! Wo ist MPLS aktiv? R1# show mpls forwarding-table ! Aktive Label (LFIB) R1# show mpls ldp bindings ! Alle Label-Bindings (LIB)
Cisco

VRF – Virtual Routing and Forwarding

📘 Hintergründe & Grafiken: VRF-Lite und das Praxis-Szenario VRF + OSPF + BGP – im Kapitel Routing. Hier steht die Cisco-Konfiguration.

Mehrere Router in einem Gerät

Eine VRF erzeugt auf einem Router oder L3-Switch eine eigene, vollständig getrennte Routing-Tabelle. Jedes Interface gehört genau einer VRF an. So verhalten sich mehrere VRFs wie unabhängige Router – sie sehen sich gegenseitig nicht, und gleiche IP-Bereiche stören sich nicht. Was VLANs für Layer 2 sind, sind VRFs für Layer 3.

Router mit den VRFs KUNDE-A, KUNDE-B und der globalen Tabelle, beide Kunden nutzen dasselbe Netz
Abb. – Getrennte Routing-Tabellen und gezieltes Route Leaking

Typische Einsätze

  • Management-VRF: Verwaltungszugriffe (SSH, SNMP, Syslog) laufen getrennt vom Produktivverkehr.
  • Mandanten trennen: Kunden, Tochterfirmen oder Gäste mit überlappenden Adressen auf derselben Hardware.
  • Sicherheitszonen: z. B. OT-/Produktionsnetz, Gäste-WLAN und Büro komplett getrennt; Übergänge nur über eine Firewall.
  • Provider (MPLS L3VPN): jeder Kunde eine VRF, transportiert über ein gemeinsames MPLS-Netz.
BegriffBedeutung
VRF-LiteVRFs ohne MPLS – auf einzelnen Routern bzw. Switches. Zwischen zwei Geräten braucht jede VRF eine eigene Verbindung (z. B. eigenes Subinterface/VLAN).
RD (Route Distinguisher)macht gleiche Präfixe verschiedener VRFs in BGP unterscheidbar, z. B. 64500:1.
RT (Route Target)legt fest, welche VRF welche Routen exportiert bzw. importiert – das Werkzeug für Route Leaking per BGP.
Wichtig: Zuerst das Interface der VRF zuordnen, danach die IP-Adresse vergeben – vrf forwarding löscht eine bereits gesetzte IP.

Konfiguration (VRF-Lite)

! ====== VRF DEFINIEREN ====== R1(config)# vrf definition KUNDE-A ! VRF anlegen R1(config-vrf)# description Mandant A R1(config-vrf)# rd 64500:1 ! optional, nötig für BGP R1(config-vrf)# address-family ipv4 ! Adressfamilie aktivieren R1(config-vrf-af)# exit-address-family ! ====== INTERFACE ZUORDNEN (vor der IP!) ====== R1(config)# interface GigabitEthernet0/1 R1(config-if)# vrf forwarding KUNDE-A ! Interface der VRF zuweisen R1(config-if)# ip address 10.1.1.1 255.255.255.0 R1(config-if)# no shutdown ! ====== ROUTING IN DER VRF ====== R1(config)# ip route vrf KUNDE-A 192.168.50.0 255.255.255.0 10.1.1.2 R1(config)# router ospf 10 vrf KUNDE-A ! eigener OSPF-Prozess je VRF R1(config-router)# network 10.1.1.0 0.0.0.255 area 0

Route Leaking – gezielt zwischen VRFs

Manchmal sollen zwei VRFs doch etwas teilen, z. B. einen gemeinsamen DNS- oder Druckserver. Das nennt man Route Leaking. Wichtig: Es braucht beide Richtungen – sonst fehlt der Rückweg.

! Statisch: KUNDE-A erreicht 10.99.0.0/24 in VRF SHARED über Gi0/3 R1(config)# ip route vrf KUNDE-A 10.99.0.0 255.255.255.0 Gi0/3 10.99.0.1 ! Rückweg aus SHARED zu KUNDE-A R1(config)# ip route vrf SHARED 10.1.1.0 255.255.255.0 Gi0/1 10.1.1.2 ! Per BGP mit Route-Targets (skaliert besser) R1(config)# vrf definition KUNDE-A R1(config-vrf)# address-family ipv4 R1(config-vrf-af)# route-target export 64500:1 R1(config-vrf-af)# route-target import 64500:99 ! Routen von SHARED übernehmen
Achtung bei überlappenden Netzen: Leaking funktioniert nur, wenn sich die geteilten Netze nicht überschneiden. Zwei Kunden mit 10.1.1.0/24 können nicht beide in dieselbe Ziel-VRF geleakt werden – dort hilft nur NAT.

Verifikation

R1# show vrf ! VRFs & zugeordnete Interfaces R1# show vrf detail ! inkl. RD, Route-Targets R1# show ip route vrf KUNDE-A ! Routing-Tabelle der VRF R1# ping vrf KUNDE-A 192.168.50.1 ! Tests immer mit VRF-Angabe! R1# traceroute vrf KUNDE-A 192.168.50.1 R1# show ip ospf 10 neighbor ! OSPF-Nachbarn der VRF-Instanz
Fehlersuche: Schritt für Schritt im Runbook VRF: Keine Verbindung in oder zwischen VRFs.
Cisco

GRE – Generic Routing Encapsulation

Grundlagen

Ein GRE-Tunnel kapselt beliebigen Datenverkehr (auch Multicast/Routing-Protokolle) in IP-Pakete und verbindet zwei Standorte logisch Punkt-zu-Punkt über ein Transportnetz. GRE selbst verschlüsselt nicht – für Vertraulichkeit wird der Tunnel mit IPsec geschützt (siehe IPsec VPN).

Konfiguration

! ====== TUNNEL-INTERFACE (Seite R1) ====== R1(config)# interface Tunnel13 ! Logisches Tunnel-Interface R1(config-if)# ip address 172.16.13.1 255.255.255.252 ! Adresse im Tunnelnetz R1(config-if)# tunnel source 203.0.113.1 ! Eigene reale (WAN-)IP R1(config-if)# tunnel destination 203.0.113.3 ! Reale IP der Gegenstelle R1(config-if)# tunnel mode gre ip ! GRE über IPv4 (Standard) R1(config-if)# ip mtu 1400 ! Platz für GRE-Overhead R1(config-if)# ip tcp adjust-mss 1360 ! Fragmentierung vermeiden
Merke: tunnel source/destination sind die realen Interface-Adressen, nicht die Tunnel-IPs. Beide Seiten müssen spiegelbildlich konfiguriert werden.

Verifikation

R1# show interface Tunnel13 ! Status (up/up?) & Zähler R1# show ip interface brief | include Tunnel ! Schnellüberblick R1# ping 172.16.13.2 ! Gegenstelle im Tunnel anpingen
Cisco

Route-Maps & Prefix-Listen

📘 Hintergründe & Grafiken: Route-Maps & Policy-Based Routing – im Kapitel Routing. Hier steht die Cisco-Konfiguration.

Grundlagen

Prefix-Listen filtern Routen exakt nach Netz und Maskenlänge und sind die übliche Match-Bedingung in Route-Maps. Route-Maps arbeiten nach dem match/set-Prinzip: trifft match zu, werden mit set Attribute verändert (z. B. Metrik oder BGP Local-Preference). Mehrere match in einer Sequenz sind UND-verknüpft.

Konfiguration

! ====== PREFIX-LISTE ====== R1(config)# ip prefix-list NUR-LAN seq 10 permit 192.168.0.0/16 le 24 ! le 24 = alle Subnetze bis Präfixlänge /24 innerhalb 192.168.0.0/16 ! ====== ROUTE-MAP ====== R1(config)# route-map RT-AUSTIEG permit 10 ! Sequenz 10, erlaubt R1(config-route-map)# match ip address prefix-list NUR-LAN R1(config-route-map)# set local-preference 200 ! BGP-Pfad bevorzugen R1(config-route-map)# exit R1(config)# route-map RT-AUSTIEG permit 20 ! Rest unverändert durchlassen ! ====== ANWENDUNG IN BGP ====== R1(config)# router bgp 64950 R1(config-router)# neighbor 10.0.1.1 route-map RT-AUSTIEG in
Merke: local-preference gilt innerhalb der eigenen AS (wird vererbt, höchster Wert gewinnt). weight ist dagegen rein lokal auf dem Router gültig.

Verifikation

R1# show route-map ! Route-Maps & Trefferzähler R1# show ip prefix-list ! Definierte Prefix-Listen
Cisco

IPv6 – Grundkonfiguration, OSPFv3 & HSRP

Grundkonfiguration

IPv6-Routing ist standardmäßig deaktiviert und muss global aktiviert werden. Jedes Interface erhält automatisch eine Link-Local-Adresse (FE80::/10), sobald IPv6 darauf aktiv ist.

! ====== IPv6 GLOBAL AKTIVIEREN ====== R1(config)# ipv6 unicast-routing ! IPv6-Routing einschalten R1(config)# ipv6 cef ! Express Forwarding für IPv6 ! ====== ADRESSEN AM INTERFACE ====== R1(config)# interface GigabitEthernet0/0 R1(config-if)# ipv6 enable ! IPv6 + Link-Local-Adresse R1(config-if)# ipv6 address 2001:db8:10::1/64 ! Globale Unicast-Adresse R1(config-if)# ipv6 address fe80::1 link-local ! Link-Local manuell setzen ! ====== STATISCHE IPv6-ROUTE ====== R1(config)# ipv6 route 2001:db8:50::/64 2001:db8:10::2

OSPFv3 (IPv6)

! ====== OSPFv3-PROZESS ====== R1(config)# router ospfv3 1 R1(config-router)# router-id 1.1.1.1 ! Router-ID weiterhin im IPv4-Format R1(config-router)# address-family ipv6 unicast ! Adressfamilie IPv6 R1(config-router-af)# exit-address-family ! ====== INTERFACE EINBINDEN ====== R1(config)# interface GigabitEthernet0/0 R1(config-if)# ospfv3 1 ipv6 area 0 ! Interface in Area 0 R1(config-if)# ospfv3 network point-to-point ! P2P-Verbindung

HSRP für IPv6

! ====== HSRPv2 FÜR IPv6 ====== R1(config)# interface GigabitEthernet0/0 R1(config-if)# standby version 2 ! HSRPv2 (Pflicht für IPv6) R1(config-if)# standby 6 ipv6 autoconfig ! Virtuelle IPv6 automatisch R1(config-if)# standby 6 priority 110 ! Höher = aktiv R1(config-if)# standby 6 preempt ! Aktiv-Rolle zurückholen R1(config-if)# standby 6 name GW-V6
Hinweis aus der Praxis: Ein interface vlan mit HSRP-IPv6 kann sich gelegentlich „aufhängen“. Abhilfe: das betroffene SVI per shutdown / no shutdown neu starten.

Verifikation

R1# show ipv6 interface brief ! IPv6-Adressen je Interface R1# show ipv6 route ! IPv6-Routing-Tabelle R1# show ospfv3 neighbor ! OSPFv3-Nachbarn R1# show standby brief ! HSRP-Status
Cisco

DHCP – Cisco IOS DHCP-Server & Relay

DHCPv4-Server

Ein Cisco-Router/L3-Switch kann selbst als DHCP-Server arbeiten. Vor der Pool-Definition sollten fest vergebene Adressen (Gateway, Server, Drucker) per ip dhcp excluded-address ausgeschlossen werden.

! ====== AUSGESCHLOSSENE ADRESSEN ====== R1(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.10 ! ====== DHCP-POOL ====== R1(config)# ip dhcp pool LAN-POOL ! Pool anlegen + benennen R1(dhcp-config)# network 192.168.10.0 255.255.255.0 ! Adressbereich R1(dhcp-config)# default-router 192.168.10.1 ! Gateway für Clients R1(dhcp-config)# dns-server 192.168.10.5 ! DNS-Server R1(dhcp-config)# domain-name its.lab ! Domänen-Suffix R1(dhcp-config)# lease 7 ! Lease-Dauer (Tage)

DHCP-Relay (IP-Helper)

Liegt der DHCP-Server in einem anderen Subnetz, leitet der Router die Broadcasts als Unicast weiter:

R1(config)# interface vlan 10 R1(config-if)# ip helper-address 192.168.99.5 ! IP des DHCP-Servers ! Innerhalb einer VRF: R1(config-if)# ip helper-address vrf KUNDE-A 192.168.99.5

DHCPv6 (Stateful)

R1(config)# ipv6 dhcp pool V6-POOL R1(config-dhcpv6)# address prefix 2001:db8:10::/64 R1(config-dhcpv6)# dns-server 2001:db8:10::5 R1(config-dhcpv6)# domain-name its.lab R1(config)# interface GigabitEthernet0/0 R1(config-if)# ipv6 dhcp server V6-POOL R1(config-if)# ipv6 nd managed-config-flag ! Clients: Stateful (M-Flag)
Stateful vs. Stateless: managed-config-flag (M-Flag) → Client bezieht Adresse und Optionen per DHCPv6. other-config-flag (O-Flag) → Adresse per SLAAC, nur Zusatzinfos (DNS) per DHCPv6.

Verifikation

R1# show ip dhcp binding ! Vergebene Leases (IPv4) R1# show ip dhcp pool ! Pool-Auslastung R1# show ipv6 dhcp binding ! Vergebene Leases (IPv6)
Cisco

IPsec VPN – Site-to-Site mit IKEv2

Grundlagen

IPsec sichert IP-Verkehr durch Verschlüsselung, Integrität und Authentifizierung. Der Aufbau erfolgt in zwei Phasen: IKEv2 handelt zunächst einen sicheren Steuerkanal aus (Proposal → Policy → Keyring → Profile), anschließend schützt ein IPsec-Profil (Transform-Set) den eigentlichen Tunnel. In der Praxis wird IPsec meist über ein GRE-/Tunnel-Interface gelegt.

Konfiguration (IKEv2)

! ====== 1) IKEv2-PROPOSAL (Krypto-Verfahren) ====== R1(config)# crypto ikev2 proposal IKE_PROPOSAL R1(config-ikev2-proposal)# encryption aes-gcm-256 R1(config-ikev2-proposal)# prf sha384 R1(config-ikev2-proposal)# group 20 ! Diffie-Hellman-Gruppe ! ====== 2) IKEv2-POLICY ====== R1(config)# crypto ikev2 policy IKE_POLICY R1(config-ikev2-policy)# match fvrf any R1(config-ikev2-policy)# proposal IKE_PROPOSAL ! ====== 3) KEYRING (Pre-Shared Keys) ====== R1(config)# crypto ikev2 keyring KEYRING R1(config-ikev2-keyring)# peer CORE R1(config-ikev2-keyring-peer)# address 172.44.0.0 255.255.0.0 R1(config-ikev2-keyring-peer)# pre-shared-key local GeheimKey R1(config-ikev2-keyring-peer)# pre-shared-key remote GeheimKey ! ====== 4) IKEv2-PROFILE ====== R1(config)# crypto ikev2 profile IKE_PROFIL R1(config-ikev2-profile)# match identity remote address 172.44.0.0 255.255.0.0 R1(config-ikev2-profile)# authentication remote pre-share R1(config-ikev2-profile)# authentication local pre-share R1(config-ikev2-profile)# keyring local KEYRING ! ====== 5) IPSEC TRANSFORM-SET + PROFIL ====== R1(config)# crypto ipsec transform-set TS esp-gcm 256 R1(cfg-crypto-trans)# mode transport R1(config)# crypto ipsec profile TUPROF R1(ipsec-profile)# set transform-set TS R1(ipsec-profile)# set pfs group20 R1(ipsec-profile)# set ikev2-profile IKE_PROFIL ! ====== 6) SCHUTZ AUF TUNNEL-INTERFACE ====== R1(config)# interface Tunnel13 R1(config-if)# tunnel protection ipsec profile TUPROF

Verifikation

R1# show crypto ikev2 sa ! IKEv2 Security Associations R1# show crypto ipsec sa ! IPsec-SA, Zähler, Encaps/Decaps R1# show run | section IKE_PROFIL ! Profil-Konfiguration prüfen
Cisco

AAA – RADIUS, TACACS+ & 802.1X

Grundlagen

AAA (Authentication, Authorization, Accounting) lagert Logins an einen zentralen RADIUS-Server aus (Ports 1645/1646 bzw. 1812/1813). 802.1X erweitert das auf die Portebene: ein Switchport gibt erst nach erfolgreicher Authentifizierung Zugang frei.

Zuerst Fallback anlegen! Bevor AAA aktiviert wird, immer einen lokalen Benutzer als Rückfallebene erstellen – sonst sperrt man sich bei RADIUS-Ausfall komplett aus.
802.1X mit Supplicant, Authenticator und RADIUS-Server sowie die drei A
Abb. – Ablauf von 802.1X und die drei Bausteine von AAA (Hintergründe im Bereich Cyber Security)
RADIUSTACACS+
TransportUDP 1812 / 1813 (alt: 1645 / 1646)TCP 49
Verschlüsselungnur das Passwortdas gesamte Paket
EinsatzNetzwerkzugang (802.1X, WLAN, VPN)Geräteverwaltung, Befehls-Autorisierung

RADIUS für SSH-Logins

! ====== 0) LOKALER FALLBACK ====== SW1(config)# username admin privilege 15 secret GeheimPW ! ====== 1) AAA + RADIUS-SERVER ====== SW1(config)# aaa new-model SW1(config)# radius server RAD1 SW1(config-radius-server)# address ipv4 192.168.99.10 SW1(config-radius-server)# key RadiusSecret ! ====== 2) SERVERGRUPPE ====== SW1(config)# aaa group server radius RAD-GRP SW1(config-sg-radius)# server-private 192.168.99.10 key RadiusSecret SW1(config-sg-radius)# ip radius source-interface vlan 99 ! ====== 3) METHODEN-LISTEN (mit lokalem Fallback) ====== SW1(config)# aaa authentication login default group RAD-GRP local SW1(config)# aaa authorization exec default group RAD-GRP local

802.1X am Switchport

SW1(config)# aaa authentication dot1x default group RAD-GRP SW1(config)# aaa authorization network default group RAD-GRP SW1(config)# dot1x system-auth-control ! 802.1X global aktivieren SW1(config)# interface GigabitEthernet0/1 SW1(config-if)# switchport mode access SW1(config-if)# authentication port-control auto ! Auth abwarten SW1(config-if)# authentication host-mode single-host SW1(config-if)# dot1x pae authenticator ! Port als Authenticator SW1(config-if)# mab ! MAC-Auth-Bypass (Fallback) SW1(config-if)# authentication order dot1x mab ! Erst 802.1X, dann MAB SW1(config-if)# authentication event fail action authorize vlan 666 ! Quarantäne-VLAN

TACACS+ für die Geräteverwaltung

Mit TACACS+ lässt sich zusätzlich steuern und protokollieren, welche Befehle ein Admin ausführen darf – ideal für Teams mit unterschiedlichen Rechten.

SW1(config)# tacacs server TAC1 SW1(config-server-tacacs)# address ipv4 192.168.99.11 SW1(config-server-tacacs)# key TacacsSecret SW1(config)# aaa group server tacacs+ TAC-GRP SW1(config-sg-tacacs+)# server name TAC1 SW1(config)# aaa authentication login default group TAC-GRP local SW1(config)# aaa authorization exec default group TAC-GRP local SW1(config)# aaa authorization commands 15 default group TAC-GRP local ! jeden Level-15-Befehl prüfen SW1(config)# aaa accounting commands 15 default start-stop group TAC-GRP ! jeden Befehl protokollieren

Verifikation

SW1# test aaa group RAD-GRP admin GeheimPW new-code ! Login gegen RADIUS testen SW1# show authentication sessions ! Aktive 802.1X-Sitzungen SW1# debug radius ! RADIUS-Dialog mitlesen
Cisco

PKI – Zertifikate per SCEP ausrollen

Grundlagen

Über einen Trustpoint bezieht der Router per SCEP (Simple Certificate Enrollment Protocol) automatisch ein Zertifikat von einer CA (z. B. Windows NDES). Reihenfolge: RSA-Schlüssel erzeugen → Trustpoint konfigurieren → CA authentifizieren → Zertifikat anfordern (enroll).

Konfiguration

! ====== 1) RSA-SCHLÜSSELPAAR ====== R1(config)# crypto key generate rsa modulus 2048 label tp-lab ! ====== 2) TRUSTPOINT ====== R1(config)# crypto pki trustpoint ca-lab R1(ca-trustpoint)# enrollment url http://ca01.lab.example.com:80/certsrv/mscep/mscep.dll R1(ca-trustpoint)# fqdn r1.lab.example.com R1(ca-trustpoint)# subject-name CN=r1.lab.example.com R1(ca-trustpoint)# revocation-check crl R1(ca-trustpoint)# rsakeypair tp-lab R1(ca-trustpoint)# fingerprint 625D3DA0 F756F5F0 D03CF30F 16D00986 R1(ca-trustpoint)# password 4D6F307044121009F9EAF6D013A1DB49 ! ====== 3) CA AUTHENTIFIZIEREN + ENROLLEN ====== R1(config)# crypto pki authenticate ca-lab ! CA-Zertifikat holen/prüfen R1(config)# crypto pki enroll ca-lab ! Eigenes Zertifikat anfordern
Tipp: Der fingerprint bindet die CA fest ein und schützt vor untergeschobenen CA-Zertifikaten. Der password-Wert ist das einmalige NDES-Challenge-Passwort.

Verifikation

R1# show crypto pki certificates verbose ca-lab ! Status & Gültigkeit prüfen R1# show crypto key mypubkey rsa ! Vorhandene Schlüsselpaare
Cisco

QoS – Quality of Service

Wozu QoS?

Solange genug Bandbreite da ist, braucht man kein QoS. Wird eine Leitung aber voll – typisch am WAN-Übergang –, entscheidet QoS, welcher Verkehr zuerst darf. Sprache und Video reagieren empfindlich auf Verzögerung (Latenz), Schwankung (Jitter) und Paketverlust, ein Dateidownload dagegen kaum.

QoS-Ablauf mit Klassifizieren, Markieren, Warteschlangen und Begrenzen
Abb. – Vom Erkennen des Verkehrs bis zur Reihenfolge am Engpass

Markierungen

MarkierungSchichtWerteTypischer Einsatz
CoSLayer 2 (802.1Q-Tag)0–7innerhalb des Switchnetzes
DSCPLayer 3 (IP-Header)0–63Ende-zu-Ende über Router hinweg
DSCPWertVerkehr
EF (Expedited Forwarding)46Sprache (VoIP) – höchste Priorität
AF4134Videokonferenz
CS324Signalisierung (SIP)
AF2118wichtige Geschäftsanwendungen
0 (Best Effort)0alles andere

Trust Boundary

Ein PC könnte seinen Verkehr selbst als „EF“ markieren und sich so vordrängeln. Deshalb legt man eine Vertrauensgrenze fest: Nur Markierungen von vertrauenswürdigen Geräten (z. B. IP-Telefonen) werden übernommen, alles andere wird neu markiert.

Konfiguration (MQC – Modular QoS CLI)

! 1) Klassifizieren R1(config)# class-map match-any VOICE R1(config-cmap)# match dscp ef R1(config)# class-map match-any VIDEO R1(config-cmap)# match dscp af41 ! 2) Richtlinie: was passiert mit welcher Klasse R1(config)# policy-map WAN-EDGE R1(config-pmap)# class VOICE R1(config-pmap-c)# priority percent 20 ! Low Latency Queue, max. 20 % R1(config-pmap)# class VIDEO R1(config-pmap-c)# bandwidth percent 30 ! garantierte Bandbreite R1(config-pmap)# class class-default R1(config-pmap-c)# fair-queue ! 3) Am ausgehenden WAN-Interface anwenden R1(config)# interface GigabitEthernet0/1 R1(config-if)# service-policy output WAN-EDGE ! Switch-Port zum IP-Telefon: Voice-VLAN und Auto-QoS SW1(config-if)# switchport voice vlan 150 SW1(config-if)# auto qos voip cisco-phone

Verifikation

R1# show policy-map interface gi0/1 ! Treffer und Drops pro Klasse R1# show class-map SW1# show auto qos
Policing vs. Shaping: Policing verwirft überzähligen Verkehr sofort (hart). Shaping puffert ihn und sendet ihn verzögert (weich) – üblich, wenn der Provider weniger Bandbreite liefert als der Port kann.
Cisco

Sicherung & Wiederherstellung (IOS & Konfiguration)

Was muss gesichert werden?

Running-Config, Startup-Config und Flash werden auf einen TFTP- oder SCP-Server gesichert
Abb. – Konfiguration und IOS-Image liegen an unterschiedlichen Orten im Gerät
  • startup-config (NVRAM) – die gespeicherte Konfiguration. Die wichtigste Sicherung.
  • IOS-Image (flash:) – das Betriebssystem. Vor jedem Update sichern.
  • vlan.dat (flash:) – auf Switches die VLAN-Datenbank (bei VTP Server/Client).

Konfiguration sichern

! Auf einen TFTP-Server (unverschlüsselt, nur im Management-Netz) R1# copy running-config tftp: Address or name of remote host []? 192.168.99.20 Destination filename [r1-confg]? r1-2026-10-22.cfg ! Verschlüsselt per SCP (SSH muss auf R1 eingerichtet sein) R1# copy running-config scp://admin@192.168.99.20/backups/r1.cfg ! Lokale Kopie im Flash – schnell vor einer Änderung R1# copy running-config flash:vor-aenderung.cfg

IOS-Image sichern und aktualisieren

R1# show flash: ! Dateiname und freien Platz prüfen R1# copy flash:c2900-universalk9-mz.SPA.157-3.M8.bin tftp: ! Neues Image einspielen R1# copy tftp: flash: R1# verify /md5 flash:<neues-image>.bin ! Prüfsumme mit Herstellerangabe vergleichen R1(config)# boot system flash:<neues-image>.bin R1# copy running-config startup-config R1# reload

Wiederherstellen

! Komplett ersetzen (empfohlen) – nicht passende Zeilen werden entfernt R1# configure replace tftp://192.168.99.20/r1-2026-10-22.cfg ! Zusammenführen (merge) – nur hinzufügen/überschreiben, nichts löschen R1# copy tftp: running-config ! Danach prüfen und dauerhaft speichern R1# show running-config R1# copy running-config startup-config
Achtung bei „copy … running-config“: Das ist ein Merge. Befehle, die im Backup fehlen, bleiben in der laufenden Konfiguration stehen. Für einen sauberen Stand configure replace nutzen.

Automatisch sichern mit archive

R1(config)# archive R1(config-archive)# path tftp://192.168.99.20/backups/$h-$t ! $h = Hostname, $t = Zeitstempel R1(config-archive)# write-memory ! bei jedem Speichern sichern R1(config-archive)# time-period 1440 ! zusätzlich alle 24 Stunden R1# show archive ! vorhandene Sicherungen

Bausteine für die Sicherung findest du auch in der Konfig-Werkbank unter „Backup“.

Cisco

IP SLA & Object Tracking

Grundlagen

IP SLA misst aktiv die Erreichbarkeit eines Ziels (z. B. per ICMP-Echo). Über ein Track-Objekt lässt sich das Ergebnis an andere Funktionen koppeln: fällt das Ziel aus, kann z. B. eine statische Route entfernt oder die HSRP-Priorität gesenkt werden (Failover).

Konfiguration

! ====== 1) IP SLA (ICMP-Echo) ====== R1(config)# ip sla 1 R1(config-ip-sla)# icmp-echo 8.8.8.8 source-interface GigabitEthernet0/0 R1(config-ip-sla-echo)# frequency 5 ! alle 5 s messen R1(config-ip-sla-echo)# timeout 1000 ! Timeout in ms R1(config)# ip sla schedule 1 life forever start-time now ! ====== 2) TRACK AUF SLA BINDEN ====== R1(config)# track 1 ip sla 1 reachability ! ====== 3) ROUTE AN TRACK KOPPELN ====== R1(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.254 track 1 ! Default-Route verschwindet, sobald 8.8.8.8 nicht mehr erreichbar ist
Anwendung: Dasselbe Track-Objekt lässt sich auch in HSRP nutzen: standby 1 track 1 decrement 20 senkt bei Ausfall die Priorität und löst ein sauberes Gateway-Failover aus.

Verifikation

R1# show ip sla statistics ! Messergebnisse (up/down) R1# show track ! Status der Track-Objekte
Cisco

Show-Befehle – Cheat-Sheet

Die wichtigsten Show-Befehle

Mit den Pipe-Modifikatoren | include, | section, | begin und | exclude lässt sich jede Ausgabe gezielt filtern.

BereichBefehlZweck
Allgemeinshow running-configAktuelle Konfiguration (RAM)
Allgemeinshow ip interface briefAlle Interfaces: IP, Up/Down
Allgemeinshow interfaces statusPort-Übersicht (Switch)
VLANshow vlan briefVLAN-Datenbank
VLANshow interfaces trunkAktive Trunks & erlaubte VLANs
STPshow spanning-treeRoot-Bridge, Port-Rollen
EtherChannelshow etherchannel summaryPort-Channel-Status
OSPFshow ip ospf neighborNachbarn & Status
BGPshow ip bgp summaryPeers & Prefixe
HSRPshow standby briefActive/Standby-Rolle
DHCPshow ip dhcp bindingVergebene Leases
VRFshow ip route vrf NAMERouting-Tabelle einer VRF
IPv6show ipv6 interface briefIPv6-Adressen je Interface
IPsecshow crypto ipsec saAktive IPsec-SAs
Tastenkürzel: Strg + Shift + 6 bricht einen laufenden Prozess ab (z. B. ein hängendes ping oder traceroute). terminal monitor zeigt Log-/Debug-Meldungen in einer SSH-Sitzung an.
Cisco

TCP/UDP-Ports – Referenz

Wichtige Ports im Netzbetrieb

PortTransportDienst
20 / 21TCPFTP (Daten / Steuerung)
22TCPSSH
23TCPTelnet (unverschlüsselt)
53TCP/UDPDNS
69UDPTFTP
80TCPHTTP
161UDPSNMP
179TCPBGP
443TCPHTTPS
646TCP/UDPLDP (MPLS-Label-Verteilung)
1645 / 1646UDPRADIUS (Auth / Accounting, alt)
1812 / 1813UDPRADIUS (Auth / Accounting, aktuell)
FortiNet

FortiGate Firewall – CLI-Grundlagen

Diagnose & Bedienung

Die FortiGate-CLI unterscheidet sich von Cisco IOS: Konfigurationsblöcke werden mit config betreten und mit end (speichern) bzw. abort (verwerfen) verlassen.

# ====== DIAGNOSE ====== get router info routing-table all # Routing-Tabelle IPv4 get router info6 routing-table # Routing-Tabelle IPv6 show system interface port1 # Interface-Konfiguration anzeigen execute ping 8.8.8.8 # Ping ausführen # ====== NAVIGATION ====== end # Ebene verlassen UND speichern abort # Ebene verlassen OHNE speichern (Strg+C)