Post on 08-Oct-2019
EINLEITUNG
Dieses Buch spiegelt das von mir gesammelte Wissen wider, welches für die
CCENT – ICND 1 Prüfung von CISCO abgefragt wird.
Es wird ein gewisses Grundwissen und Verständnis für Netzwerke und IT
Infrastrukturen im Allgemeinen vorausgesetzt. Dennoch versuche ich, so
gut es mir möglich ist, alle verwendeten Begriffe:
Mindestens einmal auszuschreiben und die Abkürzung mit
anzugeben.
Diese, soweit nötig zu erklären.
Auf relevante Abhängigkeiten einzugehen.
Wenn ihr Fragen oder Anregungen für mich habt, könnt ihr mich gerne über
die sozialen Netzwerke kontaktieren.
Linked-in
Es ist mir besonders wichtig, dass das Wissen frei und für alle verfügbar
zugänglich ist, deswegen erlaube ich ausdrücklich die Weitergabe und
Weiterverarbeitung.
2
Anbei noch der Download für die erwendeten CISCO Packet Tracer Labs und
ein paar nützliche Links.
Download der verwendeten Packet Tracer Labs:
https://1drv.ms/f/s!AsjZYrRgCJOahYVFw8yttBnBPyO7dQ
Testprüfungen zum Üben:
www.learncisco.net/cisco-practice-tests.html
Download Packet Tracer:
https://www.netacad.com/courses/packet-tracer-download/?
p_auth=h6jOI2lZ&p_p_auth=iJXrHgDA&p_p_id=resendscreenname_WAR
3
INHALT
1. Das Basis Wissen..................................................................................................21
1.1 TCP / IP Networking Model...........................................................................21
Wieso brauchen wir diese Netzwerkmodelle?...............................................21
Ein kleiner Tipp für die Zukunft......................................................................22
Was ist das OSI Modell?.................................................................................22
1.1.1 Kabel und das Ethernet..............................................................................24
Das Kupferkabel.............................................................................................24
Unshielded Twisted Pair Kabel.......................................................................24
Shielded Twisted Pair Kabel............................................................................25
Der Kupfer Standard IEEE...............................................................................26
Der Fiber Optic Standard IEEE........................................................................27
1.1.2 Crossover und Straight-Through Kabel.......................................................29
Kabel - Computer zu Switch............................................................................29
Kabel - Switch zu Switch.................................................................................30
Belegung des Crossover-Kabels......................................................................32
Auto MDI-X.....................................................................................................33
1.2 Der Ethernet Header.....................................................................................34
Aufbau des Headers.......................................................................................34
Preamble........................................................................................................34
Start Frame Delimiter.....................................................................................35
Destination MAC Address...............................................................................35
Source MAC Address......................................................................................35
Protocol Type.................................................................................................36
Frame Check Sequence..................................................................................36
1.3 Der klassische HUB........................................................................................38
4
Geschichtsstunde:..........................................................................................38
1.4 Bridges und Switches....................................................................................42
Die Bridge.......................................................................................................42
Der Switch......................................................................................................43
1.5 Erstellung einer MAC-Tabelle........................................................................44
1.6 Frame Processing..........................................................................................52
Store-and-forward..........................................................................................52
Cut-through....................................................................................................53
Fragment-free................................................................................................53
1.7 Wie wird eine MAC Adresse zusammengestellt............................................54
Der erste Teil der MAC Adresse......................................................................54
Der zweite Teil der MAC Adresse...................................................................55
1.8 Werde vertraut mit dem HEX-Zahlensystem.................................................56
1.9 Hex in Dezimal umrechnen...........................................................................58
Eine zweistellige Hex-Zahl in eine Dezimal Zahl umrechnen..........................58
Eine dreistellige Hex-Zahl in eine Dezimal Zahl umrechnen...........................60
Eine vierstellige Hex-Zahl in eine Dezimal Zahl umrechnen............................60
1.10 Dezimal in Hex umrechnen.........................................................................61
Zahlen unter 256............................................................................................61
Eine Zahl über 256 (3-Stellige Dezimal Zahl)...................................................63
1.11 WAN............................................................................................................64
Leased line WANs...........................................................................................65
Die Basis von HDLC.........................................................................................66
Ethernet als WAN Technologie.......................................................................67
BONUS 1: CheatSheet.........................................................................................68
2. IOS Basiswissen und das VLAN.............................................................................73
2.1 Einführung in IOS...........................................................................................73
5
Arbeiten mit IOS über die Konsole.................................................................73
Die Packet Tracer Konsole..............................................................................75
Die verschiedenen Modi.................................................................................76
Wechseln in den "Global Config Mode".........................................................77
Die Hilfefunktion bezogen auf die Syntax.......................................................78
Die Hilfefunktion bezogen auf die möglichen Befehle....................................79
2.1.1 IOS Filesystem............................................................................................82
Voraussetzungen Packet Tracer.....................................................................82
Navigation und Verwendung des Filesystems................................................82
2.2 Praktische Befehle für das Lab......................................................................84
2.3 Das Problem mit der Broadcast Domain.......................................................85
2.3.1 Erstellen eines VLANs im IOS......................................................................88
2.3.2 Auswirkungen eines VLANs........................................................................93
2.4 Noch mehr VLANs.........................................................................................95
Erstellen neuer VLANs....................................................................................95
Benennen der VLANs......................................................................................96
2.5 Den Switch zurücksetzen.............................................................................100
Auslesen der aktuellen Konfiguration...........................................................100
Den Switch zurücksetzten............................................................................102
2.6 Trunking Switches.......................................................................................108
Was ist ein Trunk..........................................................................................108
ISL - Inter-Switch Link...................................................................................109
IEEE 802.1q ("dot1q")...................................................................................110
2.6.1 Die Trunking Port Modes..........................................................................111
Access Ports..................................................................................................112
Trunk Ports...................................................................................................112
Trunk Port Settings.......................................................................................113
6
2.6.2 Filtern von Traffic per VLAN.....................................................................115
2.6.3 VLANs vererben........................................................................................121
Wieso VLANs................................................................................................121
Praxis und Voraussetzungen.........................................................................121
2.6.4 Inter-VLANs..............................................................................................122
Was und wieso.............................................................................................122
Praxis............................................................................................................123
2.7 Spanning Tree Protocol...............................................................................125
Definition des Protokolls..............................................................................125
Praxis............................................................................................................126
Identifizieren der "root bridge"....................................................................128
BONUS 2: CheatSheet.......................................................................................134
Befehle:........................................................................................................138
3. Speicher - Boot - Passwörter..............................................................................141
3.1 Speicher Arten.............................................................................................141
ROM.............................................................................................................141
Flash Memory...............................................................................................141
RAM..............................................................................................................142
NVRAM.........................................................................................................142
3.2 Der Boot-Prozess.........................................................................................143
3.3 Secret und Enable Passwort........................................................................146
3.4 Konsolen Port absichern - Ein Passwort......................................................149
Ein kleiner Abriss..........................................................................................149
Zurück zur Konfiguration..............................................................................151
3.5 Konsolen Port absichern - Benutzer und Passwort DB................................154
3.5.1 Radius Server - externe Authentifizierung................................................161
Was ist ein Radius Server?............................................................................161
7
Warum einen Radius Server?.......................................................................161
Praxis, Anbindung an einen Radius Server....................................................162
3.6 Port Sicherheit die Grundlagen...................................................................164
Auflistung der Bezeichnungen innerhalb der Tabelle:..................................168
3.6.1 Port Sicherheit - Die Optionen.................................................................168
Aging............................................................................................................168
Time.............................................................................................................169
Type..............................................................................................................170
Maximum.....................................................................................................170
Mac-Addresses.............................................................................................171
Violation.......................................................................................................171
Shutdown.....................................................................................................172
Restrict.........................................................................................................172
Protect..........................................................................................................173
3.7 Port Sicherheit im Labor..............................................................................174
Funktionierendes Netzwerk.........................................................................175
Kaputtes Netzwerk.......................................................................................175
3.7.1 Reparieren fast 0/1..................................................................................179
3.8 Sticky Adressen und Errdisable Recovery....................................................183
Sticky Addresses...........................................................................................183
Error Disable.................................................................................................185
3.9 Ihr könnt euch nicht mehr anmelden?........................................................186
Unterbrechen des Boot Prozesses................................................................186
Ändern der "register" Adresse......................................................................187
3.10 Die Speicheradressen................................................................................189
Adressen der Konfigurationen......................................................................189
Abändern des Boot-Images..........................................................................191
8
BONUS 3: CheatSheet.......................................................................................193
Befehle:........................................................................................................196
4. IPv4 Klassen und Routen....................................................................................200
4.1 Einführung in IPv4 und Binär.......................................................................200
IP Adressing and Binary Conversions............................................................201
IP Adressen - Binär.......................................................................................202
Standardisierung..........................................................................................204
4.1.1 Übung und prefix notation.......................................................................205
Umrechnen der Adressen.............................................................................205
Netzwerk und Host Bereich..........................................................................206
Was ist dieses / 24?......................................................................................206
4.2 Öffentliche IP-Adressen...............................................................................208
4.3 Private IP-Adressen.....................................................................................209
Die Privaten IP Adress-Klassen.....................................................................209
4.4 Das Routing.................................................................................................212
Ein Überblick................................................................................................212
Die Routing Tabelle......................................................................................214
Entscheidungen eines Routers.....................................................................216
4.5 Überblick Statische Routen.........................................................................217
BONUS 4: CheatSheet.......................................................................................221
Befehle:........................................................................................................225
5. Switche, Default Gateways und Telnet..............................................................226
5.1 Wieder zurück zu den Switchen..................................................................226
Virtueller Management Port........................................................................226
Default Gateway hinterlegen.......................................................................230
5.1.1 Non standard "SVI"..................................................................................231
5.2 Telnet Grundkonfiguration..........................................................................233
9
Etwas Theorie...............................................................................................233
Etwas Praxis..................................................................................................235
5.2.1 Telnet erweiterte Konfiguration...............................................................240
5.3 Telnet durch SSH ersetzen...........................................................................243
SSH für eine sichere Verbindung..................................................................243
SSH Konfigurieren.........................................................................................244
5.4 Autonegotiation..........................................................................................247
Kleine Geschichtsstunde...............................................................................248
Duplex mismatch..........................................................................................249
5.5 Port Bezeichnungen und Konsolen Verbindungen......................................250
Ports.............................................................................................................250
Konsole.........................................................................................................252
5.6 Beschreibungen (Interface Bereiche)..........................................................254
Mehrfach Änderung.....................................................................................254
Beschreibung hinzufügen.............................................................................256
BONUS 5: CheatSheet.......................................................................................258
Befehle:........................................................................................................262
6. TCP, UDP und DHCP, DNS, ARP..........................................................................264
6.1 TCP gut und UDP schlecht?.........................................................................264
TCP...............................................................................................................265
UDP..............................................................................................................265
Gegenüberstellung.......................................................................................266
Der "three-way-handshake".........................................................................266
TCP Error Detection und Recovery...............................................................269
6.1.1 Weitere Gegenüberstellungen.................................................................272
TCP Wiederherstellung.................................................................................272
Flow Control und Windowing.......................................................................273
10
Die Protokoll Header....................................................................................275
6.1.2 Four-way-handshake................................................................................277
6.2 Multiplexing................................................................................................278
Socket...........................................................................................................281
6.3 DNS und ARP...............................................................................................282
DNS...............................................................................................................282
ARP...............................................................................................................283
6.4 DNS auf dem Router....................................................................................285
Namensauflösung auf einem Router............................................................285
Statische Host Einträge.................................................................................285
DNS Server hinterlegen................................................................................286
6.4 DHCP Basiswissen........................................................................................287
Anfrage für DHCP.........................................................................................288
6.4.1 DHCP einrichten.......................................................................................289
DHCP Server auf einem CISCO Router?........................................................289
DHCP Konfigurieren......................................................................................290
DHCP Routen................................................................................................292
BONUS 6: CheatSheet.......................................................................................294
Befehle:........................................................................................................300
7. Statische Routen - Erweitert..............................................................................301
7.1 Frame Relay.................................................................................................301
Point-to-Point Circuit....................................................................................302
Frame Relay..................................................................................................303
7.1.1 Packet Tracer Frame Relay aufbauen.......................................................304
R1 Configuration...........................................................................................304
R2 Configuration...........................................................................................304
R3 Konfiguration...........................................................................................305
11
Service Provider Config.................................................................................305
Frame Relay Konfiguration...........................................................................307
7.2 Topologie, Pings und HAS Netzwerke..........................................................309
Loopback Adresse.........................................................................................310
7.2.1 Praxis Übung............................................................................................312
Konfiguration................................................................................................312
Praxis............................................................................................................313
BONUS 7: CheatSheet.......................................................................................323
Befehle:........................................................................................................323
8. Distance Vector und RIP v2................................................................................324
8.1 Einführung in - Distance Vector Protokolle.................................................324
RIPv2............................................................................................................324
Routing Loops...............................................................................................325
Split Horizon.................................................................................................326
Route Poisoning...........................................................................................326
8.1.1 Route Poisoning.......................................................................................327
Was ist Route Poisoning...............................................................................328
RIPv2............................................................................................................331
8.2 RIP Praxis Übung - Aktivieren RIPv2............................................................332
8.3 RIP Praxis Übung - Automatic Network Summarization..............................337
Automatic Network Summarization.............................................................337
RIP in Aktion.................................................................................................341
8.4 Autosummarization und RIP Routen...........................................................344
Das Problem mit Autosummarization...........................................................344
8.5 Passive Interfaces........................................................................................347
Wieso Passive Interfaces?............................................................................347
8.6 Administrative Distances.............................................................................353
12
Entscheidungen treffen................................................................................353
Administrative Distances..............................................................................354
8.7 RIP Praxis Übung - Load Balancing...............................................................357
Netzwerk Aufbau..........................................................................................357
Testen der Verbindungen.............................................................................359
8.7.1 RIP Praxis Übung - Trace Route................................................................362
Befehle für Trace Route................................................................................362
8.8 Version Mismatches und Debugging...........................................................365
8.9 Floating Route.............................................................................................367
Scenario........................................................................................................367
Praxis............................................................................................................368
BONUS 8: CheatSheet.......................................................................................373
Befehle:........................................................................................................377
9. Das 1x1 des Subnetting......................................................................................379
9.1 Wieso Subnetting?......................................................................................379
Wie gehe ich an das Subnetting ran?............................................................379
Die "versteckten" Herausforderungen.........................................................381
9.2 Eine kleine Auffrischung..............................................................................382
Das hatten wir doch schon einmal?..............................................................382
Eine kleine Auffrischung...............................................................................383
9.2.1 Wie sieht die Umrechnung einer ganze IP aus?.......................................384
Realität nahe Umrechnung...........................................................................384
9.2.2 Binär in Dezimal.......................................................................................389
Rückrechnung Binär zu Dezimal...................................................................389
9.3 Das Subnetting - Bit by Bit Methode...........................................................391
Ein Sprung in das kalte Wasser.....................................................................391
Praxis............................................................................................................393
13
9.4 Das Subnetting - Bulldog Methode..............................................................394
Praxisfrage....................................................................................................394
Die einfache Lösung!....................................................................................395
9.5 Anzahl der gültigen Hosts............................................................................396
Berechnung..................................................................................................396
Wieso ziehe ich noch 2 vom Ergebnis ab?....................................................397
9.5.1 Finde die Netzwerk Adresse von einer IP Adresse....................................398
Erklärung......................................................................................................398
Der lange Weg..............................................................................................399
Der mittlere Weg..........................................................................................401
Der schnelle Weg..........................................................................................402
9.5.2 Finde die Broadcast Adresse....................................................................403
Eine kleine Einführung..................................................................................403
9.6 Praxis Übungen...........................................................................................406
Aufgabenstellung 1.......................................................................................406
Aufgabenstellung 2.......................................................................................409
BONUS 9: CheatSheet.......................................................................................412
10. Access Lists......................................................................................................418
10.1 Was sind ACL und etwas Theorie..............................................................418
Einleitung.....................................................................................................418
Etwas Theorie...............................................................................................419
Beschreibungen für ACLs..............................................................................421
10.2 Wildcard Masking......................................................................................421
Einleitung in das Thema...............................................................................421
10.3 "Standard" und "Extended" ACL Lab.........................................................424
Einleitung.....................................................................................................424
Aufgabenstellung.........................................................................................426
14
10.3.1 "Standard" ACL Lab failed.......................................................................430
10.3.2 "Extended" ACL Lab................................................................................434
10.3.3 "any" und "host"....................................................................................437
Any und Host................................................................................................437
10.4 Die Reihenfolge der ACL Lines...................................................................439
Einleitung.....................................................................................................439
10.5 Named Standard ACL Lab..........................................................................441
Einleitung in "named standard ACL".............................................................441
Erstellen einer "standard named" ACL.........................................................443
10.6 Named Extended ACL Lab.........................................................................445
Einleitung in "named extended ACL"............................................................445
10.7 Telnet und "extended" ACL.......................................................................449
Einführung in das Lab...................................................................................449
Aufgabenstellung.........................................................................................450
10.7.1 Regel mit einem Timer...........................................................................453
10.7.2 Sequence number - Reihenfolge der ACL...............................................455
Wofür sind die Sequence numbers?.............................................................455
BONUS 10: CheatSheet.....................................................................................459
Befehle:........................................................................................................461
11. Network Time Protocol....................................................................................464
11.1 Wofür überhaupt die Uhreit......................................................................464
Einleitung.....................................................................................................464
Definition......................................................................................................465
11.2 NTP Server Lab..........................................................................................467
Einleitung.....................................................................................................467
Praxis Lab.....................................................................................................468
11.2.1 NTP Server-Peer Lab...............................................................................473
15
Einleitung in das Lab.....................................................................................473
Praxis Lab.....................................................................................................474
11.2.3 NTP Broadcast Mode..............................................................................477
Einführung in das Lab...................................................................................477
Das Praxis Lab...............................................................................................479
BONUS 11: CheatSheet.....................................................................................482
Befehle:........................................................................................................483
12. NAT und PAT....................................................................................................485
12.1 Was ist NAT und PAT.................................................................................485
Einleitung.....................................................................................................485
Bezeichnungen der Adressen.......................................................................486
12.2 Static NAT Lab...........................................................................................488
Einleitung.....................................................................................................488
Praxis............................................................................................................490
12.3 Dynamic NAT Lab......................................................................................493
Einleitung.....................................................................................................493
Praxis............................................................................................................494
12.4 PAT Lab......................................................................................................498
Einleitung.....................................................................................................498
Praxis............................................................................................................499
BONUS 12: CheatSheet.....................................................................................503
Befehle:........................................................................................................504
13. IP Version 6......................................................................................................506
13.1 Wieso IPv6 und etwas Theorie..................................................................506
Wieso eine neue Version?............................................................................506
Vergleich der Header....................................................................................508
13.1.1 Lesbarkeit erleichtern............................................................................510
16
Die Lesbarkeit...............................................................................................511
Leading zero compression............................................................................513
Folgende Schreibweißen sind "illegal"..........................................................514
13.2 Global Routing Prefix.................................................................................514
Einleitung.....................................................................................................514
Verteilung der Blöcke...................................................................................515
Etwas Ver- und Entwirrung...........................................................................516
Wo finde ich die Subnetze in der Adresse....................................................517
Zusammenfassung der Blöcke......................................................................519
13.3 Aktivieren von IPv6....................................................................................520
Einleitung.....................................................................................................520
Praxis............................................................................................................521
13.3.1 Verifizieren der IPv6 Adresse.................................................................524
Praxis............................................................................................................524
13.4 Die "Link Local Address"............................................................................526
Show IPv6 interface......................................................................................526
Aufbau des "link-local".................................................................................528
13.4.1 Wie entsteht der "interface identifier"...................................................529
Schritt 1 bis 3................................................................................................530
Schritt 4........................................................................................................530
13.4.2 Interface Identifier als Host Adresse......................................................532
13.5 Neighbor Discovery Protocol - Router finden............................................534
13.6 Neighbor Discovery Protocol - Host finden...............................................538
Erkennen und errechnen..............................................................................541
NS und NA swap...........................................................................................543
13.7 IPv6 und DHCP...........................................................................................544
Einleitung.....................................................................................................544
17
Unterschiede................................................................................................546
Stateless DHCP.............................................................................................547
13.7.1 IPv6 Duplicate Address Detection..........................................................548
Einleitung.....................................................................................................548
Praxis............................................................................................................549
13.8 IPv6 Routing Table.....................................................................................550
Einleitung.....................................................................................................550
Praxis............................................................................................................551
Eigenheit auf den "interfaces"......................................................................554
Übersicht in der Tabelle...............................................................................555
13.9 IPv6 und Ping.............................................................................................557
Das Pingen....................................................................................................557
Praxis............................................................................................................558
Alle Verbindungen Prüfen............................................................................560
ICMPv6 Typen..............................................................................................561
13.10 IPv6 Static Routes....................................................................................562
Die "static route" Typen...............................................................................562
Praxis............................................................................................................563
Der Weg zurück............................................................................................565
13.10.1 IPv6 Static Routes mit Local Link..........................................................568
Praxis............................................................................................................568
13.10.2 IPv6 Default Static Route......................................................................570
Praxis............................................................................................................571
13.10.3 IPv6 Host Static Route..........................................................................573
Einleitung.....................................................................................................573
Praxis............................................................................................................573
13.11 Spezielle IPv6 Adressen...........................................................................575
18
Auflistung.....................................................................................................575
13.12 IPv6 Subnetting.......................................................................................576
Subnetting und IPv6.....................................................................................576
Beginnen wir mit der Theorie.......................................................................576
BONUS 13: CheatSheet.....................................................................................580
Befehle:........................................................................................................588
14. IOS erweitertes Wissen....................................................................................591
14.1 Services im allgemeinem...........................................................................591
14.2 Der Zeitstempel.........................................................................................593
Die Level des Logs.........................................................................................596
Konfiguration des Services...........................................................................597
14.3 Konsolen Logs............................................................................................600
Einleitung.....................................................................................................600
14.4 Buffer und Syslog Logging.........................................................................608
Einleitung.....................................................................................................608
Buffer Logging..............................................................................................608
Der Syslog Server..........................................................................................610
14.5 Wo finde ich meine Logs?.........................................................................612
Praxis............................................................................................................613
14.6 Banner ausgeben.......................................................................................615
Login Banner................................................................................................616
MOTD Banner...............................................................................................618
Exec Banner..................................................................................................619
14.7 CDP und LLDP............................................................................................620
Praxis............................................................................................................621
CDP in einem produktiven Netzwerk............................................................624
Link Layer Discovery Protocol.......................................................................625
19
14.8 Backup und Restore..................................................................................629
Voraussetzungen..........................................................................................629
Backup der "startup configuration"..............................................................629
Backup des "flash" Speichers........................................................................631
Der Restore Prozess.....................................................................................633
14.9 IOS Lizenzen..............................................................................................634
Anzeigen der installieren Lizenzen...............................................................634
Installieren einer Lizenz................................................................................635
BONUS 14: CheatSheet.....................................................................................637
Befehle:........................................................................................................641
20
1. DAS BASIS WISSEN
1.1 TCP / IP NETWORKING MODEL
WIESO BRAUCHEN WIR DIESE NETZWERKMODELLE?
Sie schaffen einen Standard, um eine Konfiguration für alle dazugehörigen
Geräte zu schaffen. Ohne eine Standardisierung könnten nicht alle Geräte
miteinander gleichermaßen kommunizieren und das gesamte Konzept
würde auseinanderbrechen.
Das betrifft allerdings nicht nur physische Geräte, davon auch betroffen sind
Programme und Dienste, die zusammenarbeiten sollen. Wir arbeiten also
auf verschiedenen Ebenen, welche heruntergebrochen, entweder greifbar,
oder logisch sind.
21
Für dieses Buch sind vor allem vier Schichten des oben aufgelisteten TCP/IP
Standards interessant.
Lerne zuerst den physischen "layer" zu verstehen, dass das wichtig für
ein tiefergehendes "troubleshooting" ist.
Darauffolgend befassen wir uns mit dem "data link layer" und
kommen auf die Switches zu sprechen.
Nachdem das alles verinnerlicht wurde, werden wir genauer auf den
"network layer" und "transport layer" eingehen.
EIN KLEINER TIPP FÜR DIE ZUKUNFT
Bei einem Fehlerfall startet immer auf der ersten Schicht, dem "pysical
layer", und arbeitet euch die einzelnen Schichten nach oben, bis ihr auf die
Fehlerquelle gestoßen seid.
WAS IST DAS OSI MODELL?
Das OSI-Modell ist nicht der aktuell verwendete Standard, viel mehr ist er
der Grundstein des TCP/IP Modells und wird immer wieder als
22
Referenzmodell aufgeführt. Wir verwenden - lernen dieses allerdings
trotzdem, da das TCP / IP Modell davon abgeleitet ist.
Das OSI-Modell wurde standardisiert von:
ISO - International Organization for Standardization
CCITT - International Telegraph & Telephone Consultative
Committee
Das TCP/IP Modell wurde von der: United States Department of Defense
entworfen und von der Netzwerk-Welt wegen seinem praxisorientierten
Aufbau übernommen.
Damit wurde es selbstständig zu dem aktuellen Standard, ohne das Zutun
eines Instituts oder einer Organisation.
23
1.1.1 KABEL UND DAS ETHERNET
DAS KUPFERKABEL
Also starten wir mit dem "physical layer" und schauen uns ganz am Anfang
die verschiedenen Kabelstandards an. Das im Allgemeinen als LAN-Kabel
bekannte Kabel ist in zwei verschiedenen Ausführungen verfügbar,
unabhängig von dem verwendeten Standard.
UNSHIELDED TWISTED PAIR KABEL
UTP - unshielded twisted-pair
Ist der am weitesten verbreitete Kabeltyp und minimiert den Effekt von:
EMI - electromagnetic interference
von außen, aber auch von seinen eigenen Kabel-Adern selbst. Um die
Bildung von EMI innerhalb des Kabels selbst zu verhindern, werden die sich
darin befindenden Ader-Paare ineinander verdreht.
Sollte sich dennoch ein EMI innerhalb eines Kabels bilden, spricht man von
einem "crosses over". Die Signale vermischen sich über die Adern hinweg
und zerstören die damit übertragenen Daten.
24
Wieso nennt sich dieses Kabel "unshielded", hat es wirklich keine
Schirmung?
Ja das stimmt! Diese Kabel haben keine gesonderte Schirmung um die Ader-
Paare herum.
SHIELDED TWISTED PAIR KABEL
Kabel, die diese gesonderte Schirmung besitzen, nennen sich:
STP - shielded twisted-pair
Hier ist jedes Kabel ist einzeln geschirmt, sowie noch einmal jedes
verdrehte Ader-Paar.
Dennoch ist dieses Kabel nur selten anzutreffen, aber wieso?
Jede noch so kleine Beschädigung, durch einen Knick oder einer Verletzung
der Isolierung, kann zu zusätzlichen EMI führen und wäre damit noch
schlechter, als der aktuell verwendete UTP Kabel-Typ. STP Kabel werden
häufig nur bei großen Fertigungsanlagen verwendet, welche enorme
elektromagnetische Auswirkungen auf die Umgebung haben.
25
DER KUPFER STANDARD IEEE
Die Firma:
IEEE - Institute of Electrical and Electronics Engineers
Hat die Bezeichnungen der verschiedenen Ethernet Formen und
Geschwindigkeiten definiert:
Der alte Ethernet-Standard hatte eine Bandbreite von:
10 Mbps
und hat die offizielle Bezeichnung nach dem IEEE:
802.3,
auch genannt als
10BASE-T.
Dieser verwendete zwei Paar Adern von den vier verfügbaren Adern.
Der Nachfolger erreichte bereits eine maximale Geschwindigkeit von:
100 Mbps
und trug die IEEE Bezeichnung
802.3u,
auch genannt:
100BASE-T.
Dieser verwendet ebenfalls nur zwei Paar Adern von den vier verfügbaren.
26
Es ist gut zu erkennen, dass durch die IEEE in der Bezeichnung lediglich ein
Buchstabe hinzugefügt wurde. Diese Erweiterung (um einen Buchstaben)
eines Standards wird man noch öfter antreffen.
Der aktuelle Standard:
1000Mbps
IEEE Bezeichnung:
802.3ab,
auch genannt:
1000BASTE-T.
Der Geschwindigkeitszuwachs wird zum Teil ermöglicht, da bei diesem
Kabel alle vier von vier möglichen Adern verwendet werden.
Der zukünftige Standard:
10Gbps
IEEE Bezeichnung:
802.3an,
auch genannt:
10GBASTE-T.
Beachtet das gut versteckte "G" bei der Bezeichnung!
DER FIBER OPTIC STANDARD IEEE
Der "fiber optic standard" startete gleich mit dem Gigabit Ethernet mit:
27
1000Mbps
IEEE Bezeichnung:
802.3z,
auch genannt:
1000BASE-LX.
Der entscheidende Vorteil hier ist, dass alle vorherigen Kabel-Standards auf
eine Länge von 100 Metern limitiert sind.
28
1.1.2 CROSSOVER UND STRAIGHT-THROUGH KABEL
Auf dieser Seite wird es um die klassische Verkabelung zwischen Computern
und Switchen gehen.
Crossover Kabel
Straight-Through Kabel
Diese Art der Verkabelung ist zwar, dank moderner Technik, nicht mehr
nötig, veranschaulicht aber sehr gut, wie die Daten hier fließen.
KABEL - COMPUTER ZU SWITCH
Hier wurde ein Straight-Through Kabel verwendet, da der Computer auf
den Pins 1 und 2 sendet und auf den Pins 3 und 6 empfängt.
Bei den Switchen ist dies genau umgekehrt. Diese empfangen auf den Pins
3 und 6, und senden auf den Pins 1 und 2. Somit ist hier die Kommunikation
auf der Hardware-Ebene direkt möglich.
29
Zur Veranschaulichung eine kleine Tabelle:
Pin 1 Pin 2 Pin 3 Pin 6
PC Senden Senden Empfangen Empfangen
Switch Empfangen Empfangen Senden Senden
KABEL - SWITCH ZU SWITCH
Da hier beide auf den Pins 1 und 2 empfangen, sowie auf den Pins 3 und 6
senden, wird ein sogenanntes Crossover Kabel benötigt. Bei diesem sind an
einem Ende die Pins verdreht, so dass die Kommunikation zwischen den
Switchen problemlos auf der Hardware-Ebene ermöglicht wird.
Eine Tabelle zur Veranschaulichung:
Kabel Ende 1 Pin 1 Pin 2 Pin 3 Pin 6
Kabel Ende 2 Pin 3 Pin 6 Pin 1 Pin 2
30
Pin 1 Pin2 Pin 3 Pin 6
Switch Empfangen Empfangen Senden Senden
Switch Empfangen Empfangen Senden Senden
Zusammenfassend:
Geräte vom gleichen Typ werden mit einem "crossover" Kabel verbunden,
Geräte von einem unterschiedlichen Typ mit einem "straight-through"
Kabel.
Gerät 1 Gerät 2 Kabel
Switch Switch Crossover
Switch Router Straight-Through
Switch Computer Straight-Through
Router Computer Crossover
Die letzte Zeile in der Tabelle kann auf den ersten Blick nicht richtig wirken,
ein Router und ein Computer sind doch unterschiedliche Geräte Typen,
oder? Nein, beides sind "multilayer" fähige Geräte und sind somit der
gleiche Typ.
31
32
BELEGUNG DES CROSSOVER-KABELS
33
AUTO MDI-X
Auto MDI-X Automatic Medium-Dependet Interface Crossover
ist eine Technologie, welche bei CISCO in den Prüfungen immer explizit
erwähnt wird. Diese sollte aktiv sein. Wird diese nicht explizit erwähnt, gilt
es die beiden oben genannten Kabel Arten zu verwenden.
Dieses Protokoll ermöglicht es, zwei Geräte von dem gleichen Typ, mit
einem Straight-Through Kabel zu verbinden. Hier erkennen die Switche,
Router oder Computer selbstständig, dass ein solches Kabel verwendet wird
und ändern die Pin-Zuweisung innerhalb der Software.
Ein kleines Konfigurationsbeispiel für ein "interface" bezüglich Auto MDI-X:
SW1(config)#int fast 0/1
SW1/config-if)#speed auto
SW1(config-if)#duplex auto
SW1(config-if)#mdix ?
Schaltet die automatische Erkennung (Auto MID) für Crossover-Kabel ein
auf dem Interface
SW1(config-if)#mdix auto
34
1.2 DER ETHERNET HEADER
AUFBAU DES HEADERS
Preamble Start Frame
Delimiter (SFD)
Destination MAC
Address
Source MAC
Address
Protokol
Type
Wir werden hier die wichtigsten Punkte des Ethernet Headers grob
behandeln und uns ansehen, wofür die einzelnen Felder zuständig sind.
Hierbei handelt es sich allerdings nicht um alle Felder des Headers.
PREAMBLE
Ist ein Set von sieben "bytes" aus aufeinander folgenden "1" en und "0" er,
dieser ist für die "clock syncronization" zuständig.
10101010 - 7 "bytes"
35
START FRAME DELIMITER
SFD Start Frame Delimiter
Ist ein, 1 "byte set", bestehend aus:
10101011
und wird verwendet, um das Preamble abzuschließen. Es bereitet den
Empfänger darauf vor, dass nun die Sender MAC Adresse folgt. Wie an dem
"byte" zu sehen ist, wird lediglich das Ende der Abfolge abgeändert auf:
"11"
DESTINATION MAC ADDRESS
Ist die MAC Adresse des Absenders. Dies wird später noch ausführlicher
behandelt.
SOURCE MAC ADDRESS
Ist die Ziel MAC Adresse. Dies wird später noch ausführlicher behandelt.
36
37
PROTOCOL TYPE
Initialisiert genau das, wie es heißt: Das Protokoll. In einem lokalen
Netzwerk ist dies, in der Regel, die IP Version 4 oder 6.
TYPE Code Beschreibung
0x0800 IPv4
0x0806 ARP
0x8035 RARP
0x8100 VLAN Tag
0x8847 MPLS unicast
0x8848 MPLS multicast
FRAME CHECK SEQUENCE
FCS Frame Check Sequence
Die FCS ist das Ende des Ethernet Headers und sieht auf den ersten Blick
nicht besonders wichtig aus, dies täuscht gewaltig!
Die FCS ist eine virtuelle Fehlererkennungs-Operation.
38
Diese funktioniert folgendermaßen:
Sender:
Der Sender erhält einen nummerischen Wert, welcher durch eine
mathematische Formel, anhand des Inhaltes eines Frames, errechnet wird.
CRC - cyclic redundancy check
Diese Nummer wird in dem FCS gespeichert und mit an den Empfänger
gesendet.
Empfänger:
Der Empfänger lässt ebenfalls über die Daten innerhalb des Frames einen
CRC laufen und vergleicht, den daraus erhaltenen nummerischen Wert, mit
dem des Senders.
Wenn beide übereinstimmen, ist der Frame in Ordnung.
Sollte es zu Abweichungen kommen, weiß der Empfänger sofort, dass der
Frame defekt/ korrupt ist.
Zu beachten ist, dass bei einem fehlerhaften Frame das Ethernet-Protokoll
selbst dem Sender dies nicht mitteilt und diesen lediglich verwirft.
Der FCS macht lediglich eine Fehlererkennung, keine Korrektur.
39
1.3 DER KLASSISCHE HUB
GESCHICHTSSTUNDE:
Hubs sind Geschichte! - und wieso diese Geschichten sind:
Ein Hub ist ein Layer 1 Gerät und wird man heute so gut, wie gar nicht mehr
sehen. Solltet ihr einen sehen, ersetzt diesen sofort.
Wieso wurden diese Geräte überhaupt verwendet?
Es war immer wieder der Fall, dass zwei Computer zum Beispiel 175 Meter
auseinanderlagen. Da das Standard-Ethernet Kabel aber nur bis zu 100
Meter unterstützt und das Signal immer schlechter über weite Strecke wird,
wurden dafür sogenannte Repeater eingeführt, um ein starkes und
zuverlässiges Signal zu gewährleisten. Diese haben eine neue und gestärkte
Kopie des Signales weitergeleitet.
Bezieht man dies nun auf einen Hub (welche verschiedene Kapazitäten an
"interfaces" haben können), kann man sagen, ein Hub ist ein:
40
"multiport repeater".
An einem Hub können zwar mehrere Hosts angeschlossen werden, aber es
kann immer nur einer dieser Computer über den Hub senden. Diese Hosts
teilen sich dazu noch, die gesamt verfügbare Geschwindigkeit. Sobald ein
Host Daten sendet, ist für alle anderen diese langsame Leitung "belegt" und
somit nicht benutzbar.
Sollten mehrere gleichzeitig senden, kollidieren diese Daten und sind
defekt/ verloren.
Diese Art von Netzwerk nennt sich, eine:
"collision domain".
41
Um in einem solchen Netzwerk so gut, wie möglich einen Datenverlust zu
vermeiden, wurde
CSMA/CD Carrier Sense Multiple Access with Collision Detection
erfunden.
Bevor ein Computer innerhalb der "collision domain" Dateien versendet,
prüft er mit diesem Protokoll, ob nicht bereits ein andere Computer Daten
sendet. Er "horcht" sozusagen am Kabel.
Sollte der Computer feststellen, dass bereits Daten gesendet werden,
wartet dieser ein paar Millisekunden (zufällige Zahl) und "horcht" erneut.
Diese Prozedur wiederholt sich so lange, bis er die Daten versenden kann.
Sollte es passieren, dass zwei Computer zu der exakt selben Zeit nach dem
"horchen" Daten versenden, ändert sich die Volt Zahl auf dem Kabel, in
welchem die "collision" passiert ist.
Diese Veränderung der Volt Zahl signalisiert dem Absender - Hier sind
Daten kollidiert - die Übertragung ist fehlgeschlagen.
Damit auch die anderen Computer in der "collision domain" dies
mitbekommen, erstellt der Absender ein sogenanntes: "jam signal".
Dieses sagt allen Computer in dem Netzwerk: „Sendet jetzt keine Daten, es
ist gerade eine Kollision entstanden“.
Ab hier startet der USMA/CD Prozess von vorne.
42
Ein weiteres Problem, wieso Hubs ausgestorben sind, ist, dass es sich um
eine große nicht unterteilbare "broadcast domain" handelt.
Jedes Mal, wenn ein Host die Verbindung mit diesem Netzwerk herstellen
will, oder im Allgemeinen einen "boradcast" sendet, verteilt der Hub dies an
alle angeschlossenen Geräte, was auch bei einem Switch der Fall ist, jedoch
kann dieser in mehrere "broadcast domains" unterteilt werden.
43
1.4 BRIDGES UND SWITCHES
DIE BRIDGE
Eine Bridge wurde klassischerweise zwischen zwei oder mehreren Hubs
gehängt. Damit war es möglich ein Netzwerk in mehrere "collision
domains" zu unterteilen, was die Stabilität steigerte.
Umso mehr "collision domains" es gibt, desto weniger Kollisionen kann es in
dem gesamten Netzwerk geben, da diese Hosts durch die Bridge
"geschützt" werden.
Der Nachteil oder das Neutrum an diesen Bridges ist, dass diese eine
"broadcast domain" nicht aufteilen können. Somit hat dieses Gerät bei den
"boradcast domains" gegenüber dem einzelnen Hub keinen Vorteil.
4 Computer
2 Collision Domains
1 Broadcast Domain
44
DER SWITCH
Ein klassischer "layer" 2 Switch unterteilt jede Verbindung zu einem Host in
eine eigene "collision domain" und erwirkt dadurch eine
"microsegmentation". Hierdurch haben wir die Sicherheit, dass zwischen
den Computern keine Kollisionen bei der Datenübertragung auftreten
können.
Was zu beachten ist, in einer Standard Layer 2 Switch Konfiguration haben
wir immer noch eine große "broadcast domain".
4 Computer
4 Collision Domains
45
1 Broadcast Domain
46
1.5 ERSTELLUNG EINER MAC-TABELLE
Das oben gezeigte Bild ist ein Muster und wird nach und nach
aufgeschlüsselt, so ist es einfacher und verständlicher darzustellen, wie die
MAC Adressen Tabelle aufgebaut wird.
Fangen wir mit einem einfachen Switch ohne verbundene "interfaces" an.
Bei dem ersten Boot eines Cisco Switches finden sich hier keinerlei MAC
Adressen.
Weder dynamische noch statische Einträge sind bei diesem vorhanden.
Fangen wir einmal mit diesen beiden Begrifflichkeiten an:
47
Dynamische Einträge:
Der Client trägt sich durch das Senden eines Ethernet Frames in dem Switch
für den angeschlossenen Port ein. Dies ermöglicht uns den Eintrag in dem
"Ethernet-Header", welcher die "Source MAC Address" enthält.
Es geschieht in der Standard-Konfiguration automatisch und ist die übliche
Konfiguration für einen Switch Port. Ein solcher Eintrag ist in der Standard-
Konfiguration 5 Minuten - 300 Sekunden gültig.
Ein dynamischer Eintrag ist das Erste, was ein Switch macht, sobald er einen
Frame erhält.
Zum Beispiel:
Host A mit der MAC Adresse aaaa-aaaa-aaaa will das erste Mal einen
Netzwerkverkehr über den Switch starten. Der Switch empfängt diesen
Frame und kontrolliert, ob er diese MAC Adresse bereits kennt. Da er diese
nicht kennt, erstellt er einen dynamischen Eintrag in seiner ARP Tabelle,
noch bevor er irgendwelche weiteren Entscheidungen trifft oder eine
Verbindung weiterleitet.
Anschließend "floods" flutet der Switch eine Kopie der MAC Adresse an
jedes verbundene "interface", ausgenommen den Port, an dem der Frame
angekommen ist.
Dieses Vorgehen nennt man: "unknown unicast frame",
da der Frame ein unicast, (es gibt einen Empfänger) aber der Empfänger
unbekannt ist.
48
Der Vorteil liegt darin, dass der Port jederzeit gewechselt werden kann und
die Tabelle jedes Mal wieder dynamisch aktualisiert wird.
Statische Einträge:
Es ist möglich die MAC Tabelle statisch, je Host, auf einem Switch zu
definieren. Hierzu ist es nötig, dass die MAC Adresse des angeschlossenen
Gerätes bekannt ist und immer fest einem "interface" zugewiesen wird. Der
Nachteil ist, dass bei jeder Änderung, sei es Port oder Gerät, die Tabelle
händisch nachgepflegt werden muss.
Switch>enable
Switch#show mac address
49
Wenn nun, in dem oben gezeigten Muster, der erste Host an dem Switch
"interface" fast 0/1 angeschlossen wird, erstellt der Switch dynamisch einen
Eintrag mit der MAC Adresse in der ARP Tabelle.
Nun machen wir die Geschichte etwas spannender und schließen einen Hub
mit zwei Hosts an einem Switch "interface" an. Wie wird die ARP Tabelle
verändern?
Als kleine Erinnerung, der Hub ist ein Layer 1 Gerät und hat somit keine
MAC Adresse. Denn diese arbeitet auf dem "layer" 2. Denkt einmal kurz
darüber nach.
50
Die Antwort ist relativ einfach, da der Hub ein "dummes" Gerät ist und
keine Informationen an den Switch weitergeben kann, überschreiben sich
die Einträge in der MAC Adressen Tabelle immer und immer wieder, je
nachdem, wer zuletzt ein Packet an den Switch gesendet hat.
51
52
Sobald, allerdings alle Computer einmal untereinander Daten ausgetauscht
haben und das "flooding" nicht mehr nötig ist, werden wir feststellen: Jetzt
sind plötzlich beide Computer (Host A und Host B) in der MAC Adressen
Tabelle aufgeführt. Dazu kommt noch, es sind beide auf dem gleichen Port
0/1.
Es ist per se kein Problem für einen Switch mehrere MAC Adressen in seiner
Tabelle auf einen Port zu speichern. Diese Einträge werden immer bei dem
ersten Empfangen eines Frames anhand der "source" MAC Adresse aus
dem "Ethernet-Header" erstellt.
53
Sollten nun bei dem "flooding" mehrere MAC Adressen auf dem gleichen
Port als Source ankommen, können verschiedene Dinge passieren:
Forwarding:
Der Frame wird weitergegeben, da der Switch bereits einen Eintrag
mit der Ziel Adresse hat.
Flooding:
Der Switch hat keinen Eintrag, öffnet den "Ethernet Header" und
trägt die MAC Adresse in seine ARP Tabelle. Anschließend startet er
ein "flooding" über alle anderen "interfaces".
Filtering:
Dieses Event tritt ein, wenn sich die "source" und die "destination"
MAC Adresse auf dem gleichen Port befinden. Der Frame wird
verworfen.
Das bedeutet in dem ersten Beispiel mit Hub und Switch, ist das "filtering"
auf dem Switch angewendet worden, da sowohl die "source", als auch die
"destination" MAC Adresse auf dem gleichen "interface" aufgelaufen sind.
Auf dem letzten Bild mit Host C und D war eine Kommunikation möglich, da
zwei weitere belegte Ports 0/2 und 0/3 verwendet wurden, so dass die
54
"source" und die "destination" nicht mehr auf demselben "interface"
liegen.
1.6 FRAME PROCESSING
Bevor der Switch eine Entscheidung bezüglich des „frame forwarding“
treffen kann, muss der Frame von dem Switch verarbeitet werden – „frame
processing“. Für diese Verarbeitung gibt es drei Methoden:
1. Store-and-forward
2. Cut-through
3. Fragment-free
STORE-AND-FORWARD
Bei dieser Verarbeitung wird der gesamte Frame auf dem Switch
gespeichert – „stored“ -, bevor dieser mit einer Übertragung „transmission“
beginnt. Bei der „store-and-forward“ Verarbeitung analysiert der Switch
die:
FCS Frame Check Sequence
beziehungsweise dessen Inhalt (nummerischer Wert), um festzustellen, ob
dessen Daten während der Übertragung beschädigt wurden.
Der Vorteil dieser Methode liegt darin: Sie erhöht die Möglichkeiten der
Fehlersuche im Allgemeinen, da über den Ethernet-Header bereits bei dem
55
Switch festgestellt werden kann, ob ein Frame beschädigt ist und nicht erst
bei dem Empfänger.
Der Nachteil dieser Methode ist, dass dieses die Langsamste ist.
CUT-THROUGH
Die "cut-through" "switching" Methode leitet den Frame bereits weiter,
noch bevor dieser vollständig vom Switch empfangen wurde.
Der Vorteil ist, dass dies die Schnellste von allen ist.
Der Nachteil dieser Methode: Es ist keinerlei Fehlererkennung während
dem Netzwerkverkehr mehr möglich. Der Frame kann erst bei dem
empfangenden Host geprüft werden.
FRAGMENT-FREE
Diese Methode ist ein gesunder Mittelweg zwischen "store-and-forward"
(sehr sicher) und "cut-through" (sehr unsicher). Hierbei wird nicht der
gesamte Frame geprüft, wie bei der ersten Methode, sondern lediglich die
ersten: 64 Bytes jedes Frames.
56
Wenn innerhalb dieser keine Korruption gefunden wurde, wird der Frame
für gut befunden und der "forwarding process" beginnt.
Der Vorteil und Nachteil: Es ist ein Mittelweg zwischen Geschwindigkeit und
Sicherheit, beides wird bei der "fragment-free" Methode in der Waage
gehalten und ist in aller Regel für das "frame-processing" zu empfehlen.
1.7 WIE WIRD EINE MAC ADRESSE ZUSAMMENGESTELLT
Die MAC Adresse wird, verallgemeinert, aus zwei Teilen zusammengesetzt.
Nehmen wir direkt einmal eine MAC Adresse aus einem der Switche im
CISCO Packet Tracer:
001c0fbf2f04
DER ERSTE TEIL DER MAC ADRESSE
Die oben aufgeführte Adresse können wir buchstäblich in der Mitte teilen
und erhalten damit an erster Stelle die sogenannte:
OUI Organizationally Unique Identifier
001c0f | bf2f04
57
Somit ist die OUI bei dieser MAC Adresse: 001c0f
Diese ist im Industriestandard immer einem Hersteller zuweisbar. Das
bedeutet aber nicht, dass jeder Hersteller nur eine OUI hat. Die Firma CISCO
beispielsweise, hat sehr viele davon. Man könnte fast sagen, dies ist der
Netzwerkanteil der Adresse.
DER ZWEITE TEIL DER MAC ADRESSE
Somit bleibt noch die Frage zu klären, was es mit der zweiten Hälfte auf sich
hat?
001c0f | bf2f04
Diese muss immer ein einzigartiger HEX Schlüssel sein. Man kann sagen,
dies ist der Host Anteil der MAC Adresse.
Typische Schreibweisen einer MAC Adresse:
Einen wirklich einheitlichen, industrieübergreifenden Standard der
Schreibweise gibt es leider nicht, anbei eine kleine Auflistung der häufigsten
Schreibweisen.
1. 001c.0fbf.2f04
Nach vier Zeichen wird ein Punkt gesetzt.
2. 00-1c-0f-bf-2f-04
Nach zwei Zeichen wird ein Bindestrich gesetzt.
58
3. 00.1c.0f.bf.2f.04
Nach zwei Zeichen wird ein Punkt gesetzt.
4. 00:1c:0f:bf:2f:04
Nach zwei Zeichen wird ein Doppelpunkt gesetzt.
Seid also nicht verwirrt, wenn ihr verschiedene Schreibweisen antrefft.
1.8 WERDE VERTRAUT MIT DEM HEX-ZAHLENSYSTEM
Der "normale" Mensch rechnet in der Regel mit dem dezimalen
Zahlensystem, welches sich über die Zahlen: 0-9 erstreckt.
Somit besteht dieses (dezimale) Zahlensystem aus 10 Einheiten.
Für die Vereinfachung des Verständnisses brechen wir erst einmal unser
bekanntes System auf und lesen diese Zahl von RECHTS nach LINKS!
Dezimal:
289
9 Einheiten von eins (1x1)
8 Einheiten von zehn (10x1)
2 Einheiten von hundert (10x10)
59
Wenn ihr einmal diese Art und Weise der Betrachtung verinnerlicht habt, ist
es mit dem hexadezimalen System nicht anders, ABER! Wir haben hier nicht
10 Einheiten (0-9), sondern 16:
0-9 und A-F
Dezimal Hexadezimal
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
60
14 E
15 F
0 0
Wenn wir nun die gleiche Zahl 289 im hexadezimalen (16er Schritte) System
von RECHTS nach LINKS betrachten, werden wir sehr schnell feststellen,
dass sich nur unsere Betrachtung der Zahlen etwas ändern muss:
9 Einheiten von eins (1x1)
8 Einheiten von sechszehn (16x1)
2 Einheiten von 256 (16x16)
1.9 HEX IN DEZIMAL UMRECHNEN
EINE ZWEISTELLIGE HEX-ZAHL IN EINE DEZIMAL ZAHL
UMRECHNEN
x Einheiten von eins (1x1)
x Einheiten von sechszehn (16x1)
61
Nehmen wir z. B.
A7
7 Einheiten von eins (7x1) = 7
10 Einheiten von sechzehn (16x10) = 160
Die beiden Stellen können wir nun, wie gewohnt, im dezimalen
Zahlensystem addieren:
7 + 160 = 167
Somit entspricht die Hex-Zahl:
A7
Der Dezimalen-Zahl:
167
Ein weiteres Beispiel:
4B
11 Einheiten von eins (11 x1) = 11
4 Einheiten von sechszehn (4x16) = 64
11 + 64 = 75
Damit entspricht die Hex-Zahl 4B der Dezimal-Zahl 75
62
EINE DREISTELLIGE HEX-ZAHL IN EINE DEZIMAL ZAHL UMRECHNEN
Nehmen wir hier als Beispiel die Hex-Zahl:
A52
2 Einheiten von eins (1x2) = 2
5 Einheiten von sechszehn (16x5) = 80
10 Einheiten von 256 (256x10) = 2.560
2 + 80 + 2560 = 2642
EINE VIERSTELLIGE HEX-ZAHL IN EINE DEZIMAL ZAHL UMRECHNEN
x Einheiten von eins (1x1)
x Einheiten von sechszehn (1x16)
x Einheiten von 256 (16x16)
x Einheiten von 4096 (256x16)
Die Zahl von RECHTS nach LINKS wird bei jeder weiteren Stelle um den
Faktor x16 erhöht:
1. Stelle 1x1
2. Stelle 1x16
3. Stelle 16x16
4. Stelle 256x16
63
1.10 DEZIMAL IN HEX UMRECHNEN
ZAHLEN UNTER 256
Dezimal Hexadezimal
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
64
14 E
15 F
0 0
Nehmen wir für den Anfang eine kleinere Zahl:
98
Im ersten Schritt müssen wir 98 durch 16 teilen, bzw. herausfinden, wie oft
die Zahl 16 in 98 passt.
Die Zahl 16 passt 6x in 96, es bleibt noch die Zahl 2 übrig.
Wenn wir dies nun, wie in den vorherigen Übungen von RECHTS nach LINKS
aufschreiben:
2 Einheiten von 1 = 2
6 Einheiten von 16 = 96
Haben wir auch schon unsere Hex-Zahl 62.
Nehmen wir eine weitere Zahl für diese Übung:
Die 44.
65
Die Zahl 16 passt 2 Mal in die 44, damit bleiben uns 12 übrig, von RECHTS
nach LINKS geschrieben, sieht dies folgendermaßen aus:
12 Einheiten von 1 = C
2 Einheiten von 16 = 2
Somit ist unsere Hex-Zahl die 2C.
EINE ZAHL ÜBER 256 (3-STELLIGE DEZIMAL ZAHL)
Hier ist rechnen wir die Dezimal-Zahl 302 in eine Hex-Zahl um:
256 passt 1x in die 302, verbleibend 46.
16 passt 2x in die 46, verbleibend 14.
Von RECHTS nach LINKS geschrieben bedeutet das:
14 Einheiten von 1 = E
2 Einheiten von 16 = 2
1 Einheit von 256 = 1
Die Hex-Zahl ist: 12E
66
1.11 WAN
WAN Wide Area Networks
Ein Unterschied, den wir bei einem WAN gegen über einem LAN sofort
erkennen können, ist die Verkabelung. Auch heute ist es noch typisch, dass
ein klassisches WAN Netzwerk über serielle Schnittstellen aufgebaut wird.
Ebenfalls wird ein anderes Protokoll bei dieser Art der Verbindung -
Verkabelung verwendet.
HDLC High-Level Data Link Control
Ein WAN kann als "ethernet service" auf dem "layer" 2 bezeichnet werden,
dabei handelt es sich, um eine Emulation eines Ethernets. Dieses erstreckt
sich nicht mehr via UTP von einem Router oder Switch zum anderen,
sondern von einem Standort zum Beispiel: München nach Berlin.
67
LEASED LINE WANS
ISP Internet Service Provider
"leased line" ist eine WAN Verbindung, welche nicht das Eigentum des
Benutzers ist. Es wird von großen ISPs an große Unternehmen vermietet.
Die eigenen Leitungen - das eigene Eigentum des Unternehmens wird
bezeichnet als:
CPE Customer Premises Equipment
Das exkludiert die:
USE DSU Channel Service Unit / Data Service
Unit
was unsere Schnittstelle in das WAN ist. Diese wird von unserem Provider
gestellt. Man kann es als ein Modem bezeichnen, welches Datenpakete
aufbereitet und über ein digitales WAN versendet.
Unter ein digitales WAN fällt beispielsweise das "frame relay", dazu in
einem späteren Kapitel mehr.
Die Schnittstelle für ein USE / DSU verwendet ein RJ48 Kabel, welches dem
RJ45 Standard zum Verwechseln ähnlichsieht, es unterscheidet sich optisch
lediglich in der Belegung der Pins.
68
69
DIE BASIS VON HDLC
HDLC ist das "default" Protokoll für klassische WAN Links. Es ist für die
korrekte und vollständige Übertragung der Daten zuständig. Da es immer
nur in einer Punkt- zu Punkt-Verbindung eingesetzt werden kann, ist es
relativ simpel aufgebaut.
Durch diesen simplen Aufbau hat es allerdings auch ein paar Schwächen.
Eine davon ist, dass HDLC kein Typ Feld beherbergt, somit wissen wir bei
einer Analyse nicht, welches Protokoll dieses Paket beinhaltete.
CISCO hat diesem entgegengewirkt, indem sie eine eigene, proprietäre
Version von HDLC implementiert haben. Es handelt sich, um ein nicht
standardisiertes Protokoll, welches von dem jeweiligen Hersteller abhängig
ist.
Wir können keine unterschiedlichen Geräte Hersteller für ein WAN
verwenden, welches auf das HDLC Protokoll setzt, da die Versionen sehr
wahrscheinlich nicht untereinander kompatibel sind.
70
ETHERNET ALS WAN TECHNOLOGIE
Die aktuell verwendete Technologie für ein WAN mit dieser Bezeichnung ist
MPLS.
MPLS Multiprotocol Label Switching
Das hat vor allem drei Gründe:
„Outgesourctes“ Routing - Der Provider kümmert sich um das WAN
Routing.
Any-to-Any Verbindungen - Es ermöglicht eine einfache Verbindung
von Standorten.
Quality of Service - Wir können den Schwellwert für Latenzen und
Paketverluste festlegen.
71
BONUS 1: CHEATSHEET
OSI Modell:
ISO - International Organization for Standardization
CCITT - International Telegraph & Telephone Consultative Committee
TCP IP Modell:
United States Department of Defense
Kabel und das Ethernet
UTP - unshielded twisted-pair
EMI - Elekromagnetischen interference
STP - shielded twisted-pair
IEEE - Institute of Electrical and Electronics Engineers
Kupfer
802.3 10BASTE-T
802.3 u 100BASTE-T
802.3 ab 1000BASTE-T
802.3 an 10GBASTE-T
72
Fiber
802.3 z 1000BASE-LX
Crossover und Straight-Through Kabel
Straight-Through Kabel Computer zu Switch
PIN 1,2 - 3,6
Crossover Kabel Switch zu Switch
Auto MDI-X - Automatic Medium-Dependet Interface Crossover
73
Der Ethernet Header
Preamble
7 Byte
(10101010)
Start Frame
Delimiter
(SFD) 1 Byte
(10101011)
Destination
MAC
Address
Source
MAC
Address
Protocol
Type
IPv4/6
Frame
check
sequence
(FCS)
Type Codes
TYPE Code Beschreibung
0x0800 IPv4
0x0806 ARP
0x8035 RARP
0x8100 VLAN Tag
0x8847 MPLS unicast
0x8848 MPLS multicast
Abkürzungen in der Tabelle
SFD - Start Frame Delimiter
FCS - Frame Check Sequence
CRC - cyclic redundancy check
74
Der klassische HUB
CSMA/CD - Carrier Sense Multiple Access with Collision
Detection
jam signal - Signal an alle PCs, jetzt nicht senden.
multiport repeater - Bezeichnung für Hubs
Bridges und Switches
Microsegmentation - Bezeichnung bei Switchen: collision domain für
jeden PC - Switch Port.
Erstellung einer MAC-Tabelle
Flooding - Fluten der "destination MAC Address", wenn diese noch
an jeden Switch Port (ausgenommen Absender) unknown
unicast frame -unbekannt ist.
Forwarding - Der Switch hat bereits einen Eintrag der "destination MAC
Address" und sendet den Frame an diesen Port weiter.
Filtering - Wenn die Source und die Destination MAC Adresse auf
dem gleichen Port sind und es keinen weiteren Daten
Austausch gibt
75
Frame Processing
Store-and-
forward -
Checkt jeden Frame mit der FCS
Cut-through - Leitet den Frame bereits weiter, bevor dieser
vollständig angekommen ist
Fragment-free - Check der ersten 64 Bytes mit dem FCS
Wie wird eine MAC Adresse zusammengestellt
OUI - Organizationally Unique Identifier (Die erste Hälfte der
Adresse)
76
2. IOS BASISWISSEN UND DAS VLAN
2.1 EINFÜHRUNG IN IOS
ARBEITEN MIT IOS ÜBER DIE KONSOLE
In einer CISCO Prüfung werdet ihr wahrscheinlich einige praktische
Aufgaben mit dem Packet Tracer lösen müssen. In der Regel könnt ihr
einfach auf das gewünschte Gerät klicken und direkt loslegen, nicht aber in
den Prüfungsaufgaben.
Die Prüfer wollen sicherstellen, dass ihr nicht nur in einer Simulation, das
IOS bedienen könnt, sondern auch in der Praxis. Deshalb werden viele
dieser Aufgaben so gestellt, dass ihr eine Konsolensitzung von einem Host
auf einen Switch oder Router aufbauen müsst. Das erkennt ihr auf den
ersten Blick an einem blauen Kabel, welches von einem Host zu einem
Netzwerkgerät führt.
77
Dieses Kabel wird bei dem Host in den:
RS 232 Port
und bei dem Router in den:
Console Port gesteckt.
Anschließend klickt ihr den Host einmal an und wählt den Reiter "Desktop"
und danach die Application "Terminal":
78
Die Standardwerte sollten in aller Regel so stimmen, wie sie voreingestellt
sind. Bestätigt die Angaben noch mit "OK" und ihr habt erfolgreich von
einem Host eine Konsolensitzung gestartet.
DIE PACKET TRACER KONSOLE
Grundlegende Switch Befehle und Konfiguration Modi.
Wenn wir zum ersten Mal einen Cisco Switch starten, werden wir in etwa
diese IOS Oberfläche sehen:
79
Nach einem Druck auf die Enter Taste haben wir die Möglichkeit die ersten
Eingaben zu tätigen:
DIE VERSCHIEDENEN MODI
Von hier an gilt es zu wissen, in welchem Modus wir arbeiten müssen.
Die typischen Cisco Switche haben drei verschiedene Modi:
User Exec Mode (Show Commands - User Kontext)
Privilege Exec Mode / Enable Mode
Zu erkennen an der "#"
Global Config Mode (99% aller Befehle betreffen den gesamten
Switch oder Router und greifen unmittelbar)
Zu erkennen an "(config)#"
Diese Modi haben nicht zwingendermaßen mit Berechtigungen im
klassischen Sinne zu tun. Soll heißen, in dem "Global Config Mode" kann
nicht jeder Befehl abgesetzt werden, sondern lediglich Befehle, die die
globale Konfiguration des Switches oder Routers betreffen.
80
WECHSELN IN DEN "GLOBAL CONFIG MODE"
Switch>configure terminal% Invalid input detected at '^' marker.
Hier stoßen wir auf einen interessanten Mechanismus. Wir können von
dem "User Exec Mode" nicht direkt in den "Global Config Mode" wechseln,
als Zwischenschritt benötigen wir erst einmal den "Privilege Exec Mode",
welchen wir über den "enable" Befehl erreichen.
Switch>enable
Switch#configure terminal
Switch(config)#
Jetzt sind wir in dem richtigen Modus und können dem Switch einen
ordentlichen Namen geben, wieso aber benötigt dieser Befehl den "Global
Config Mode"?
Die Antwort ist simpel, es ist eine Konfiguration, welche den gesamten
Switch oder Router betreffen.
81
DIE HILFEFUNKTION BEZOGEN AUF DIE SYNTAX
Um uns mit ein paar einfachen Befehlen vertraut zu machen, wechseln wir
als erstes in den "Global Config Mode" und vergeben dem Switch einen
ordentlichen Namen.
Nur wie finden wir heraus wie die Syntax von IOS funktioniert?
Dafür gibt es die Hilfefunktion!
Mit dieser sollte sich jeder von Anfang an vertraut machen und diese auch
bei Unklarheiten verwenden.
Geben wir nun den Befehl "hostname ?" ein. Wichtig ist, dass ein
Leerschritt zwischen dem Befehl und dem "?" ist.
Switch(config)#hostname ?
WORD This system's network name
Wie an der Ausgabe zu erkennen ist, sollen wir einfach ein "WORD" hinten
an dem Befehl anhängen, was der Name ist, den der Switch erhalten soll.
Ich verwende hier einfach "SWITCH1".
Switch(config)#hostname SWITCH1 ?
<cr>
Wenn ich diese Eingabe noch einmal mit einem "?" versehe, wird mir IOS
ein <cr> ausgeben und damit signalisieren, dass wir eine gültige Eingabe
gemacht haben.
82
Switch(config)#hostname SWITCH1
SWITCH1(config)#
Diese Änderung wird sofort übernommen, was an dem "Global Config
Mode" liegt, deshalb gilt es hier, stets mit Vorsicht und Bedacht zu agieren.
DIE HILFEFUNKTION BEZOGEN AUF DIE MÖGLICHEN BEFEHLE
Bleiben wir hier erst einmal in dem "Global Config Mode" und beschäftigen
uns damit, wie wir die Hilfe verwenden können, um uns mögliche Befehle
aufzulisten.
Nehmen wir als Beispiel: Ich möchte einen Befehl wie: "hostname"
eingeben, weiß allerdings nicht mehr genau wie dieser heißt.
Bei diesem Problem verwenden wir wieder das "?" allerdings dieses Mal
OHNE einen Leerschritt!
SWITCH1(config)#?
Configure Commands:
access-list Add an access list entry
Banner Define a login banner
boot Boot Commands
83
cdp Global CDP configuration subcommands
clock Configure time-of-day clock
crypto Encryption module
default Set a command to its defaults
do To run exec commands in config mode
enable Modify enable password parameters
end Exit from configure mode
exit Exit from configure mode
hostname Set system's network name
interface Select an interface to configure
ip Global IP configuration subcommands
line Configure a terminal line
lldp Global LLDP configuration subcommands
logging Modify message logging facilities
mac MAC configuration
mac-address-table Configure the MAC address table
mls mls global commands
84
monitor SPAN information and configuration
no Negate a command or set its defaults
--More--
Nach dem Bestätigen der Eingabe werden sehr viele und noch weitere
Befehle "--More--" mit einer kurzen Beschreibung aufgelistet.
Sollte uns nur ein Teil des Befehls einfallen, können wir das "?" auch
folgendermaßen verwenden:
SWITCH1(config)#host?
hostname
Wir geben soweit wir uns erinnern können den Befehl ein und setzten
fügen direkt "?" an.
85
2.1.1 IOS FILESYSTEM
VORAUSSETZUNGEN PACKET TRACER
Wenn ihr diese Übung in dem Packet Tracer simuliert, benötigt ihr
folgenden Router:
2911
NAVIGATION UND VERWENDUNG DES FILESYSTEMS
Die anderen Router unterstützen diese Befehlssätze nicht.
Sehen wir uns einmal das "filesystem" an. Dafür verwenden wir, wie in
MSDOS oder CMD auch den "dir" Befehl.
Router#dir
Directory of flash0:/
3 -rw- 33591768 <no date> c2900-universalk9-mz.SPA.151-4.M4.bin
2 -rw- 28282 <no date> sigdef-category.xml
86
1 -rw- 227537 <no date> sigdef-default.xml
Das Gleiche gilt für die Erstellung neuer Ordner. Der Befehl ist identisch zu
denen, der alten Microsoft Befehlszeile:
Router#mkdir NEUERORDNER
Create directory filename [NEUERORDNER]?
Created dir flash:NEUERORDNER
Router#dir
Directory of flash0:/
4 drw- 0 <no date> NEUERORDNER
3 -rw- 33591768 <no date> c2900-universalk9-mz.SPA.151-4.M4.bin
2 -rw- 28282 <no date> sigdef-category.xml
1 -rw- 227537 <no date> sigdef-default.xml
255744000 bytes total (221896413 bytes free)
Löschen können wir diesen wieder mit "rmdir"
Router#rmdir NEUERORDNER
Delete directory filename [NEUERORDNER]?
Delete flash:NEUERORDNER? [confirm]
Removed dir flash:NEUERORDNER
87
2.2 PRAKTISCHE BEFEHLE FÜR DAS LAB
Praktische Befehle für ein Lab:
Line con 0 – damit kommt ihr in die Konfiguration der Konsole "0"
(NULL).
Exec-timeout 0 0 - die erste "0" (NULL) steht Minuten, die zweite "0"
(NULL) für Sekunden und definiert den "timeout" bis ihr abgemeldet
werdet.
Dieser Befehl ist für Testumgebungen hervorragend. Allerdings sollte
so KEIN produktives Gerät konfiguriert werden.
Der Standard Konsolen Port trennt nach 5 Minuten Inaktivität die
Verbindung - diese muss neu gestartet werden.
Die Konfiguration "0 0" deaktiviert den "timeout".
Logging synchronous - sorgt dafür, dass eine gerade getätigte
Eingabe nicht von einer Information unterbrochen wird.
SWITCH1(config)#line con 0
SWITCH1(config-line)#logging synchronous
88
Beispiel von einer Unterbrechung:
SWITCH1#eingabe v
%SYS-5-CONFIG_I: Configured from console by consoleersuch von mir
2.3 DAS PROBLEM MIT DER BROADCAST DOMAIN
Wie in dem Kapitel: 1.4 Bridges und Switches erklärt wurde, ist ein Vorteil
des Switches die "microsegmentation". Jede Verbindung hat seine eigene
"collision Domain". Nur ist es immer noch eine große "broadcast domain".
Hier kommt das:
VLAN Virtual local area network
ins Spiel.
89
4 Computer
4 Collision Domains
1 Broadcast Domain
Das Problem bei großen "broadcast domains" ist, dass sich in dieser auf
Dauer eine sogenannter "broadcast storm" entwickeln kann. Dieser kann
negative Auswirkungen auf ein Netzwerk haben, sogar so weit, dass die
Switche nicht mehr zu ihrer eigentlichen Aufgabe kommen und es zu einem
Erliegen des Netzwerkes kommt.
Natürlich hat die Abgrenzung durch ein VLAN noch mehr Vorteile als nur
die Unterteilung in mehrere "broadcast domains":
90
VLANs helfen uns dabei Hosts und Netzwerkbereiche zu gruppieren, zum
Beispiel anhand:
Abteilungen,
Sicherheitsbereichen,
oder vll. sogar der Haarfarbe, wenn ihr wollt.
Was auch immer der Bedarf in dem vorherrschenden oder entstehenden
Netzwerk ist.
Sie bringen etwas mehr Sicherheit in das Netzwerk, da die Hosts auf der
logischen Ebene nicht über die VLANs hinweg für einander sichtbar sind,
sofern der Zugriff über "layer" 3 nicht gewährt wird.
91
2.3.1 ERSTELLEN EINES VLANS IM IOS
Lab Download
verfügbar
Der Grundaufbau des Netzwerkes.
Wie in dem Überpunkt 2.3 bereits aufgezeigt wurde, werden wir ein VLAN
mit diesem kleinen Netzwerk aufbauen. Hierzu ein paar kleine Rand
Informationen:
92
Mein Ziel ist es Host 1 und Host 2 in ein eigenes VLAN zu packen.
Hierfür benötigen wir das:
CLI Commandline Interface
Im ersten Schritt prüfe ich, ob alle Verbindungen wie gewünscht agieren.
Ein Grund für diese Vorsicht kann eine bereits getätigte Konfiguration sein,
von der wir bis dato nichts wissen.
Dafür gibt es den einfachen Befehl:
93
SWITCH1#show cdp neighbors
Dieser listet alle verbunden CISCO Geräte auf. Sollte es sich um einen
regulären Host handeln, sendet am besten einen "ping" Befehl ab.
Anschließend prüfen wir noch, ob es bereits bestehende VLANs auf diesem
Gerät gibt mit:
SWITCH1#show vlan brief
Dieser Befehl listet alle auf dem Gerät angelegte VLANs auf.
Da der Switch neu und ohne Konfigurationen ist, finden wir lediglich diese
vordefinierten VLANs:
1. Default
1002. Fddi-default
1003. Token-Ring-default
1004. Fddinet-default
1005. Trnet-default
Interessant ist erst einmal nur das Standard - "Default" VLAN 1, in welchem
sich unsere 4 Hosts derzeit befinden.
Die anderen VLANs sind noch Reste aus alten Netzwerktopologien, wie dem
Token-Ring Netzwerk und können so gut, wie immer ignoriert werden.
94
Nachdem nun alles geprüft ist, beginnen wir mit dem Anlegen eines neuen
VLANs.
SWITCH1>enable
SWITCH1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SWITCH1(config)#int fast 0/1
SWITCH1(config-if)#switchport access vlan 24
% Access VLAN does not exist. Creating vlan 24
Wechseln in den "Privileg Exec Mode".
Wechseln in den "Global Config Mode".
In den ersten Port des Switches navigieren, Port fast 0/1.
Dem Port das VLAN 24 zuweisen, da es noch nicht existiert, wird es
automatisch erstellt.
Das Gleiche machen wir anschließend auch für Host 2 – fast 0/2 auf dem
Switch.
SWITCH1(config-if)#int fast 0/2
SWITCH1(config-if)#switchport access vlan 24
95
Schauen wir uns einmal das Ergebnis an. Beachtet dabei: In dem "global
config mode" funktionieren die "show" Befehle nicht. Wechselst also mit
"exit" Befehl zurück in den "privilege exec mode" und führt anschließend
folgenden Befehl aus:
SWITCH1#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gig0/1, Gig0/2
24 VLAN0024 active Fa0/1, Fa0/2
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
Die Ausgabe zeigt uns, dass wir nun ein VLAN 24 mit den Ports fast 0/1 und
fast 0/2 konfiguriert haben. Damit ist unsere eine große "broadcast
domain" in zwei kleinere aufgeteilt worden.
96
4 Computer
4 Collision Domains
2 Broadcast Domain
2.3.2 AUSWIRKUNGEN EINES VLANS
97
Eine der Auswirkungen ist sofort nach einem "ping" Versuch über die
VLANs hinweg ersichtlich.
Es ist Host 1 möglich Host 2 zu "pingen" (gleiches VLAN).
Es ist Host 1 NICHT mehr möglich Host 3 oder Host 4 zu "pingen"
(unterschiedliche VLANs).
Das liegt daran, dass ein typischer "Layer 2 Switch" KEINEN Datenverkehr
zwischen zwei VLANs managen kann.
98
Damit eine solche Kommunikation erstellt werden kann, ist ein " layer" 3
("multilayer") Switch oder ein Router erforderlich.
2.4 NOCH MEHR VLANS
ERSTELLEN NEUER VLANS
Damit wir in dieser Übung mit unterschiedlichen VLANs arbeiten können,
müssen wir diese erst noch anlegen. Hierfür erstellen wir noch zwei weitere
VLANs:
SWITCH1>enable
SWITCH1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SWITCH1(config)#vlan 32
SWITCH1(config-vlan)#exit
SWITCH1(config)#vlan 45
SWITCH1(config-vlan)#exit
Wenn wir mit dem Befehl: "vlan <Nummer>" ein weiteres VLAN erstellen,
landen wir erst einmal in dessen Konfiguration.
Da wir hier keine weiteren Einstellungen vornehmen, verlassen wir diese
wieder mit "exit".
99
Lassen wir uns einmal alle jetzt auf dem Switch konfigurierten VLANs
anzeigen. Vergesst hierbei nicht, den "global config mode" wieder zu
verlassen und in den "privilege exec mode" zu wechseln.
SWITCH1(config)#exit
SWITCH1#
%SYS-5-CONFIG_I: Configured from console by console
SWITCH1#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gig0/1, Gig0/2
24 VLAN0024 active Fa0/1, Fa0/2
32 VLAN0032 active
45 VLAN0045 active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
SWITCH1#
100
BENENNEN DER VLANS
Und da sind auch schon unsere neuen VLANs, inklusive des bereits
konfigurierten VLAN 24.
Wenn die Anzahl der VLANs auf den Switchen nun steigt, werden wir und
vor allem dritte, es schwer haben mit diesen Bezeichnungen etwas
anzufangen:
VLAN0024
VLAN0032
VLAN0045
Deshalb ist es empfehlenswert diese zu benennen.
Dafür wechseln wir nun wieder in den "global config mode" und sehen uns
dort einmal die zur Verfügung stehenden Optionen an.
SWITCH1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SWITCH1(config)#vlan 45
SWITCH1(config-vlan)#?
VLAN configuration commands:
exit Apply changes, bump revision number, and exit mode
name Ascii name of the VLAN
no Negate a command or set its defaults
101
remote-span Add the Remote Switched Port Analyzer (RSPAN) feature to the VLAN
Hier verwenden wir gleich einmal die Hilfefunktion, um diese im Gedächtnis
zu behalten.
Innerhalb der "config-vlan" haben wir hier ein paar Befehle, welche uns an
das Ziel bringen werden.
Wer diese einmal kurz überfliegt, wird die Option "name" sehr schnell
sehen und erkennen, dass wir genau diese für unsere Konfiguration
benötigen.
SWITCH1(config-vlan)#name ?
WORD The ascii name for the VLAN
Wenn wir die Syntax mit "?" abfragen, sagt uns IOS, dass es jetzt ein Wort
erwartet. Also können wir das VLAN direkt benennen.
SWITCH1(config-vlan)#name TESTVLAN1 ?
<cr>
SWITCH1(config-vlan)#name TESTVLAN1
Um wirklich sicher zu gehen, dass keine weiteren Parameter mehr erwartet
werden und der Name auch so von IOS angenommen wird, habe ich noch
einmal die Hilfe mit: "?" abgefragt. Da die Ausgabe <cr> erfolgte, habe ich
den Befehl so wie er war abgesendet.
102
Überprüfen wir noch einmal unsere VLANs:
SWITCH1(config-vlan)#exit
SWITCH1(config)#exit
SWITCH1#
%SYS-5-CONFIG_I: Configured from console by console
SWITCH1#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gig0/1, Gig0/2
24 VLAN0024 active Fa0/1, Fa0/2
32 VLAN0032 active
45 TESTVLAN1 active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
Das hat doch wunderbar funktioniert.
103
2.5 DEN SWITCH ZURÜCKSETZEN
AUSLESEN DER AKTUELLEN KONFIGURATION
Wenn wir aus einem gegebenen Anlass, die Konfiguration von einem Switch
zurücksetzen wollen, sollten wir uns zu 100 Prozent sicher sein. Diese
Aktion kann nicht wieder rückgängig gemacht werden.
Lesen wir einmal die Konfiguration aus dem Switch aus:
SWITCH1#show run
Building configuration...
Current configuration : 1154 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname SWITCH1
!
!
!
!
!
spanning-tree mode pvst
spanning-tree extend system-id
104
!
interface FastEthernet0/1
switchport access vlan 24
!
interface FastEthernet0/2
switchport access vlan 24
!
interface FastEthernet0/3
!
interface FastEthernet0/4
!
interface FastEthernet0/5
!
interface FastEthernet0/6
…………
interface GigabitEthernet0/1
!
interface GigabitEthernet0/2
!
interface Vlan1
no ip address
shutdown
!
!
!
!
line con 0
logging synchronous
!
line vty 0 4
login
line vty 5 15
login
105
!
!
!
!
end
Es wurde also bereits die ein, oder andere Grundkonfiguration getätigt,
man sollte diese wiederherstellen können und, vor allem bei einer solche
Aktion darauf achten, dass dieser Switch derzeit nicht produktiv arbeitet!
DEN SWITCH ZURÜCKSETZTEN
Wir finden die Option für das Zurücksetzen des Switches innerhalb des
Befehls "write", also sehen wir einmal nach was uns dieser für Optionen zur
Verfügung stellt:
SWITCH1#write ?
erase Erase NV memory
memory Write to NV memory
terminal Write to terminal
Hier benötigen direkt die erste Ausgabe "erase".
SWITCH1#write erase
106
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
Das Entfernen der gesamten Konfiguration muss noch mit [ENTER] bestätigt
werden.
Immer, wenn das IOS sich eine Eingabe noch einmal bestätigen lässt, was
selten vorkommt, denkt gut darüber nach, ob ihr diese auch bestätigen
wollt - sollt.
In dieser Testumgebung können wir die Abfrage bedenkenlos bestätigen.
[OK]
Erase of nvram: complete
%SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvram
SWITCH1#reload
System configuration has been modified. Save? [yes/no]:n
Proceed with reload? [confirm]
Nun starten wir den Switch einmal neu und prüfen, ob wirklich alles
zurückgesetzt ist.
Nach ein paar Sekunden bis Minuten erhaltet ihr eine ähnliche Anzeige
wie diese:
C2960 Boot Loader (C2960-HBOOT-M) Version 12.2(25r)FX, RELEASE SOFTWARE (fc4)
Cisco WS-C2960-24TT (RC32300) processor (revision C0) with 21039K bytes of memory.
2960-24TT starting...
Base ethernet MAC Address: 0001.4244.51BD
Xmodem file system is available.
107
Initializing Flash...
flashfs[0]: 2 files, 0 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 64016384
flashfs[0]: Bytes used: 4415657
flashfs[0]: Bytes available: 59600727
flashfs[0]: flashfs fsck took 1 seconds.
...done Initializing Flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
Loading "flash:/c2960-lanbase-mz.122-25.FX.bin"...
########################################################################## [OK]
Restricted Rights Legend
Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.
cisco Systems, Inc.
170 West Tasman Drive
San Jose, California 95134-1706
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(25)FX, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2005 by Cisco Systems, Inc.
Compiled Wed 12-Oct-05 22:05 by pt_team
Image text-base: 0x80008098, data-base: 0x814129C4
108
Cisco WS-C2960-24TT (RC32300) processor (revision C0) with 21039K bytes of memory.
24 FastEthernet/IEEE 802.3 interface(s)
2 Gigabit Ethernet/IEEE 802.3 interface(s)
63488K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address : 0001.4244.51BD
Motherboard assembly number : 73-9832-06
Power supply part number : 341-0097-02
Motherboard serial number : FOC103248MJ
Power supply serial number : DCA102133JA
Model revision number : B0
Motherboard revision number : C0
Model number : WS-C2960-24TT
System serial number : FOC1033Z1EY
Top Assembly Part Number : 800-26671-02
Top Assembly Revision Number : B0
Version ID : V02
CLEI Code Number : COM3K00BRA
Hardware Board Revision Number : 0x01
Switch Ports Model SW Version SW Image
------ ----- ----- ---------- ----------
* 1 26 WS-C2960-24TT 12.2 C2960-LANBASE-M
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(25)FX, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2005 by Cisco Systems, Inc.
Compiled Wed 12-Oct-05 22:05 by pt_team
109
Das Spannende dabei ist, wenn wir uns jetzt einmal die Konfiguration mit:
Switch>enable
Switch#show run
ausgeben lassen, sind alle Konfigurationen zurückgesetzt.
Aber, wenn wir die konfigurierten VLANs auslesen, werden wir feststellen,
dass diese noch vorhanden sind. Lediglich die Zuweisung auf die Ports ist
verloren gegangen:
Switch#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gig0/1, Gig0/2
24 VLAN0024 active
32 VLAN0032 active
45 TESTVLAN1 active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
110
Wie kommt das zustande?
Schauen wir uns die Verzeichnisstruktur auf dem Switch an. Diese wird
später noch ausführlicher erklärt, ebenso was, welcher Speicher genau ist.
Switch#dir
Directory of flash:/
1 -rw- 4414921 <no date> c2960-lanbase-mz.122-25.FX.bin
2 -rw- 736 <no date> vlan.dat
64016384 bytes total (59600727 bytes free)
Da ist auch schon die Ursache, die "vlan.dat" befindet sich nicht in dem NV
Speicher, welcher durch den "erase" Befehl geleert wird, sondern auf dem
Flash Speicher. Damit wir diese logischerweise nicht gelöscht. Soll heißen,
wir müssen diese selbst entfernen, sofern wir das wollen:
Switch#del vlan.dat
Delete filename [vlan.dat]?
Delete flash:/vlan.dat? [confirm]
Wichtig ist, dass ihr bei diesen "confirm" Abfragen KEINE Buchstaben oder
dergleichen eingebt. Bestätigt ausschließlich die Entertaste für eine
Bestätigung.
Nach einem weiteren "reload" ist der Switch nun komplett zurückgesetzt.
SWITCH1#reload
111
2.6 TRUNKING SWITCHES
WAS IST EIN TRUNK
"Trunking" ist ein Prozess, welcher eine logische Verbindung zwischen zwei
oder mehreren physisch verbundenen Switchen ermöglicht und es erlaubt
Frames zwischen diesem auszutauschen.
Hinweis:
In der Theorie müssten wir ein Crossover Kabel verwenden, da keine
weiteren Angaben vorhanden sind, welche darauf hindeuten, dass die
Switche Auto MDI-X können.
Ein "tag", welcher das Ziel VLAN angibt, wird in dem Frame, von dem
übertragenden Switch hinterlegt.
Der empfangende Switch benutzt das "frame tagging", um zu erkennen, in
welches VLAN der Frame geleitet werden soll.
112
Dadurch wird es ermöglicht, dass Mitglieder des gleichen VLANs auch dann
kommunizieren können, wenn diese an verschiedenen physischen Switchen
angeschossen sind.
Für diesen Vorgang gibt zwei verschiedene Protokolle, welche nicht von
jedem Switch beherrscht werden!
Beginnen wir mit dem CISCO eigenen.
ISL - INTER-SWITCH LINK
CISCO Proprietär, nicht CISCO Produkte können dieses nicht.
Viele CISCO Switch Module unterstützen es ebenfalls nicht.
Es verpackt den Frame, bevor er über den Trunk versendet wird. Das
reduziert den "overhed" gegenüber dem "major trunking protocol"
IEEE 802.1q.
Erkennt nicht das native VLAN Konzept.
113
IEEE 802.1Q ("DOT1Q")
Der Industriestandard für das trunking Protokoll. Kann mit CISCO und
nicht CISCO Produkten verwendet werden.
Packt den Frame nicht vor dem Versenden.
Schreibt einen 4 "byte" großen Wert für die VLAN ID in den Ethernet
Header.
Erkennt das native VLAN Konzept.
Definition des Nativen VLANs:
Das native VLAN ist simpel ausgedrückt, das "default" VLAN - VLAN 1
Dieses kennt jeder, auch die "bösen Jungs", weshalb es oft deaktiviert und
in dem CISCO Standard nicht verwendet wird.
Verhalten bei IEEE 802.1q
Im Falle von "dot1q" bedeutet das, dass, wenn ein Frame für das "native
VLAN" versendet wird, dieses ohne die 4 "byte" VLAN ID im Ethernet
Header geschieht. Daran erkennt auch der empfangende Switch, es gibt
keine VLAN ID in dem Header, also gehört dieser Frame in mein "default"
VLAN.
Verhalten bei ISL - Inter-Switch Link
114
Bei "ISL - Inter-Switch Link" gibt es kein "default" VLAN, was bedeutet, dass
jeder Frame gepackt wird und eine VLAN ID erhält. Somit muss der
empfangende Switch auch jeden Frame entpacken.
2.6.1 DIE TRUNKING PORT MODES
Setzen wir unseren Fokus in diesem Abschnitt auf die Modi der Trunk Ports.
Es gibt drei verschiedene Port Modi, welche sind:
Access Ports
Trunk Ports
Trunk Port Settings
115
ACCESS PORTS
Ein Switch Port kann, entweder ein "access port", oder ein "trunk port" sein.
Niemals beides!
Der "access port" gehört immer nur zu einem VLAN - nicht mehreren und
unterstützt noch dazu kein "trunk".
Man sieht die VLAN "access port" Mitglieder wie bereits in dem Kapitel:
2.3.1 Erstellen eines VLANs im IOS
gezeigt, mit dem Befehl:
SWITCH1#show vlanoder
SWITCH1#show vlan brief
TRUNK PORTS
Ein "trunk port" gehört zu allen VLANs und wie zu erwarten, können diese
auch "trunk". Man kann sich diese Ports mit dem Befehl:
SWITCH1#show interface trunk
ausgeben lassen.
116
TRUNK PORT SETTINGS
Sehen wir uns einmal die Einstellungen für den "trunk port" an. Ich nehme
hier einmal den Port 20 und unsere geliebte Hilfe, um mir alle zur
Verfügung stehenden Optionen ausgeben zu lassen.
SWITCH1>enable
SWITCH1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SWITCH1(config)#int fast 0/20
SWITCH1(config-if)#switchport mode ?
access Set trunking mode to ACCESS unconditionally
dynamic Set trunking mode to dynamically negotiate access or trunk mode
trunk Set trunking mode to TRUNK unconditionally
Access - stellt den gewählten Port auf einen "access port" um. Dieser
gehört, wie oben erklärt, ausschließlich zu einem VLAN.
Trunk - stellt den gewählten Port auf einen "trunk port" um. Dieser
gehört, wie oben erklärt, zu allen VLANs.
Dynamic - Verhandelt das "trunking" zwischen zwei Switchen
dynamisch. Benötigt allerdings noch weitere Konfigurationen:
o Auto - Auch "Passiv dynamic trunking" genannt, kann ebenfalls
ein "trunk" sein. Voraussetzung hierfür ist, dass der entfernte
117
Port diesen " trunk " initiiert . Sollten beide Seiten auf "dynamic
auto" stehen, wird kein "trunk" zustande kommen.
o Desirable - Auch "Active dynamic trunking" genannt, erstellt
aktiv einen " trunk " , wenn der entfernte Port auf "desirable"
oder "auto" Mode steht.
Switchport nonegotiate - Diese Option versetzt den Port in einen
permanenten "trunking mode". Allerdings werden die Frames des:
DTP nicht über den trunk versendet.
DTP dynamic trunking protocol
ist ein Verhandlungsprotokoll, welches festlegt, welches "trunking"
Protokoll verwendet wird und, ob "trunking" überhaupt verwendet werden
soll.
118
2.6.2 FILTERN VON TRAFFIC PER VLAN
Lab Download
verfügbar
Da wir jetzt wissen, dass ist ein "trunk port" Mitglied von allen VLANs ist,
sehen wir uns diese Funktion einmal genauer an.
Aus der universellen Mitgliedschaft der VLANs resultieret, unnötiger
"forwarding traffic", welcher im Endergebnis mehr Arbeit für den Switch
und eine höhere Auslastung der Bandbreite "bandwith" bedeutet.
Ein kleines Beispiel zur Veranschaulichung:
119
Die Prämisse liegt hier bei Switch1:
Es gibt keinen Grund für den "trunk port" zu Switch2 den VLAN 30
traffic zu "forwarden".
Es gibt keinen Grund für den "trunk port" zu Switch3 den VLAN 20
traffic zu "forwarden".
Aber genau das macht ein "trunk port" in seiner Standard-Konfiguration.
Glücklicherweise können wir den traffic auf einem "trunk port" pro VLAN
definieren mit:
"Swichport trunk allowed vlan"
120
Switch 1: VLAN 20 und 30
Port 23 und 24 sind als "trunk" definiert.
Switch 2: VLAN 20
Port 24 ist als "trunk" definiert.
Switch 3: VLAN 30
Port 24 ist als "trunk" definiert.
Hier beginnt das weiter oben erwähnte Lab:
SWITCH1>enable
SWITCH1#show interface trunk
Port Mode Encapsulation Status Native vlan
Fa0/23 on 802.1q trunking 1
Fa0/24 on 802.1q trunking 1
Port Vlans allowed on trunk
Fa0/23 1-1005
Fa0/24 1-1005
Port Vlans allowed and active in management domain
Fa0/23 1,20,30
Fa0/24 1,20,30
Port Vlans in spanning tree forwarding state and not pruned
Fa0/23 1,20,30
Fa0/24 1,20,30
121
Um noch einmal sicher zu stellen, welcher Switch nun auf dem Port 23 und
welcher auf dem Port 24 liegt, schauen wir uns noch einmal unsere
"Nachbarn" an.
SWITCH1#show cdp neighbor
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
SWITCH2 Fas 0/23 163 S 2960 Fas 0/24
SWITCH3 Fas 0/24 130 S 2960 Fas 0/24
Jetzt, da diese bekannt sich, wechseln wir in den "global configure mode"
und schränken den traffic zu Switch 2 ein.
Da wir die ganzen Befehle bis auf "switchport trunk" noch nicht kennen,
verwenden wir wieder einmal die Hilfe, um uns einen Überblick zu
verschaffen.
SWITCH1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SWITCH1(config)#int fast 0/23
SWITCH1(config-if)#switchport trunk ?
allowed Set allowed VLAN characteristics when interface is in trunking mode
native Set trunking native characteristics when interface is in trunking mode
Wenn wir uns die hier angebotenen Optionen für den "switchport trunk"
ansehen, kommt nur "allowed" in Frage.
122
SWITCH1(config-if)#switchport trunk allowed ?
vlan Set allowed VLANs when interface is in trunking mode
Mit der nächsten Abfrage der Hilfe sehen wir, mit der Option "vlan" können
wir die gewünschten - erlaubten VLANs definieren. Also fragen wir die Hilfe
doch noch einmal, was wir alles für das VLAN angeben können.
SWITCH1(config-if)#switchport trunk allowed vlan ?
WORD VLAN IDs of the allowed VLANs when this port is in trunking mode
add add VLANs to the current list
all all VLANs
except all VLANs except the following
none no VLANs
remove remove VLANs from the current list
Da wir nicht wollen, dass das VLAN 30 über diesen Port weiter ge-
"forwarded" wird. Entfernen wir dieses mit "remove"
SWITCH1(config-if)#switchport trunk allowed vlan remove 30
123
Das Gleiche machen wir jetzt auch noch mit dem Port 24 zu Switch 3,
welches das VLAN 20 nicht forwarden soll.
SWITCH1(config-if)#exit
SWITCH1(config)#int fast 0/24
SWITCH1(config-if)#switchport trunk allowed vlan remove 20
Prüfen wir nun das Ergebnis. Dafür müssen wir wieder zurück in den
"privilege exec mode":
SWITCH1(config-if)#exit
SWITCH1(config)#exit
SWITCH1#
%SYS-5-CONFIG_I: Configured from console by console
SWITCH1#show interface trunk
Port Mode Encapsulation Status Native vlan
Fa0/23 on 802.1q trunking 1
Fa0/24 on 802.1q trunking 1
Port Vlans allowed on trunk
Fa0/23 1-29,31-1005
Fa0/24 1-19,21-1005
Port Vlans allowed and active in management domain
Fa0/23 1,20
Fa0/24 1,30
Port Vlans in spanning tree forwarding state and not pruned
Fa0/23 1,20
Fa0/24 1,30
124
2.6.3 VLANS VERERBEN
WIESO VLANS
Gehen wir einmal davon aus, dass wir ein Netzwerk betreuen, welches aus
500 Switchen besteht. In solch einer großen Umgebung ist es nicht
praktikabel, jedes VLAN auf jedem Switch zu pflegen. Die Fehlerquote ist in
einer solchen Umgebung ist enorm.
PRAXIS UND VORAUSSETZUNGEN
Eine der Voraussetzung ist, dass alle Ports, über welche die Switche
verbunden sind, sich in dem "trunk mode" befinden. Weiter benötigen wir
einen "domain name", über welchen sich diese Konfiguration erstreckt.
Setzen wir diese Konfigurationen einmal in der Praxis um:
Trunk Mode konfigurieren:
Switch(config)#int fastEthernet 0/1
Switch(config-if)#switchport mode trunk
Domain Name setzen:
Switch(config)#vtp domain cisco
Changing VTP domain name from NULL to cisco
125
Ersetzt den "domain name": cisco durch einen für euch passenden. Diese
hat nichts gemein mit dem DNS.
Alle miteinander verbundenen Switche, welche diese Konfiguration
innehaben, erhalten ab sofort die VLANs die ihr auf einem einzigen anlegt.
2.6.4 INTER-VLANS
Lab Download
verfügbar
WAS UND WIESO
Mit einem Inter-VLAN können wir über ein Interface auf mehrere VLANs
zugreifen, das ist an Knotenpunkten, wie einem Router sinnvoll. Da jedes
"interface" in der Regel sein eigenes VLAN innehat, müssen wir weitere
"sub interfaces" auf einem physischen "interface" anlegen.
Die Empfehlung ist, dass diese anhand der Nummerierung der VLANs
definiert werden. Sollte das VLAN die Nummer 10 haben, sollte das
126
"interface" fast X/X.10 bekommen. Dies sind keine Regel oder Vorschrift,
vereinfacht allerdings die Übersicht.
PRAXIS
In diesem Lab werden wir dem Router R1 mehrere "sub interfaces" auf Fast
0/0 anlegen, damit dieser auf alle verfügbaren VLANs zugreifen kann.
Beginnen wir:
R1(config)#int fast 0/0.10
Mit diesem einfachen Befehl haben wir bereits das "sub interface" angelegt.
Der nächste Schritt ist, die "encapsulation" zu definierten. Wichtig ist, dass
diese auf allen übereinstimmt. Ich verwende hier nicht ISL von CISCO,
sondern den Industriestandard dot1q.
R1(config-subif)#encapsulation dot1Q ?
<1-4094> IEEE 802.1Q VLAN ID
R1(config-subif)#encapsulation dot1Q 10
Wie gut zu erkennen ist, müssen wir die VLAN ID mit der "encapsulation"
angeben. Alles, was uns jetzt für dieses VLAN noch fehlt, ist die IP-Adresse.
Wenn ihr hier die gleiche IP-Adresse, wie bei dem physischen Port angebt,
erhaltet ihr die folgende Fehlermeldung:
127
R1(config-subif)#ip address XXX
% 192.168.2.0 overlaps with FastEthernet0/0
Somit benötigt jedes "sub interface" ebenfalls eine eigene, einzigartige IP-
Adresse.
R1(config-subif)#ip address 172.16.10.62 255.255.255.224
Damit ist die Konfiguration für das VLAN 10 abgeschlossen und VLAN 20
kann angebunden werden:
R1(config-subif)#int fast 0/0.20
R1(config-subif)#encapsulation dot1Q 20
R1(config-subif)#ip address 172.16.20.94 255.255.255.224
Wenn wir uns die "routing table" ansehen, sollten die beiden VLANs als
"directly connectet" angebunden sein.
R1#show ip route
……
Gateway of last resort is not set
172.16.0.0/27 is subnetted, 2 subnets
C 172.16.10.32 is directly connected, FastEthernet0/0.10
C 172.16.20.64 is directly connected, FastEthernet0/0.20
128
2.7 SPANNING TREE PROTOCOL
DEFINITION DES PROTOKOLLS
STP Spanning Tree Protocol
Das "spanning tree protocol" ist ein zentraler Bestandteil jeder Switch
Infrastruktur. Dieses Protokoll ist dafür zuständig, dass es keine in unserem
Netzwerk kreisende Pakete gibt und verhindert dadurch Effekte, wie einen
"broadcast storm".
Ein Switch realisiert dies auf der logischen Ebene, in dem er einen festen
Ablauf von Portzuständen durchläuft:
Zustand Aktion
Disabled Verwirft Frames - lernt keine Adressen - empfängt und
verarbeitet keine BPDUs
Blocking Verwirft Frames - lernt keine Adressen - empfängt und
verarbeitet BPDUs
Listening Verwirft Frames - lernt keine Adressen - empfängt und
verarbeitet, überträgt BPDUs
Learning Verwirft Frames - lernt Adressen- empfängt und
129
verarbeitet, überträgt BPDUs
Forwarding Leitet Frames weiter - lernt Adressen - empfängt und
verarbeitet, überträgt BPDUs
BPDU Bridge Protocol Data Unit
Die BPDU ist für den Austausch von Konfigurationsnachrichten zuständig,
welche via "multicast" Pakete versendet werden. Dieser Austausch findet in
der Standardkonfiguration alle zwei Sekunden statt.
PRAXIS
Dieses Protokoll läuft auf allen CISCO Switchen standardgemäß und
benötigt eine "root bridge", wer diese wird, wird innerhalb des Netzwerkes
selbstständig ausgehandelt. Für diese Aushandlung gelten die folgenden
Bedingungen:
Wer wird die "root bridge":
Niedrigste "bridge ID"
Niedrigste MAC Adresse
130
Schnellste Bandbreite
Wer wird nicht die "root bridge":
Höchste "bridge ID"
Höchste MAC Adresse
Geringste Bandbreite
Nachdem ein Switch zu der "root bridge" geworden ist, werden die Ports
ebenfalls in verschiedene Kategorien unterteilt.
Root Port
Designated Port
Blocked Port
Root Port
Ist der Port, welcher von der Topologie her gesehen in die Richtung der
"root bridge" zeigt.
Designated Port
Ein "designated port" wird bereits in der Tabelle oben erklärt, er
"forwarded" alle Pakete. Eine Besonderheit ist, dass auf der "root bridge"
alle Ports zu einem "designated port" werden.
131
Blocked Port
Ist ebenfalls oben in der Tabelle erklärt und wird definiert durch eine
langsamste Bandbreite.
IDENTIFIZIEREN DER "ROOT BRIDGE"
Dieses Verhalten kann man im Packet Tracer sehr schön visualisieren, in
dem man zwei Switche in einem "loop" verbindet.
Switch0 ist zu der "root bridge" geworden, das ist an den Zuständen der
"interfaces" erkennbar. Alle Ports sind auf grün gegangen und sind damit
"designated ports". Bei Switch1 haben wir einen "root port" und einen
"blocked port", das ihn als "root bridge" ausschließt.
132
In einem realistischeren Scenario ist das nicht ganz so leicht zu erkennen:
Der Switch ganz oben - Switch3 ist nicht unsere "root bridge", da diese
ebenfalls einen "blocked port" hat. Switch2 und Switch4 könnten die "root
bridge" sein, nur wie finden wir heraus, welcher es geworden ist?
Vergesst nicht, dass jeder Switch immer einen "root port" hat, welcher auf
die "root bridge" Zeigt.
Mit dieser kleinen stütze können wir ausmachen, dass Switch4 zu der "root
bridge" geworden ist.
133
Kontrollieren wir einmal meine Behauptung und sehen uns den Switch4 in
der CLI an:
Switch#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 0001.9668.CDEB
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0001.9668.CDEB
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/2 Desg FWD 19 128.2 P2p
Fa0/1 Desg FWD 19 128.1 P2p
Mit dem "show" Befehl können wir uns die aktuelle Konfiguration von
"spanning tree" ausgeben lassen und anhand dieser bestimmen, welchen
Status dieser in dem Protokoll eingenommen hat.
134
Zum Vergleich noch die beiden anderen Switche:
Switch2:
Switch#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 0001.9668.CDEB
Cost 19
Port 2(FastEthernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 000A.F373.0668
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/2 Root FWD 19 128.2 P2p
Fa0/1 Desg FWD 19 128.1 P2p
135
Switch3:
Switch#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
……
Address 0030.F229.1E5E
……
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/2 Root FWD 19 128.2 P2p
Fa0/1 Altn BLK 19 128.1 P2p
Da hier alle drei Switche gleich sind, wurde über die MAC Adresse
entschieden, dass Switch4 die "root bridge" wird.
Switch2 000A.F373.0668
Switch3 0030.F229.1E5E
Switch4 0001.9668.CDEB
Auf Switch3 sehen wir noch eine Besonderheit. In der Ausgabe wird der
Port nicht als "blocked port" bezeichnet, da dieser, sollte der derzeitige
"root port" ausfallen, dessen Aufgabe übernimmt und zu dem "root port"
wird. Damit haben wir also eine gewisse Redundanz in dem "spanning tree"
Protokoll.
136
Sollten wir wollen, dass ein bestimmter Switch immer die "root bridge" ist,
können wir dies über die CLI ebenfalls festlegen:
Switch(config)#spanning-tree vlan 1 priority 0
Entscheidend bei dem Befehl ist, dass ihr alle betroffenen VLANs mit
angebt. Diese werden mit einem "," separiert.
Switch(config)#spanning-tree vlan 1,2,3,4,5 priority 0
Mit der letzten Option setzen wir die "bridge ID" auf den Wert null und
damit auf den niedrigsten möglichen Wert.
137
BONUS 2: CHEATSHEET
Einführung in IOS
User Exec Mode (Show Commands - User Kontext)
Privilege Exec Mode / Enable Mode
Zu erkennen an der "#"
Global Config Mode (99% aller Befehle betreffen den gesamten
Switch oder Router und greifen unmittelbar)
Zu erkennen an "(config)#"
Switch>enable
Switch#configure terminal
Switch(config)#
Das Problem mit der Broadcast-Domain
Vorteile - Unterteilung in mehrere VLANs:
Mehrere Broadcast-Domains
Unterteilung der Hosts in Gruppen
Erhöhte Sicherheit - Hosts können nicht über die VLANs hinweg
sehen-
138
Auswirkungen eines VLANs
Hosts können nicht über VLANs hinweg kommunizieren.
Liegt daran, dass ein typischer "Layer 2 Switch" KEINEN Datenverkehr
zwischen zwei verschiedenen VLANs handeln kann.
Damit eine solche Kommunikation konfiguriert werden kann, ist ein
Layer 3 (Multilayer) Switch oder ein Router nötig.
Den Switch zurücksetzen
Die Vlan.dat liegt nicht auf dem NVRAM, welcher beim Zurücksetzen
eines Switches gelöscht wird.
Die Datei liegt auf dem Flash-Speicher und muss separat gelöscht
werden.
Trunking Switches
Protokolle:
ISL - Inter-Switch Link
CISCO Proprietär, nicht CISCO Produkte können dieses nicht.
Viele CISCO Switch Module unterstützen es ebenfalls nicht.
139
Verpackt den Frame bevor er über den Trunk versendet wird.
Das erzeugt "overhed" gegenüber dem "major trunking protocol"
IEEE 802.1q, da der Frame immer ver- und entpackt werden muss.
Sehr geringe Latenz
Protokollunabhängig
Erkennt nicht das native VLAN Konzept.
IEEE 802.1q ("dot1q")
Der Industriestandard für das trunking Protokoll kann mit CISCO
und nicht CISCO Produkten verwendet werden.
Packt den Frame nicht vor dem Versenden.
Schreibt einen 4Byte Wert für die VLAN ID in den Ethernet-Header.
Erkennt das native VLAN Konzept.
Definition Natives VLAN:
Das native VLAN ist ganz simpel ausgedrückt, das "default" VLAN - VLAN
1
Dieses kennt jeder, auch die "bösen Jungs".
Die Trunking Port Modes
140
Access - Gehört nur zu dem festgelegten VLAN
Trunk - Gehört zu allen VLANs
Dynamic - Verhandelt das "trunking" dynamisch. Benötigt aber
noch eine weitere Konfiguration
o
Auto - "Passiv dynamic trunking" genannt kann ein
"trunk" sein. Der entfernte Port muss diesen
" trunk " initiiert . Wenn beide auf "dynamic auto"
stehen, wird kein "trunk" zustande kommen.
Desirable - Auch "Active dynamic trunking" genannt erstellt
aktiv einen " trunk ", wenn der entfernte Port auf
"trunk", "desirable" oder "auto" Mode steht.
Switchport
nonegotiate -
Diese Option versetzt den Port in einen
permanenten "trunking mode". Allerdings werden
die Frames des:
DTP - dynamic trunking protocol
nicht mehr über den trunk versendet. Es muss
manuell konfiguriert werden.
141
DTP - dynamic trunking protocol
Ist ein Verhandlungsprotokoll, welches festlegt, welches "trunking"
Protokoll verwendet wird und ob "trunking" überhaupt verwendet
werden soll.
BEFEHLE:
Ändern des Switch Namens
SW1(config)#hostname XXX
Konsole
SW1(config)#line con 0
Eingaben werden nicht mehr unterbrochen
SW1(config-line)#logging synchronous
Kein automatisches Abmelden
SW1(config-line)#Exec-timeout 0 0
Listet alle angeschlossenen Nachbarn auf
142
SW1#show cdp neighbors
Listet alle konfigurierten VLANs auf
SW1#show vlan brief
Wählt einen Port aus
SW1(config)#int fast 0/XX
Einen Port zu einem VLAN hinzufügen
SW1(config-if)#switchport access vlan XX
Ein VLAN Anlegen
SW1(config)#vlan 32
Ein VLAN benennen
SW1(config)#vlan 45
SW1(config-vlan)#name TESTVLAN1
Aktuelle Konfiguration auslesen
SW1#show run
Aktuelle Konfiguration löschen
SW1#write erase
Switch neustarten
143
SW1#reload
Verzeichnis auflisten
SW1#dir
Datei von Flash löschen
SW1#del vlan.dat
[ENTER][ENTER]
Zeigt alle trunk ports
SW1#show interface trunk
Definiert einen trunk port
SW1(config)#int fast 0/23
SW1(config-if)#switchport mode trunk
Entfernen eines VLANs aus einem trunk
SW1(config-if)#switchport trunk allowed vlan remove 30
144
3. SPEICHER - BOOT - PASSWÖRTER
3.1 SPEICHER ARTEN
ROM
Der
Rom Read-Only Memory
speichert das:
Bootstrap startup program
Operationg system software
POSTs Power-on diagnostic test program
POSTs
FLASH MEMORY
Generell einfach als "flash" bezeichnet, beinhaltet die "ISO images". Man
könnte sagen, der Flash Speicher ist ein löschbarer und neu
145
programmierbarer ROM. Der Inhalt des Flash Speichers überlebt einen
"reload" - Neustart.
RAM
Der
RAM Random-Access Memory
beinhaltet operative Informationen wie:
Routing Tabellen
Switching Tabellen
Running configuration file
Bei einem "reload" - Neustart sind die Daten verloren.
NVRAM
Der
NVRAM Non-Volatile Random-Access Memory
enthält das
startup configuration file
146
Der NVRAM überlebt einen "reload" - Neustart.
Quick Note:
Die "running configuration file" - ist die aktuellste Version der Switch
Konfiguration.
Die "startup config file" - ist die zuletzt gespeicherte Version der Switch
Konfiguration.
3.2 DER BOOT-PROZESS
Bei jedem Start lässt ein Switch einen POST über sich selbst laufen, um
sicher zu stellen, dass er überhaupt funktionsfähig ist.
Nehmen wir als Beispiel:
Der Switch stellt bei dem POST fest, dass ein wichtiger Lüfter defekt ist.
Es würde sich für ihn erst gar nicht lohnen hochzufahren, da er nach ein
paar Minuten ausfallen würde, wegen Temperatur Problemen.
Hier ein paar Beispiele von einem POST:
147
Dieser Test war erfolgreich. Wie schön zu sehen ist, zeigt der Switch auch
an, was er gerade testet und was davon erfolgreich ist.
Was ist aber wenn der Switch ein Problem feststellt?
1. Der POST schlägt fehl.
2. Eine Anzeige wie oben, listet uns genau auf, was nicht funktioniert.
3. Der Boot-Prozess startet nicht.
Wenn der POST erfolgreich war, fängt der Switch mit dem Boot-Prozess an
und sucht nach einem:
ISO Internetwork Operation System
148
Es gibt drei Anlaufs Punkte für den Switch, um nach dieser zu suchen,
welche er in dieser Reihenfolge abfragt:
1. "Flash Memory" (Standard Speicherort)
2. TFTP Server
TFTP Trivial File Transfer Protocol
3. ROM
Sobald das ISO Image gefunden wurde, fängt der Switch an nach dem
"startup configuration file" zu suchen. Hier gibt es ebenfalls drei
Möglichkeiten:
1. NVRAM
2. TFTP Server
3. Eingabeaufforderung - "system configuration dialog"
149
3.3 SECRET UND ENABLE PASSWORT
Betrachten wir einmal die Standard-Konfiguration (ohne den Setup Mode)
eines Switches, werden wir feststellen, dass der Sprung von "user exec
mode" zu "privilege exec mode" ohne einen Sicherheitsmechanismus von
statten geht. In einer produktiven Umgebung ist das natürlich inakzeptabel!
SW1 con0 is now available
Press RETURN to get started.
SW1>enable
SW1#
Da es diese noch nicht gibt, kann jeder, der eine Verbindung zu dem Switch
aufbaut, ungehindert die Konfiguration einsehen und noch schlimmer auch
löschen, bearbeiten und manipulieren.
Lasst uns zuerst einmal die CLI von einem Switch absichern. Wenn das
"enable secret" und "enable password" konfiguriert werden, steht das
"secret" immer über dem "password" bei den Sicherheitsabfragen.
Konfigurieren wir einmal beides:
150
Hierfür müssen wir in den "global config mode" wechseln. Es gibt den
Befehl: "enable", welchen wir mit der Hilfe abfragen und uns seine
Optionen anzeigen lassen:
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#enable ?
password Assign the privileged level password
secret Assign the privileged level secret
Dann vergeben wir zuerst einmal das "secret" und verwenden als Passwort
"CCNA".
SW1(config)#enable secret CCNA
Jetzt vergeben wir noch das "password" und verwenden hierfür "CCENT"
SW1(config)#enable password CCENT
Anschließend wechseln wir zurück in den "privilege exec mode" und
speichern die Konfiguration. Dazu melden wir uns noch mit einem weiteren
"exit" von dem Switch ab.
151
SW1(config)#exit
SW1#
%SYS-5-CONFIG_I: Configured from console by console
SW1#write
Building configuration...
[OK]
SW1#exit
Wieder am Anmeldebildschirm angekommen, stellen wir bei dem Wechsel
in den "privilege exec mode" fest, dass ab jetzt ein Passwort abgefragt wird.
Hier wird das " secret " - " CCNA " abgefragt, da dieses immer über dem
" password " steht!
Lasst euch bei der Eingabe nicht verwirren, wenn ihr euer Passwort eingebt,
es ist typisch für CISCO, dass ihr bei der Eingabe eines Passwortes keinerlei
optische Hilfe im Sinne von Sternen oder einem Cursor bekommt.
SW1 con0 is now available
Press RETURN to get started.
SW1>enable
Password:
SW1#
152
Prüfen wir doch einmal, da wir wieder angemeldet sind, wie diese
Sicherheitsabfragen in unserer "running configuration" aussieht. Verwendet
für Abfragen im Allgemeinen immer den "show" Befehl:
SW1#show running-config
……
enable secret 5 $1$mERr$CunnQjkAEasAf02ni13tK/
enable password CCENT
……
Hier sehen wir zwei neue Einträge, einmal unser "secret", verschlüsselt mit
MD5, einer bereits veralteten, sowie unsicheren Verschlüsslung und das
normale "password" im Klartext.
Klingt beides nicht sonderlich toll, wenn man mich aber jetzt fragen würde:
Lieber ein schlecht verschlüsseltes "secret", als ein "secret" im Klartext, wie
hier bei dem "password" zu sehen ist…
3.4 KONSOLEN PORT ABSICHERN - EIN PASSWORT
EIN KLEINER ABRISS
Jetzt, wo wir den "privilege exec mode" mit einem "password" und "secret"
gesichert haben, beginnen wir damit den Switch auf der physischen Ebene
mit einem einfachen Passwort abzusichern.
153
Das Thema mit der Konsolen-Eingabe, wurde bereits kurz angeschnitten
mit:
SWITCH1(config)#line con 0
Was nichts anderes bedeutet, als eine Konsolen Eingabe.
Um das Ganze einmal bildlich darzustellen: Wir reden von einem Port,
welcher bei älteren Geräten in etwa so aussieht:
Neuere Modelle werden bereits mit einem Mini-USB Port geliefert.
Ein solcher Port ist natürlich nicht nur bei CISCO zu finden. Da es sich hier
aber alles um CISCO dreht, behandeln wir diesen speziell. Typisch für CISCO
154
ist es ebenfalls, dass sich ein solcher Konsolen-Port auf der Rückseite eines
Switches befindet und nicht bei den "normalen" Ports.
ZURÜCK ZUR KONFIGURATION
Starten wir vom Login Screen. Bis zur Passwortvergabe hin, müssen wir
zuerst in den "global config mode" wechseln, von dort aus in die "line con
0" und erst dann können wir dieses setzen:
SW1>enable
Password:
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#line con 0
SW1(config-line)#login
% Login disabled on line 0, until 'password' is set
Erschreckt bei dieser Meldung nicht. Der Login per se ist nicht gesperrt, er
ist nur gesperrt, solange noch kein Passwort gesetzt ist, was wir sofort
ändern.
Dann fragen wir doch einmal unsere Passwort Optionen mit der Hilfe ab:
SW1(config-line)#password ?
7 Specifies a HIDDEN password will follow
LINE The UNENCRYPTED (cleartext) line password
SW1(config-line)#password konsole
155
Hiermit habe ich das einfache Passwort: konsole auf den Konsolen-Port
gesetzt.
Wenn wir uns nun abmelden, werden wir ein anderes Verhalten der
Anmeldung sehen:
SW1 con0 is now available
Press RETURN to get started.
User Access Verification
Password:
Beachte, diese Fragen kommen auch gerne in den Tests: Welches Passwort
muss hier eingegeben werden?
Da wir uns mit dem Konsolen-Port verbinden und nicht direkt in dem
"privilege exec mode" starten, ist es natürlich das Konsolen-Passwort,
welches wir gerade definiert haben: konsole. Anschließend, wenn wir in
den "privilege exec mode" wechseln, kommt das Passwort "secret": CCNA
zum Einsatz.
156
Speichert die Konfiguration und prüft anschließend noch einmal das
"running-config file":
SW1#write
Building configuration...
[OK]
SW1#show running-config
Building configuration...
…….
line con 0
password konsole
logging synchronous
login
exec-timeout 0 0
……
Wie ziemlich weit unten in der Konfiguration zu sehen ist, wurde unter der
Zeile "line con 0" ein Passwort Eintrag wieder einmal im Klartext erstellt.
Diese Art der Passwortspeicherung und vor allem "ein Passwort für alle" ist
heutzutage zwar besser als gar nichts, sollte aber nicht gelebt werden.
157
3.5 KONSOLEN PORT ABSICHERN - BENUTZER UND PASSWORT DB
Wie in dem vorherigen Kapitel erwähnt, ist ein einfaches Passwort besser
als nichts, was aber nicht heißt, dass wir uns an den heute gültigen
Standard halten sollten.
Wir werden hier eine wirklich sehr simple, lokale Datenbank mit Benutzer,
sowie Passwort anlegen und den Service für die Passwortverschlüsselung
auf dem Switch aktivieren.
Zuerst stelle ich aber die Frage: Wieso ist ein einfaches Passwort nicht mehr
der gültige Standard?
Es ist kein benutzerbezogener Login - Es ist nicht nachvollziehbar,
wer welche Änderungs - Konfigurationen durchgeführt hat.
Ein einzelnes Passwort ist für einen Angreifer leichter zu knacken, als
eine Kombination aus Benutzername – Passwort. Wir haben ab
diesem Zeitpunkt zwei Variablen.
Passwörter werden geteilt - auch wenn dies nicht der Fall sein sollte.
Mitarbeiter verlassen ein Unternehmen – Es müsste theoretisch an
jedem Gerät abgeändert werden.
158
Hier möchte ich damit beginnen, den Service für die
Passwortverschlüsselung zu aktivieren, damit ist es anschließend nicht
mehr möglich, diese aus der Konfiguration auszulesen. Sollte der Dienst
wieder deaktiviert werden, wird ein bereits verschlüsseltes Passwort in der
Konfiguration nicht wieder entschlüsselt.
SW1#show running-config
Building configuration...
Current configuration : 1210 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
……
159
Lassen wir uns einmal die laufende Konfiguration anzeigen. Hier sehen wir
sehr weit oben, dass der Dienst für die Passwortverschlüsselung nicht aktiv
ist. Fragen wir diese einmal mit der Hilfe-Funktion ab und sehen uns die, zur
Verfügung stehenden Optionen an.
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#service ?
dhcp Enable DHCP server and relay agent
password-encryption Encrypt system passwords
timestamps Timestamp debug/log messages
SW1(config)#service password-encryption
SW1(config)#exit
SW1#
%SYS-5-CONFIG_I: Configured from console by console
SW1#write
Building configuration...
[OK]
160
Nachdem wir diesen Dienst aktiviert haben, lesen wir uns doch noch einmal
die laufende Konfiguration aus:
SW1#show running-config
……
hostname SW1
!
enable secret 5 $1$mERr$CunnQjkAEasAf02ni13tK/
enable password 7 08026F6B272D
!
……
Wie zu sehen ist, sind die Kennwörter jetzt NICHT mehr im Klartext
hinterlegt. Damit haben wir bereits einen wesentlich höheren Standard für
die Sicherheit geschaffen.
Nun starten wir damit uns Benutzer mit Kennwörtern anzulegen, hierfür
müssen wir wieder in den "global config mode" wechseln:
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#username support ?
password Specify the password for the user
privilege Set user privilege level
secret Specify the secret for the user
Es sind für uns erst einmal die beiden oberen Optionen interessant:
"password" und "privilege".
161
Bei der Option "privilege" legen wir fest, mit welchen Rechten der Benutzer
nach der Anmeldung startet:
SW1(config)#username support privilege ?
<0-15> User privilege level
Für den Anfang reicht es uns Level 1 - "user exec mode" und Level 15 -
"privilege exec mode" zu kennen.
SW1(config)#username supportuser1 privilege 1 password support
SW1(config)#username adminuser1 privilege 15 password admin
Supportuser 1 - "user exec mode" - Passwort: "support"
Adminuser1 - "privilege exec mode" - Passwort: "admin"
Da wir nun unsere Benutzer - Passwort Datenbank mit zwei Benutzern
gefüllt haben, müssen wir unserem Switch noch sagen, dass er ab sofort
diese für den Login verwenden soll. Hierfür müssen wir wieder einmal in die
Konsole wechseln und verwenden erneut die Hilfe für den "login" Befehl:
SW1(config)#line con 0
SW1(config-line)#login ?
local Local password checking
162
Bei "größeren" Switchen gibt es ebenfalls die Möglichkeit einen "tacacs"
Server zu verwenden. Dieser ist ein zentralisierter Server, welcher die
Authentifizierung von Benutzername und Passwort übernimmt.
SW1(config-line)#login local
SW1(config-line)#
SW1#
%SYS-5-CONFIG_I: Configured from console by console
SW1#exit
Testen wir einmal unsere neue Anmeldung als Admin.
User Access Verification
Username: adminuser1
Password:
SW1#
Und abschließend noch unsere Anmeldung als Support Benutzer.
User Access Verification
Username: supportuser1
Password:
SW1>
163
Damit wir wiese Übung auch wirklich abschließen können, prüfen wir noch
ein letztes Mal unsere "running config". Wie zu erwarten war, wurden auch
die neuen Kennwörter verschlüsselt.
SW1#show running-config
…….
hostname SW1
!
enable secret 5 $1$mERr$CunnQjkAEasAf02ni13tK/
enable password 7 08026F6B272D
!
!
!
!
username adminuser1 privilege 15 password 7 082048430017
username supportuser1 privilege 1 password 7 0832595E19161703
!
!
……
Diese Verschlüsselung ist zwar immer noch nicht die technisch sicherste
Variante, aber wesentlich besser als ein Klartext Passwort.
164
3.5.1 RADIUS SERVER - EXTERNE AUTHENTIFIZIERUNG
WAS IST EIN RADIUS SERVER?
Ein Radius Server ist eine zentralisierte Schnittstelle für
Authentifizierungen. Es gibt verschiedene Anbieter und auch Verfahren, auf
welche diese zugreifen. Manche haben eine eigene Datenbank mit
Benutzern und Passwörtern, andere verwenden bereits bestehende
Datenbanken, wie beispielsweise ein Active Directory.
Diese Art und Weise der Authentifizierung wird auch oft als "tripple aaa
authentication" bezeichnet.
WARUM EINEN RADIUS SERVER?
Der Vorteil liegt hier ganz klar in der Wartbarkeit und Sicherheit. Da unsere
Authentifizierung nicht auf jedem Gerät einzeln geprüft und gepflegt
werden muss, kann diese zentralisiert gesteuert werden. Dadurch kann ein
Benutzer-Konto auf allen angebundenen Geräten gleichzeitig gesperrt oder
gelöscht werden. Wenn beispielsweise ein Mitarbeiter aus dem
Unternehmen ausscheidet, der Zugriff auf die Netzwerkkomponenten
hatte, ist es ein leichtes sicherzustellen, dass dieser keinen Zugriff mehr hat.
165
Ebenfalls garantiert uns ein solcher Server, dass keine Benutzer-"Leichen"
und somit Sicherheitslücken auf den Geräten liegen bleiben.
PRAXIS, ANBINDUNG AN EINEN RADIUS SERVER.
Diese Konfiguration bezieht sich ausschließlich auf die CISCO Router und die
meisten Switche ab der IOS Version 15.
Starten wir mit dem Aktivieren der Radius Authentifizierung:
Router(config)#aaa new-model
Router(config)#radius-server host 192.168.2.200 key SECRET
Mit diesen beiden Befehlen verbindet ihr den Radios Server. In meinem Fall
hat dieser die
IP-Adresse 192.168.2.200
Key SECRET
Der Key ist ein Kennwort, welches auf dem Radius Server definiert wird. Nur
wenn das richtige Kennwort hinterlegt ist, wird der Radius Server auch die
Anmeldungen prüfen.
Damit nicht jeder Benutzer, welcher auf dem Radius Server angelegt ist,
sich auch anmelden darf, hinterlegen wir noch die gewünschte Gruppe.
166
Router(config)#aaa authentication login NetworkAdmins group radius
In diesem Beispiel heißt meine Gruppe auf dem Radius Server:
NetworkAdmins.
Um die Konfiguration abzuschließen, müssen wir noch festlegen, auf
welchen Ebenen der Radius Server die Authentifizierung übernehmen soll.
Konsole:
Router(config)#line con 0
Router(config-line)#login authentication NetworkAdmins
Virtuelle Adapter (Telnet, SSH):
Router(config)#line vty 0 4
Router(config-line)#login authentication NetworkAdmins
Ab diesem Moment erfolgen die Anmeldungen ausschließlich über den
Radius Server. Die lokalen Benutzer und Passwörter sind nicht weiter gültig .
167
3.6 PORT SICHERHEIT DIE GRUNDLAGEN
Lab Download
verfügbar
Es wird oft von den Angriffen von außen gesprochen. Die Sache ist, dass
viele erfolgreiche Angriffe von innen gestartet werden. Für diese Angriffe
werden häufig verwendete Protokolle innerhalb des Netzwerkes
missbraucht, wie beispielsweise:
168
DHCP - Dynamic Host Configuration Protocol
ARP - Address Resolution Protocol
CDP - Cisco Discovery Protocol
Telnet
VLANs
Das ist nur ein kleiner Einblick auf die Protokolle die intern gegen uns
verwendet werden können.
Um diesem Problem entgegen zu wirken, können wir eine "port security"
auf den Switchen konfigurieren.
Um es einfach zu formulieren: Port Security benutzt die "source MAC
address" von eingehenden Frames als eine Art Authentifizierung für den
definierten Port.
Der Portvergleich die "source MAC address" in dem eingehenden Frame mit
einer Liste, die entweder
statisch oder dynamisch
angelegt wird.
169
Wenn die MAC Adresse in dieser sicheren Liste gefunden wird, wird das
Paket ganz normal weiterverarbeitet.
Sollte die MAC Adresse aber nicht in dieser Liste sein, wird der Frame
verworfen und je nach Level der Port Security werden noch weitere
Aktionen ausgelöst.
Diese Konfiguration kann an dem Switch, mit dem Befehl "switchport port-
security" aktiviert werden.
Legen wir los und schauen uns das Ganze einmal an:
SW1>enable
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#int fast 0/1
SW1(config-if)#switchport port-security ?
aging Port-security aging commands
mac-address Secure mac address
maximum Max secure addresses
violation Security violation mode
<cr>
Im ersten Schritt können wir den Befehl einfach so ohne weiter Optionen
absenden, machen wir das einfach einmal:
SW1(config-if)#switchport port-security
170
Command rejected: FastEthernet0/1 is a dynamic port
Unser Befehl wird hier von IOS zurückgewiesen, da der Port auf "dynamic"
steht - er also ebenfalls versucht einen "trunk" zu erstellen. Um dies zu
ändern, müssen wir den Port auf "access" umstellen, wie wir bereits gelernt
haben.
SW1(config-if)#switchport mode access
SW1(config-if)#switchport port-security
Und schon wird der Befehl angenommen. Prüfen wir unsere Konfiguration
einmal mit "show":
SW1(config-if)#switchport port-security
Command rejected: FastEthernet0/1 is a dynamic port.
SW1(config-if)#switch
SW1(config-if)#switchport mod
SW1(config-if)#switchport mode a
SW1(config-if)#switchport mode access
SW1(config-if)#switchport port-security
SW1(config-if)#
SW1#
%SYS-5-CONFIG_I: Configured from console by console
SW1#show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
--------------------------------------------------------------------
Fa0/1 1 0 0 Shutdown
171
AUFLISTUNG DER BEZEICHNUNGEN INNERHALB DER TABELLE:
Secure Port - Der betroffene Port - Fa0/1.
MaxSecureAddr - Es kann standardgemäß nur eine sichere Adresse
geben. – 1.
CurrentAddr - Die Anzahl der aktuellen Adressen, derzeit gibt es
keine – 0.
SecurityViolation - Keine Sicherheitsprobleme bis jetzt – 0.
Security Action - Der Mechanismus, welcher ausgelöst wird, sollte die
"port-security" eine Verletzung feststellen – Shutdown.
3.6.1 PORT SICHERHEIT - DIE OPTIONEN
AGING
Das "aging" steht in der Standard-Konfiguration auf dem Wert "0", was so
viel bedeutet wie, die dynamisch gelernten MAC-Adresse/n in der Liste
altern nicht - werden nicht automatisch entfernt.
172
Bei statisch eingetragenen Adressen macht diese Konfiguration wenig Sinn,
ist aber auch vorhanden.
SW1(config-if)#switchport port-security aging ?
time Port-security aging time
Static Enable aging for configured secure addressess
Type Port-security aging type
TIME
Wenn die "aging time" Option gewählt wird, setzt man eine Nummer von
Minuten, für welche diese MAC-Adresse in der Liste behalten wird. Den
Wert " 0 " kann man nicht mitgeben, da dieser bereits gesetzt ist.
SW1(config-if)#switchport port-security aging time ?
<1-1440> Aging time in minutes. Enter a value between 1 and 1440
Wenn wir uns die Optionen von time direkt ansehen, können wir einen
Wert zwischen 1 und 1440 Minuten eingeben.
173
TYPE
Mit dem "type" können wir definieren, anhand welches Kriteriums die
gesetzte Zeit, die eine MAC Adresse in der Liste behalten wird abläuft:
absolute - Ab dem Moment, in dem der Wert gesetzt ist, läuft der
Countdown.
inactivity - Bezieht sich auf die inaktive Zeit, sobald der Port für den
Zeitraum x inaktiv ist.
MAXIMUM
Die Option "maximum" ermöglicht es uns die maximale Anzahl von sicheren
MAC Adressen auf einem Port zu erhöhen
SW1(config-if)#switchport port-security maximum ?
<1-6144> Maximum addresses
174
Es ist ein Wert von 1 bis 6144 sicheren MAC-Adressen auf einem Port
möglich, unterschiedliche Switch-Modelle haben variierende
Maximalwerte.
MAC-ADDRESSES
Die Option "mac-addresses" erlaubt es uns
Static secure MAC addresses
Sticky secure MAC addresses
zu definieren. Sticky klingt jetzt erst einmal seltsam. Wir werden aber noch
darauf zurückkommen.
VIOLATION
Definiert die Aktion, die ausgeführt werden soll, sobald eine Verletzung der
"port-security" festgestellt wird - eine nicht sichere MAC Adresse sich an
dem Port versucht anzuschließen.
SW1(config-if)#switchport port-security violation ?
protect Security violation protect mode
175
restrict Security violation restrict mode
shutdown Security violation shutdown mode
Diese drei Optionen sind verschiedene Level der Eskalation, haben
allerdings gemeinsam, dass alle den Frame verwerfen.
SHUTDOWN
Ist die Standard Einstellung, sowie auch die sicherste Option. Sobald
festgestellt wird, dass eine nicht sichere MAC Adresse einen "frame" an den
Port sendet, wird dieser in einen
"error-disabled state"
Status versetzt und muss händisch wieder aktiviert - resettet werden.
Ebenfalls wird eine "SNMP message" erstellt.
SNMP Simple Network Management Protocol
RESTRICT
Bei einer Verletzung der "port-security" wird eine "SNMP message" erstellt
und ebenso eine "syslog message", der Port bleibt aber offen.
176
PROTECT
Dieser Modus verwirft lediglich die "frames", macht aber ansonsten nichts.
Keine Sperrungen, Nachrichten oder Logs.
Wichtig:
Bei der Konfiguration der "port-security" empfiehlt es sich den Port,
welcher gerade bearbeitet wird, herunterzufahren. Für das Ausschalten und
Starten gibt es zwei einfache Befehle:
"shutdown" oder "shut" zum Herunterfahren des Ports
"no shutdown" oder "no shut" zum Starten des Ports
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#int fast 0/1
SW1(config-if)#shut
SW1(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down
177
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
3.7 PORT SICHERHEIT IM LABOR
Lab Download
verfügbar
178
179
FUNKTIONIERENDES NETZWERK
Ich habe dem Netzwerk im Packet Tracer nun einen weiteren Host
hinzugefügt und die "port-security" auf allen Ports aktiviert. Damit läuft
aktuell unser Netzwerk auch wunderbar.
Was passiert nun, wenn ich Host1 aus dem "Interface 0/1" entferne und
den neuen Host4 hinzufüge? Vor allem ist interessant: Was zeigt uns der
Switch an und wie zeigt er es uns an?
KAPUTTES NETZWERK
Wie bereits bei 3.6.1 Port Sicherheit - Die Optionen erklärt, ist die Standard-
Konfiguration bei der "port-security" der "shutdown" bei einer
Sicherheitsverletzung.
Somit wird unser Port "fast 0/1" von IOS heruntergefahren . Habt etwas
Geduld, es kann auf den ersten Blick so wirken, als ob der Switch den neuen
PC einfach annimmt.
180
Sobald die Sicherheitsverletzung festgestellt wird, erhalten wir auf der
Konsole eine Benachrichtigung. Der entscheidende Punkt dieser Meldung
ist:
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
181
Das sagt uns, dass dieser Port nur per Hand wieder gestartet werden
kann.
SW1#show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
--------------------------------------------------------------------
Fa0/1 1 0 1 Shutdown
Fa0/2 1 1 0 Shutdown
Fa0/3 1 1 0 Shutdown
Fa0/4 1 1 0 Shutdown
--------------------------------------------------------------------
SW1#show int fast 0/1
FastEthernet0/1 is down, line protocol is down (err-disabled)
Damit hätten wir alle Anzeichen aus 3.6.1 abgearbeitet. Wenn wir diese
Informationen auf den Port bezüglich der "port-security" noch etwas
genauer aufgelistet haben wollen, können wir den Befehl "show port-
security" noch um das "interface" erweitern:
182
SW1#show port-security int fast 0/1
Port Security : Enabled
Port Status : Secure-shutdown
Violation Mode : Shutdown
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 1
Total MAC Addresses : 0
Configured MAC Addresses : 0
Sticky MAC Addresses : 0
Last Source Address:Vlan : 0030.A32B.8699:1
Security Violation Count : 1
Hier werden uns sämtliche Konfigurationen und der aktuelle Status des
Ports genau aufgelistet.
Wenn ihr alle sicheren Adressen eines "interfaces" aufgelistet haben wollt,
verwendet den Befehl:
SW1#show port-security address
183
3.7.1 REPARIEREN FAST 0/1
Um unseren Switch-Port wieder zum Laufen zu bekommen, müssen wir im
ersten Schritt den falschen - fremden PC - aus dem Netzwerk entfernen.
Anschließend würde ich den MAC Adressen Eintrag in der "port-security"
bereinigen, um sicher zu gehen, dass hier kein Durcheinander entstehen
kann.
SW1(config)#int fast 0/1
SW1(config-if)#no switchport port-security mac-address 0030.A32B.8699
184
Jetzt noch einmal die "port-security" abfragen:
SW1#show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
-------------------------------------------------------------
Fa0/1 1 0 1 Shutdown
Fa0/2 1 1 0 Shutdown
Fa0/3 1 1 0 Shutdown
Fa0/4 1 1 0 Shutdown
-------------------------------------------------------------
Und der Eintrag auf unserm Port fast0/1 ist wieder leer. Öffnet nun die
Netzwerkeinstellungen eures Hosts und kopiert euch die MAC-Adresse.
185
Tragt diese wieder, wie bereits gelernt, in der "port-security" ein.
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#int fast 0/1
SW1(config-if)#switchport port-security mac-address 0001.64E5.2AC9
Abschließend fragen wir noch einmal den Status der "port-security" ab:
SW1#show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
--------------------------------------------------------------
Fa0/1 1 1 1 Shutdown
Fa0/2 1 1 0 Shutdown
Fa0/3 1 1 0 Shutdown
Fa0/4 1 1 0 Shutdown
--------------------------------------------------------------
Damit haben wir sichergestellt, dass in die "port-security", die richtige MAC-
Adresse hinterlegt hat. Jetzt muss nur noch der Port wieder reaktiviert und
das Kabel verbunden werden.
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#int fast 0/1
SW1(config-if)#shut
SW1(config-if)#no shut
186
Wenn wir zu guter Letzt noch einmal einen "show port-security"
herauslassen, werden wir sehen, dass auch die "SecurityViolation" auf "0"
zurückgesetzt ist.
187
3.8 STICKY ADRESSEN UND ERRDISABLE RECOVERY
STICKY ADDRESSES
Sehen wir uns einmal die "port-security address" Liste nach einem Neustart
des Switches an. Wir werden feststellen, dass sämtliche dynamischen
Einträge verloren gegangen sind. Lediglich unsere statischen Einträge
bleiben vorhanden.
SW1#show port-security address
Secure Mac Address Table
--------------------------------------------------------------
Vlan Mac Address Type Ports Remaining Age
(mins)
---- ----------- ---- ----- -------------
1 0001.64E5.2AC9 SecureConfigured FastEthernet0/1 -
--------------------------------------------------------------
Hier ist nun die Frage, wollen wir das auch?
Sollten wir die Frage mit einem klaren „Nein“ beantworten, kommt "sticky
address" ins Spiel. Diese Konfiguration sorgt dafür, dass die dynamischen
Adressen: " stick around " rumbleiben, wenn man so will. Wie immer wieder
von mir gefordert, nehmen wir für die Auflistung der Optionen wieder die
Hilfe in Anspruch und aktivieren auf Port 0/2 die "sticky" Option:
188
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#int fast 0/2
SW1(config-if)#switchport port-security mac-address ?
H.H.H 48 bit mac address
sticky Configure dynamic secure addresses as sticky
SW1(config-if)#switchport port-security mac-address sticky
Diese können wir ohne weitere Angaben bestätigen. Anschließend
speichern wir die Konfiguration und starten den Switch für einen Test neu.
SW1#write
Building configuration...
[OK]
SW1#reload
Proceed with reload? [confirm]
SW1>enable
SW1#show port-security address
Secure Mac Address Table
--------------------------------------------------------------
Vlan Mac Address Type Ports Remaining Age
(mins)
---- ----------- ---- ----- -------------
1 0001.64E5.2AC9 SecureConfigured FastEthernet0/1 -
1 0001.97C3.A922 SecureSticky FastEthernet0/2 -
--------------------------------------------------------------
189
Wie wir sehen können, hat das wunderbar funktioniert. Die MAC Adresse
wurde als "type" "securesticky" gespeichert und war auch nach einem
" reload " noch in der Liste aufgeführt .
ERROR DISABLE
Wie in dem Abschnitt 3.7 Port Sicherheit im Labor gezeigt, wirft uns bei
einer Verletzung der "port-security" das Interface bei "show int fast 0/X" die
Meldung "err-disabled" aus.
Hier einmal kurz zur Klarstellung. Dies ist keine explizierte Meldung, dass
die "port-security" verletzt wurde, sondern es ist eine Systemmeldung, dass
von einem Dienst der Port deaktiviert wurde. Um uns hier einen Überblick
zu verschaffen, was dies alles sein kann, ist der folgende Befehl sehr
nützlich: (Nicht funktionstüchtig im Packet Tracer!!!)
SW1(config)#errdisable recovery cause ?
190
3.9 IHR KÖNNT EUCH NICHT MEHR ANMELDEN?
UNTERBRECHEN DES BOOT PROZESSES
Gehen wir einfach einmal davon aus, dass ihr euch an einem Router
anmelden möchtet, es aber nicht könnt, da das Passwort fehlt. In aller
Regel entstehen solche Zwischenfälle durch eine mangelhafte
Dokumentation.
Ihr könnt in solch einem Fall den Router dazu zwingen, seinen Boot Prozess
abzubrechen und ohne die "startup config" zu starten. Schaltet dafür den
Router im ersten Schritt aus und kurz darauf wieder an:
191
Geht sehr schnell in den CLI Reiter und betätigt die Tastenkombination
[STRG + C]
Initializing memory for ECC
..
C1841 processor with 524288 Kbytes of main memory
Main memory is configured to 64 bit mode with ECC enabled
Readonly ROMMON initialized
Self decompressing the image :
##########
monitor: command "boot" aborted due to user interrupt
rommon 1 >
ÄNDERN DER "REGISTER" ADRESSE
Wenn ihr alles richtig gemacht habt, landet ihr in dem "rommon". In diesem
Modus, welcher keine Passwort-Abfrage hat, könnt ihr jetzt die
192
Speicheradresse für das "register" abändern und somit das "startup file"
umgehen.
rommon 1 > confreg 0x2142
rommon 2 > reset
Nach dem „reboot“ könnt ihr euch die aktuell verwendete "register"
Version ausgeben lassen:
Router#show version
……
……
191K bytes of NVRAM.
63488K bytes of ATA CompactFlash (Read/Write)
Configuration register is 0x2142
Jetzt, da ihr wieder Zugriff auf das Gerät habt, könnt ihr die alte
Konfiguration löschen:
Router#erase startup-config
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
Router#reload
System configuration has been modified. Save? [yes/no]:y
193
Nach einem erfolgreichen Neustart müsst ihr noch die "register"
Speicheradresse auf die originale Adresse zurückstellen, da alle
Änderungen, die ihr in der manipulierten Version vornehmt bei einem
Stromausfall verloren gehen.
Router(config)#config-register 0x2102
Router#reload
System configuration has been modified. Save? [yes/no]:y
3.10 DIE SPEICHERADRESSEN
ADRESSEN DER KONFIGURATIONEN
Allgemein wird diese Adressierung als "register" bezeichnet. Sie definiert
die Adressen, welche während dem Bootvorgang aufgerufen werden.
Diese Konfiguration zeigt beispielsweise mit dem Standardwert auf die
"startup configuration".
Es gibt drei wichtige Speicher-Adressen für CISCO Geräte, die sich jeder
merken sollte:
0x2102
0x2142
194
0x2101
0x2101
Diese Adresse lässt euch direkt von dem "boot prom image" booten und
nicht von dem, auf dem Flash hinterlegten Speicher. Manche bezeichnen
dies auch als ein Mini-IOS. Diese Adresse wird oft verwendet, um ein
Upgrade auf den Flash-Speicher auszuspielen.
0x2102
Ist der Standardwert, welcher immer auf die "startup configuration" zeigt.
Ihr könnt, wie in dem vorherigen Kapitel erklärt, jederzeit die aktuell
verwendete Adresse abfragen:
Router#show version
……
……
191K bytes of NVRAM.
63488K bytes of ATA CompactFlash (Read/Write)
Configuration register is 0x2102
Die Faustregel ist, solange diese Adresse hinterlegt ist und alles funktioniert
wie es sollte, ist das Gerät in Ordnung.
0x2142
195
Wenn wir diese Adresse in unserer Konfiguration finden, bedeutet dies,
dass wir nicht die "startup configuration" verwenden und vorbei am
NVRAM gebootet haben. Somit sind alle Konfigurationen, die getätigt
werden, nicht dauerhaft. Wenn diese Adresse hinterlegt ist, solltet ihr
dringend hinterfragen: Wieso? Und dies anschließend, wenn alle Umstände
geklärt sind, das "register" wieder auf den Standardwert zurücksetzen.
ABÄNDERN DES BOOT-IMAGES
Wie bereits erklärt, können die CISCO Geräte auch von einem TFTP Server
booten. Diese Konfiguration ist simpel gestaltet und wird folgendermaßen
umgesetzt:
Router(config)#boot ?
system System image file
Router(config)#boot system ?
WORD TFTP filename or URL
flash Boot from flash memory
tftp Boot from a tftp server
Router(config)#boot system tftp ?
WORD System image filename
Router(config)#boot system tftp MEINIMAGE.bin ?
A.B.C.D Address from which to download the file
196
<cr>
Router(config)#boot system tftp MEINIMAGE.bin 192.168.2.101 ?
<cr>
Für diese Konfiguration werden also nur zwei Werte von euch benötigt:
Der Name des Images
Die Adresse des TFTP Servers
197
BONUS 3: CHEATSHEET
Speicher Arten
Rom - Read-Only Memory speichert das
Bootstrap startup program
Operationg system software
POSTs - Power-On Self Test
Flash Memory ist generell einfach als "flash" bezeichnet, beinhaltet die
"ISO images".
RAM - Random-Access Memory beinhaltet operative Informationen wie:
Routing Tabellen
Switching Tabellen
Running configuration file
Bei einem "reload" - Neustart sind die daten verloren.
NVRAM - Non-Volatile RAM enthält das
startup configuration file
Der Boot-Prozess
198
Nachdem der POST - Power-On Self Test erfolgreich war, sucht der Switch in
dieser Reihenfolge nach dem:
ISO - Internetwork Operation System
1. Flash Memory (Standard Speicherort)
2. TFTP Server (TFTP - Trivial File Transfer Protocol)
3. ROM - Read-Only Memory
Anschließend sucht er das "startup configuration file" in dieser
Reihenfolge:
1. NVRAM - Non-Volatile RAM
2. TFTP Server (TFTP - Trivial File Transfer Protocol)
3. Eingabeaufforderung - "system configuration dialog"
Secret und Enable Passwort
Wenn das "enable secret" und "enable password" konfiguriert werden,
steht das "secret" immer über dem "password".
Standard CISCO Konfiguration:
"secret", verschlüsselt mit MD5, einer bereits veraltete - unsichere
Verschlüsslung
"password" im Klartext gespeichert.
199
Konsolen Port absichern - Ein Passwort
Typisch für CISCO ist, dass ein Konsolen Port auf der Rückseite eines
Switches ist- nicht bei den "normalen" Ports.
"password" im Klartext gespeichert.
Konsolen Port absichern - Benutzer und Passwort DB
Es ist ein Benutzer-Bezogener Login -
Kombination aus Benutzername - Passwort , wir haben ab diesem
Zeitpunkt zwei Variablen - Sicherheit.
Nicht bezogene Passwörter werden geteilt - auch wenn dies nicht der
Fall sein sollte.
Mitarbeiter verlassen ein Unternehmen - Benutzer kann gelöscht
werden.
Port Sicherheit - Die Optionen
"aging" dynamisch gelernten MAC-Adresse/n - werden nicht automatisch
entfernt - Wert "0".
"aging time" setzt eine Nummer von Minuten, für welche diese MAC-
Adresse in der Liste behalten wird. Den Wert " 0 " kann man nicht
mitgeben, da dieser bereits gesetzt ist.
"aging type" definiert, wie die gesetzte Zeit, die eine MAC-Adresse in
der Liste behalten, abläuft:
200
absolute - Ab dem Moment, in dem der Wert gesetzt ist, läuft
der Countdown.
inactivity - Bezieht sich auf die inaktive Zeit, sobald der Port für
den Zeitraum X inaktiv ist.
"maximum" ermöglicht es die maximale Anzahl von sicheren MAC-
Adressen auf einem Port zu erhöhen
"mac-address" legt die Art und Weise der Speicherung fest.
"static" statisch fest eingetragene Adresse: aaaa.bbbb.cccc
"sticky" speichert die dynamische Adresse in der "running-config"
"violation" definiert die Aktion, die ausgeführt wird, sobald die "port-
security" verletzt wird.
"shutdown" Standard Einstellung - Port fällt auf "error-disabled state"
erstellt eine "SNMP Message".
"restrict" "SNMP message" und "syslog message" - Port bleibt offen.
"protect" Switch verwirft die Frames, sonst nichts - Port bleibt offen.
SNMP - Simple Network Management Protocol
BEFEHLE:
201
Legt das "secret" fest auf CCNA "privilege exec mode"
SW1(config)#enable secret CCNA
Legt das "password" fest auf CCENT "privilege exec mode"
SW1(config)#enable password CCENT
Schreibe die Konfiguration
SW1#write
Zeige die aktuell laufende Konfiguration
SW1#show running-config
Aktivieren Konsolen Port Passwort
SW1(config-line)#login
Definieren Konsolen Port Passwort
SW1(config-line)#password <PASSWORT>
Aktivieren des Passwort Verschlüsselung Dienstes
SW1(config)#service password-encryption
Erstelle einen Normalen Benutzer in DB
SW1(config)#username <NORMALERUSER> privilege 1 password
<PASSWORT>
202
Erstelle einen Admin Benutzer in DB
SW1(config)#username <ADMINUSER> privilege 15 password <PASSWORT>
Aktiviere Lokale DB Anmeldungen
SW1(config-line)#login local
Setzt den Switch Port in den Access Mode nur ein VLAN
SW1(config-if)#switchport mode access
Aktiviert die "switch-port" Security
SW1(config-if)#switchport port-security
Fügt die MAC Adresse aaaa.bbbb.cccc auf dem Port in die "port-security"
Liste hinzu
SW1(config-if)#switchport port-security mac-address aaaa.bbbb.cccc
Entfernt die MAC Adresse aaaa.bbbb.cccc auf dem Port aus der "port-
security" Liste
SW1(config-if)#no switchport port-security mac-address aaaa.bbbb.cccc
Fährt den Port herunter
SW1(config-if)#shut
Fährt den Port hoch
203
SW1(config-if)#no shut
Listet alle Bedingungen für einen "error-disabled state" auf
SW1(config)#errdisable recovery cause ?
Listet alle Port mit "port-security"
SW1#show port-security
Listet alle "port-security" Einstellungen eines Ports
SW1#show port-security int fast 0/1
Listet alle "port-security" Adressen
SW1#show port-security address
204
4. IPV4 KLASSEN UND ROUTEN
4.1 EINFÜHRUNG IN IPV4 UND BINÄR
Wenn Daten an einen anderen Host gesendet werden, spielen bei der
Übertragung immer zwei Adressen eine entscheidende Rolle
Auf Layer 2, die bereits bekannte MAC-Adresse.
Auf Layer 3, die hier behandelte IP-Adresse.
IP Internet Protokoll
Die bereits, in dem Lab verwendete Adresse "192.168.0.1 / 24" ist eine IPv4
Adresse. Es gibt, aber auch IPv6 Adressen – dazu, aber erst später mehr. Für
den Anfang konzentrieren wir uns auf die IPv4 Adressen .
205
Bei dem Routing-Prozess, welcher in diesem Kapitel auch seinen Einlauf
findet, geht es darum die Packet so effizient, wie möglich durch das
Netzwerk zu manövrieren. Also werden wir uns nach den IP-Adressen
genauer ansehen, wie ein Router Entscheidungen trifft. Beispielsweise: Was
ist der beste Weg von dem Absender zu dem Empfänger.
IP ADRESSING AND BINARY CONVERSIONS
Jedes Netzwerkgerät in unserem Lab hatte eine IP-Adresse, jedes Gerät in
meinem Netzwerk ebenfalls und bei euch wird das nicht anders sein.
Ihr könnt das ganz einfach bei euch in der Kommandozeile (Windows in
meinem Fall) überprüfen mit:
C:\Users\Benutzer>ipconfig
IPv4-Adresse . . . . . . . . . . : 192.168.0.30
Subnetzmaske . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.0.1
In meinem etwas reduzierten Ausschnitt sehen wir drei verschiedene IPv4
Adressen.
IPv4-Adresse Die aktuelle Adresse deines Computers.
206
Subnetzmaske Diese ermöglicht es uns ein Netzwerk zu
unterteilen.
Dies wird auch gerne als /24 angegeben.
Standardgateway In der Regel die Adresse des nächsten Routers.
Unser Ziel ist es direkt an diesen Adressen zu erkennen, zu welchem
Netzwerk unser Computer gehört und das Ganze werden wir mit einem
"bit-by-bit" Verfahren lernen. Das klingt erst einmal abschreckend, ich
verspreche aber, dass es nach etwas Übung in Fleisch und Blut übergehen
wird.
IP ADRESSEN - BINÄR
Beginnen wir direkt mit ein paar Erklärungen:
Die Zahlen zwischen den Punkten, nehmen wir, als Beispiel, einmal meine
IP-Adresse:
192.168.0.30
Von dieser nehmen wir uns die erste Zahl:
192
207
Diesen Bereich nennt man ein "octet" was daran liegt, dass die Zahlen 0-
255 in dem binären Zahlensystem eine achtstellige Kombination aus 0 und 1
ergeben. Das gilt natürlich für die weiteren Zahlenfolgen auch:
168
0
30
Jedes für sich ist ebenfalls ein "octet".
Jetzt kommt der Trick, wie diese - unsere dezimalen Zahlen, in für den
Computer lesbare - binäre Zahlen, umgewandelt werden. Alles was ihr
dafür braucht ist diese kleine Tabelle:
128 64 32 16 8 4 2 1
192
Die Lösung ist wirklich sehr simpel, ihr müsst euch lediglich fragen: Passt die
Zahl (von links nach rechts) in der oberen Spalte, in die Zahl, die ich
umrechnen möchte?
Passt also:
128 in 192? Ein klares: Ja. Wenn diese hineinpasst, machen wir eine 1 in die
Spalte, wenn nicht, eine 0. Anschließend machen wir das gleiche mit der
Differenz und gehen weiter von links nach rechts bis wir bei dem Wert 0
angekommen sind.
208
128 64 32 16 8 4 2 1
192 1 1 0 0 0 0 0 0
192-128 = 64
64-64 = 0
Da keine weiteren Zahlen mehr subtrahiert werden können, wird der Rest
mit Nullen aufgefüllt.
Und das war auch schon alles. Wir haben die Dezimalzahl 192 in eine binäre
Zahl umgerechnet
Dezimal Binär
192 11000000
STANDARDISIERUNG
Der Standard der IP-Adresse wurde im:
September 1981
von der
RFC - Request For Comments (technical proposals and/or documentation)
Mit der Bezeichnung:
RFC 791
209
definiert.
4.1.1 ÜBUNG UND PREFIX NOTATION
UMRECHNEN DER ADRESSEN
Fangen wir damit an, diese IP-Adresse und diese Subnetz Maske in das
binäre Zahlensystem umzuwandeln.
192.168.1.100
255.255.255.0
Macht das am besten mit der vorher gezeigten Methode und übt
selbstständig.
Wir erhalten dieses Ergebnis:
192.168.1.100 11000000 10101000 00000001 01100100
255.255.255.0 11111111 11111111 11111111 00000000
210
NETZWERK UND HOST BEREICH
Ihr fragt euch jetzt wahrscheinlich, wieso machen wir das?
Ich kann euch für die Subnetz-Maske schon einmal eine einfache Antwort
liefern.
Die Netzwerk Maske unterteilt den gesamten Bereich in den Netzwerk-
Bereich und den Host Bereich.
Netzwerk Host
255.255.255 0
Wenn wir uns das ganze binär anschauen:
11111111 11111111 11111111 00000000
können wir sehen, dass der Host Anteil, der Teil ist, den wir zur Verfügung
für Computer, Laptops, Drucker etc. haben. Dieser startet bei der ersten
" 0 " .
Damit haben wir den fest vorgegebenen Bereich an Adressen gefunden,
welchen wir für unsere Geräte vergeben können.
WAS IST DIESES / 24?
Wie wir bereits besprochen haben, heißt jeder dieser Blöcke einer Adresse
"octet", das liegt daran, dass dieser aus 8 Bits besteht: 11111111
211
Wenn wir uns nun die sehr häufige Schreibweise einer Adresse wie:
192.168.1.100 / 24
ansehen, könntet ihr vielleicht auch schon darauf gekommen sein, wie
diese Zahl am Ende entstanden ist.
Die /24, steht für die Bits des Netzwerk Bereichs innerhalb der Subnetz-
Maske.
1111111 11111111 1111111 = 3x8 = 24
Diese Schreibweise der Subnetzmaske nennt sich:
"prefix notation"
Da wir bei der Subnetzmaske drei bereits besetzte "octets" haben, können
wir sagen, dass das letzte "octet" frei verwendbar ist, damit ergibt sich für
uns der folgende Adressbereich:
255.255.255.0 Subnetz / 24
192.168.0.0-255 Mögliche Adressen 254
Ja es ist richtig, dass ihr die Adresse am Anfang (die erste - 0) und am Ende
(die letzte - 255) nicht für einen Host verwenden könnt. Dazu aber erst
später mehr.
212
4.2 ÖFFENTLICHE IP-ADRESSEN
Die IP-Klassen werden in dem ersten "octet" der jeweiligen IP-Adresse
festgelegt:
Einmal eine Auflistung aller Klassen:
Klasse A 1-126
Klasse B 128-191
Klasse C 192-223
Wie euch vielleicht aufgefallen ist, gibt es hier ein paar Lücken, das liegt
daran, dass es ein paar Adressen gibt, die keinem Host zugewiesen werden
dürfen.
Loopbacks 127- Sind reserviert für Host "loopbacks"
Klasse D 224-239 - Sind reserviert für "multicasting"
Klasse E 240-255 - Sind reserviert für die "Zukunft"
werden auch bezeichnet als "expermimental addresses"
Eine kurze Erklärung zu "unicast" und Konsorten:
Unicast - Senden an einen bestimmten Empfänger
213
Broadcast - Senden an jeden
Multicast - Senden an eine bestimmte Gruppe
Also sind lediglich die Klassen A - C für uns verfügbar und relevant.
Jede dieser Klassen hat seine eigene Netzwerk Maske, seine festgelegte
Anzahl an "network bits" und festgelegte Anzahl an "host bits" die ich euch
in dieser Tabelle aufgelistet habe:
Klasse Netzwerk Maske Network bits Host bits
A 255.0.0.0 8 24
B 255.255.0.0 16 16
C 255.255.255.0 24 8
4.3 PRIVATE IP-ADRESSEN
DIE PRIVATEN IP ADRESS-KLASSEN
Ich habe für euch eine "eingängliche" Bezeichnung dieser Standardisierung:
RFC 1918
214
Diese Nummer ist eine der am häufigsten abgefragte in Tests!
Was definiert nun diese RFC 1918 Standardisierung?
Das Geniale an der Standardisierung der privaten IP Adressen ist, dass wir
diese in anderen Netzwerken wiederverwenden können, was bei den
öffentlichen IP-Adressen nicht der Fall ist.
Somit ist es möglich, dass es in meinem Netzwerk die IP-Adresse:
192.168.0.1 / 24
gibt, bei meinem Nachbarn aber auch!
215
Nur wie ist das möglich? Die Antwort ist relativ simpel. Private Adress-
Bereiche wurden so definiert, dass diese nicht " routable " routbar sind.
Das heißt, die Netzwerkgeräte erkennen die IP-Adresse als eine private und
"routen" diese nicht in das Internet.
Und schon stellt sich mir eine neue Frage, wieso komme ich dann mit
meinem Computer in das Internet?
Hierfür wurden Protokolle geschaffen, welche die nicht routbare Adresse in
eine routbare übersetzen:
NAT Network Address Translation
PAT Port Address Translation
Wie diese genau funktionieren, behandeln wir später, wir bleiben erst
einmal bei den IP-Adressen selbst.
Hier eine Auflistung aller privaten IP-Adressen :
Klasse Start Ende
A 10.0.0.0 10.255.255.255
B 172.16.0.0 172.31.255.255
C 192.168.0.0 192.168.255.255
216
Alle anderen Adressen dürfen in einem privaten Netzwerk nicht verwendet
werden, wenn doch ist es eine Fehlkonfiguration!
Klasse Netz-Adresse Subnetz-Maske Prefix notation
A 10.0.0.0 255.0.0.0 / 8
B 172.16.0.0 255.240.0.0 / 12
C 192.168.0.0 255.255.0.0 / 16
4.4 DAS ROUTING
EIN ÜBERBLICK
Wenn ein Host ein Paket versendet, können nur zwei Szenarien für das
"routing" eintreffen, entweder:
Der Empfänger ist in demselben Subnetz wie der Sender – Kein
"routing".
Oder nicht "routing".
217
Wie in diesem Beispiel zu sehen ist, werden Pakete, die in demselben
Subnetz sind, nicht weitergeleitet an den Router, sondern direkt von dem
Switch an den Ziel-Host. (Wie bereits in dem Kapitel: 1.6 Frame Processing
erklärt "geforwarded").
Wenn wir nun ein Paket an ein entferntes Subnetz senden:
10.1.1.5 /24
Muss dieses, damit es dort ankommen kann, von dem "default gateway",
einem Router, "geroutet" werden.
218
Die Entscheidung, dass dieses Packet zu einem "default gateway" gesendet
werden muss, trifft der absendende Host selbstständig, da dieser erkennt,
dass der Empfänger nicht in seinem Sub-Netzwerk ist.
DIE ROUTING TABELLE
Sehen wir uns das "routing" einmal auf dem Router an.
R1>enable
R1#show ip route
219
Lasst euch von den "Codes:" erst einmal nicht irritieren. Wir sehen uns
aktuell nur die "routes" unten an.
Status Netzwerk Verbindung Port
10.0.0.0/24 Is subnetted, 1 subnets
C 10.1.1.0 Is directly connected, FastEthernet0/1
C 192.168.1.0/24 Is directly connected, FastEthernet0/0
C, steht für "connected".
Netzwerk, steht für den Netzbereich.
Verbindung, definiert die Art der Verbindung – Route.
Port, definiert den physischen oder logischen Weg.
Wenn der Router ein Paket von
192.168.1.100
220
empfängt, welches an die Adresse
10.1.1.5
gesendet werden soll, wird er in seiner oben gezeigten Tabelle nachsehen
und das Paket anschließend, an das, am besten geeignete, Netzwerk
weiterleiten "routen":
10.1.1.0.
ENTSCHEIDUNGEN EINES ROUTERS
Wenn ein Router ein Paket empfängt, können folgende Zustände eintreten,
das Paket geht an:
Ein direkt verbundenes Netzwerk.
Ein nicht direkt verbundenes Netzwerk, ABER der Router hat einen
Eintrag in seiner Tabelle.
Ein nicht direkt verbundenes Netzwerk, der Router hat keinen
Eintrag in seiner Tabelle
221
4.5 ÜBERBLICK STATISCHE ROUTEN
Sehen wir uns in diesem Abschnitt einmal an, was passiert, wenn wir nicht
direkt mit einem Netzwerk verbunden sind, und wie wir einen Router für
ein solches Szenario zu konfigurieren haben.
222
Beginnen wir mit R1 und schauen uns seine "routing table" an.
R1#show ip route connected
20.0.0.0/24 Is subnetted, 1 subnets
C 20.1.1.0 Is directly connected,
FastEthernet0/1
10.0.0.0/24 Is subnetted, 1 subnets
C 10.1.1.0 Is directly connected
FastEthernet0/0
Durch die Zusatzoption "connected" bei dem "show" Befehl, können wir die
Ausgabe so selektieren, dass nur verbundene "routen" angezeigt werden.
Das erhöht vor allem später, wenn es sehr viele werden, die Übersicht
enorm.
Wie an der Liste gut zu erkennen ist, hat der Router keine Ahnung von dem
30.1.1.0 / 24 Netzwerk. Was müssen wir machen, damit dieser es schafft
unser Paket weiterzuleiten und nicht zu verwerfen?
Für den Anfang tragen wir ihm eine statische "default route" ein.
Soll heißen, wenn der Router nicht weiß, was er mit einem Paket machen
soll, da er die "route" nicht kennt, leitet er das Paket immer an diese
statische Route weiter.
R1#configure terminal
R1(config)#ip route 0.0.0.0 0.0.0.0 20.1.1.2
223
Die erste Adresse 0.0.0.0 steht für den "destination prefix", da wir wollen,
dass alle unbekannten Pakete weitergeleitet werden, geben wir hier die
Nuller an. Man nennt eine solche Konfiguration auch, "default route".
Die zweite Adresse 0.0.0.0 steht für die "destination prefix mask". Hier trifft
das gleiche wie oben zu.
Als letztes geben wir den nächsten Router mit 20.1.1.2 an. Alles, was nach
dieser Stelle angegeben wird (nach "destination prefix" und "destination
prefix mask") und keine IP-Adresse ist, ist ein "interface" des Routers.
Beachtet, wenn ihr ein "interface" für die statische "route" definiert,
definiert ihr immer das lokale "interface“ von dem Router.
Lassen wir uns noch einmal die "routing table" ausgeben.
R1#show ip route
Gateway of last resort is 20.1.1.2 to network 0.0.0.0
20.0.0.0/24 Is subnetted, 1 subnets
C 20.1.1.0 Is directly connected,
FastEthernet0/1
10.0.0.0/24 Is subnetted, 1 subnets
C 10.1.1.0 Is directly connected
FastEthernet0/0
S* 0.0.0.0/0 [1/0] Via 20.1.1.2
224
Der Router sagt uns jetzt, sein "last resort" - sein letzter Ausweg ist, die
Pakete, die er selbst nicht zuweisen kann an 20.1.1.2 weiterzuleiten.
Am Ende der Tabelle haben wir nun "S*" stehen, wobei das "S" für "static"
steht und der Stern "*" für "default" - "default static route".
Wenn die Kommunikation in beide Richtungen funktionieren soll, muss die
"default static route" natürlich auch auf dem Router R2 konfiguriert
werden. Sollte eine "route" nur in eine Richtung existieren, kann sich
folgendes abspielen:
Nur R1 sendet seine Pakete weiter an R2, umgekehrt gibt es keine "route":
Host A sendet einen Ping an Host B
Host B empfängt den Ping, kann aber keine Antwort an Host A
senden.
Host A bekommt keine erfolgreiche Rückmeldung für den Ping.
225
BONUS 4: CHEATSHEET
Einführung in IPv4 und binär
IP - Internet Protokoll
192. Diesen Bereich nennt man ein "octet"
IPv4 besteht aus 4x octet´s
Tabelle Umrechnen in Binär
128 64 32 16 8 4 2 1
192 1 1 0 0 0 0 0 0
192-128=64
64-64=0
Der Standard der IP-Adresse wurde im:
September 1981
von der
RFC - Request For Comments (technical proposals and/or documentation)
Mit der Bezeichnung:
RFC 791
definiert.
226
Übung
Wie nennte man die IP-Angabe
192.168.0.100 /24
Prefix notation
Öffentliche IP-Adressen
Klassen:
Klasse A 1-126
Klasse B 128-191
Klasse C 192-223
Klasse Netzwerk Maske Network bits Host bits
A 255.0.0.0 8 24
B 255.255.0.0 16 16
C 255.255.255.0 24 8
Ausnahmen:
Loopbacks 127- Sind reserviert für Host "loopbacks"
Klasse D 224-239 - Sind reserviert für "multicasting"
227
Klasse E 240-255 - Sind reserviert für die "Zukunft".
Werden auch bezeichnet, als "expermimental addresses"
Cast´s und deren Unterschiede
Unicast - Senden an einen bestimmten Empfänger
Broadcast - Senden an jeden
Multicast - Senden an eine bestimmte Gruppe
Private IP-Adressen
Wie ist die RFC Bezeichnung?
RFC 1918
Diese RFC Nummer ist eine der wichtigsten und am häufigsten abgefragten
Nummern in den Tests!
IP-Bereiche für private Adressen:
Klasse Start Ende
A 10.0.0.0 10.255.255.255
B 172.16.0.0 172.31.255.255
C 192.168.0.0 192.168.255.255
Netzadressen der privaten IP-Adressen:
228
Klasse Netz-Adresse Subnetz-Maske Prefix notation
A 10.0.0.0 255.0.0.0 / 8
B 172.16.0.0 255.240.0.0 / 12
C 192.168.0.0 255.255.0.0 / 16
Das Routing
Wenn ein Router ein Paket empfängt, können folgende Zustände eintreten.
Das Paket geht an:
Ein direkt verbundenes Netzwerk.
Ein nicht direkt verbundenes Netzwerk, ABER der Router hat einen
Eintrag in seiner Tabelle.
Ein nicht direkt verbundenes Netzwerk, der Router hat keinen Eintrag
in seiner Tabelle.
Überblick statische Routen
229
Definieren "default static route":
R1(config)#ip route 0.0.0.0 0.0.0.0 20.1.1.2
Die ersten 0.0.0.0 stehen für das "destination prefix"
Die zweiten 0.0.0.0 stehen für die "destination prefix mask"
20.1.1.2 steht für das Ziel-Gateway - den anderen Router.
Beachtet, wenn ihr ein Interface für die statische "route" definiert - nicht
direkt das Ziel-Gateway angebt, definiert ihr immer das lokale Interface von
dem Router, auf dem ihr seid.
Eintrag in der "ip route table":
"S*": das "S" für "static" der Stern "*" für "default" - "default static route".
BEFEHLE:
Listet die IP-Routing Tabelle (alles)
R1#show ip route
Listet die IP-Routing Tabelle (nur verbundene)
R1#show ip route connected
Fügt eine "static default route hinzu"
R1(config)#ip route 0.0.0.0 0.0.0.0 20.1.1.2
230
5. SWITCHE, DEFAULT GATEWAYS UND TELNET
5.1 WIEDER ZURÜCK ZU DEN SWITCHEN
VIRTUELLER MANAGEMENT PORT
Auch wenn wir einen "layer" 2 Switch haben, welcher kein Routing kann,
benötigt dieser doch eine IP Adresse, damit wir Remote auf diesen
zugreifen können.
Diese IP Adresse werden wir auf dem "remote management interface"
definieren, welches nicht physisch existiert.
231
Für das Grundverständnis, was ein nicht physischer Port ist, lasse ich von
einem "layer" 2 Switch einmal die "running config" ausgeben:
SW1#show run
Building configuration...
…….
interface FastEthernet0/20
!
interface FastEthernet0/21
!
interface FastEthernet0/22
!
interface FastEthernet0/23
!
interface FastEthernet0/24
!
interface GigabitEthernet0/1
!
interface GigabitEthernet0/2
!
interface Vlan1
no ip address
shutdown
!
……
232
Ich kann euch garantieren, dieser Switch hat keinen physischen Port mit der
Bezeichnung "Vlan1". Dies ist ein logischer Port, welcher vordefiniert auf
diesem Switch hinterlegt ist. Ein sogenanntes:
SVI switch virtual interface
Diese werden vermehrt auftauchen, behaltet sie also gut im Gedächtnis.
Dieser, auf jedem CISCO Switch vordefinierte, Port sorgt dafür, dass wir uns
"remote" mit diesem verbinden können. Sie haben in der Regel eine IP
Adresse und sind vordefiniert für das VLAN1 - "default - native VLAN".
Betrachten wir einmal dieses SVI und seine Konfiguration:
SW1#show interfaces vlan1
Vlan1 is administratively down, line protocol is down
Hardware is CPU Interface, address is 00d0.bca0.90ca (bia 00d0.bca0.90ca)
MTU 1500 bytes, BW 100000 Kbit, DLY 1000000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
……
Bevor wir hier weitermachen, müssen wir den Port erst einmal in den
Status:
"Up, Up" versetzen. Dieser Begriff, wird in der CISCO Welt oft verwendet
und bezieht sich auf die zweite Zeile der Ausgabe.
Das erste "Up" bezieht sich auf den physischen Zustand des Ports.
233
Das zweite "Up" bezieht sich auf den logischen Zustand des Ports.
Jetzt, wo wir wissen was wir brauchen, starten wir den Port:
SW1(config)#int vlan 1
SW1(config-if)#no shut
SW1(config-if)#
%LINK-5-CHANGED: Interface Vlan1, changed state to up
Nun können wir dem "switch virtual interface" eine IP Adresse vergeben.
Dies ist der gleiche Prozess, wie bei einem physischen Port, lediglich das
"interface" ändert sich.
SW1#conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#int vlan 1
SW1(config-if)#ip address 192.168.0.101 255.255.255.0
SW1(config-if)#no shut
Damit hat der "SVI" jetzt die:
IP-Adresse: 192.168.0.101
Subnetz: 255.255.255.0
234
DEFAULT GATEWAY HINTERLEGEN
Auch auf einem "layer" 2 Switch können wir ein "default gateway" zu dem
nächsten Router hinterlegen. Genau das machen wir jetzt auch:
Prüfen wir erst einmal die möglichen Optionen des Befehls mit der Hilfe
Funktion:
SW1(config)#ip default-gateway ?
A.B.C.D IP address of default gateway
Wir haben hier lediglich die Möglichkeit dem Switch das Gateway
mitzuteilen und das war es auch.
SW1(config)#ip default-gateway 192.168.0.1
Die getätigte Konfiguration können wir in der "routing" Tabelle
kontrollieren, auch wenn ihr euch jetzt fragt: Wieso eine "routing" Tabelle?
Das ist doch ein "layer" 2 Switch.
Diese existiert nur für den Default-Gateway Eintrag auf einem solchen
Gerät.
Eine kleine Anmerkung noch: Der Befehl funktioniert nicht auf einem
"layer" 2 Switch im CISCO Packet Tracer!
235
5.1.1 NON STANDARD "SVI"
Wenn wir uns ein eigenes "management interface" erstellen, können wir in
dem ersten Schritt das aktuell Konfigurierte entfernen:
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#int vlan 1
SW1(config-if)#no ip add
SW1(config-if)#shut
SW1(config-if)#
%LINK-5-CHANGED: Interface Vlan1, changed state to administratively down
Damit haben wir dem "SVI" erst einmal die IP Adresse wieder entzogen und
anschließend den Port heruntergefahren.
SW1(config)#int vlan 10
SW1(config-if)#ip address 192.168.0.101 255.255.255.0
SW1(config-if)#shut
SW1(config-if)#no shut
Ihr werdet feststellen, oder habt es bereits gemerkt, der Port wird in:
SW1#show int vlan 10
236
immer auf dem Status "Down, Down" stehen, selbst wenn ihr diesen Port
startet - neustartet.
Das hat einen einfachen Grund. Ein SVI - ein virtuelles Interface - kann nur
dann hochfahren, wenn:
Ein physischer Port in dem gleichen VLAN ist und
Einer der physischen Ports des VLANs den Status "UP, UP" hat -
gepatcht und verbunden ist.
SW1(config)#int fast 0/10
SW1(config-if)#switchport access vlan 10
Wenn wir hier der Port 10 in das VLAN 10 hängen, und dieser "Up, Up" ist,
kann der "SVI" auch starten. Solltet ihr direkt eine Abfrage mit "show"
starten, kann es gut sein, dass ihr einen "Up, Down" Status
zurückbekommt. Die logische Seite benötigt ein paar Sekunden bis diese
vollständig hochgefahren ist.
SW1#show interfaces vlan 10
Vlan10 is up, line protocol is up
237
5.2 TELNET GRUNDKONFIGURATION
Lab Download
verfügbar
ETWAS THEORIE
Telnet läuft auf dem:
TCP Port 23
und ist ein Protokoll, welches verwendet wird, um sich logisch (nicht
physisch) in der Netzwerk-Infrastruktur zu bewegen.
Das heißt es reicht, dass ich eine physische Verbindung zu einem beliebigen
Netzwerkgerät habe. Von diesem aus kann ich mich anschließend mit
Telnet von Gerät zu Gerät bewegen, wenn ich ein paar Regeln einhalte.
Wichtig! In dem internen Netzwerk ist Telnet bereits kein sicheres
Protokoll, um sich auf der Infrastruktur logisch aufzuschalten. Vermeidet es
aber strickt, das Protokoll über ein WAN zu verwenden. Telnet sendet alles
238
und damit auch Benutzername, sowie Passwort und alle Daten im Klartext
durch das Netzwerk. Es gibt keinerlei Verschlüsslung!
Es empfiehlt sich auf Telnet im Allgemeinen zu verzichten und auf das
aktuellere Protokoll
SSH Secure Shell TCP Port 22
umzustellen. Dieses hat die gleiche Funktionalität verschlüsselt, allerdings
seine Verbindungen und damit auch Benutzername, Passwort und Daten.
Der Grund, warum wir hier noch Telnet behandeln, ist schlicht und einfach,
SSH wird nicht von jedem Gerät unterstützt und Telnet kann in einer
Prüfung abgefragt werden.
239
ETWAS PRAXIS
Lassen wir uns zuerst einmal unsere aktuelle "running config" ausgeben:
SW1#show run
……
!
!
line con 0
login local
!
line vty 0 4
login
line vty 5 15
login
!
!
……
Hier finden wir unterhalb der Konsole (linle con0) auch noch die beiden
Einträge:
vty 0 4
vty 5 15
240
Da wir schon vordefinierte Verbindungen haben, konfigurieren und testen
wir das Ganze doch einmal. Als erstes schließe ich einen Host an den
Fast0/10 Port an, welchen wir in dem vorherigen Kapitel mit der IP Adresse:
192.168.0.101
konfiguriert haben.
Jetzt starte ich dort Telnet und versuche mich zu verbinden.
Wie zu erwarten war, wird unsere Verbindung direkt abgelehnt, was auch
daran liegt, dass derzeit kein Passwort für die virtuellen "interfaces"
definiert ist.
241
Also wieder zurück auf den Switch, denn wir müssen erst einmal die Telnet
Ports - Zugriffe definieren.
242
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#line vty 0 15
SW1(config-line)#password ?
7 Specifies a HIDDEN password will follow
LINE The UNENCRYPTED (cleartext) line password
SW1(config-line)#password telnet
SW1(config-line)#exit
SW1(config)#exit
SW1#write
Mit dem Befehl für die "line vty" 0 bis 15 öffne ich deren Konfiguration und
setze, wie meistens mit dem Befehl "password" das Passwort. In diesem
Beispiel auf: "telnet"
Es ist auch möglich für verschiedene "line´s" verschiedene Passwörter zu
setzen, wird aber in der Praxis nicht angewendet. Deshalb lege ich das
Passwort auf alle 16 Zeilen (0 bis 15).
Standardgemäß gibt es auf den CISCO Geräten fünf vordefinierte „vty lines“
0 bis 4.
243
Jetzt funktioniert auch der Zugriff von dem Host auf den Switch mit Telnet.
Wir starten dem: "user exec mode" und müssen unsere Rechte erst nach
oben eskalieren.
Wenn wir nun versuchen mit "enable" in den "privilege exec mode" zu
wechseln, werden wir die Meldung:
Password:
SW1>enable
% No password set.
erhalten.
244
Wie wir, aber bereits in dem Kapitel: 3.3 Secret und Enable Passwort
gelernt haben, können wir auf der Konsole für diesen Modus ein Passwort
definieren, was eine Voraussetzung für den Remotezugriff ist.
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#enable password CCNA
SW1(config)#enable secret CCENT
Und nicht vergessen! Das "secret" steht über dem "password"!
Ab jetzt können wir uns über Telnet auch in den "Privilege Exec Mode"
wechseln.
245
5.2.1 TELNET ERWEITERTE KONFIGURATION
Wenn ihr an einem Switch fertig seid, oder euren Host verlassen müsst,
meldet euch immer von der Telnet-Sitzung ab.
SW1#Logout
Wie wir bei dem Login über Telnet vorhin gesehen haben, starten wir in
dem "user exec mode" und müssen unserer Rechte erst mit "enable" auf
den "privilege exec mode" eskalieren. Wenn wir uns diesen Schritt sparen
wollen und immer direkt im "privilege exec mode" starten wollen, gibt es
dafür einen einfachen Befehl:
SW1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#line vty 0 15
SW1(config-line)#privilege level 15
Somit haben wir bei dem Interface "0 bis 15" das "privilege" Level auf 15
angehoben. Der Vorgang ist zu vergleichen mit dem Anlegen von lokalen
Benutzern mit der Angabe des " privilege " Level.
246
Mit der gerade getätigten Konfiguration ist es jedem möglich, vorausgesetzt
er kennt das Passwort für Telnet, sich direkt mit dem "privilege exec mode"
anzumelden.
Damit sind wir wieder bei dem Kapitel: 3.5 Konsolen Port absichern -
Benutzer und Passwort DB, da wir definitiv lieber einen Benutzerbezogenen
Login haben!
247
Zuerst machen wir die gerade getätigte Konfiguration rückgängig mit:
SW1(config)#line vty 0 15
SW1(config-line)#no password
SW1(config-line)#no privilege level
SW1(config-line)#login local
SW1(config-line)#exit
SW1(config)#exit
SW1#write
Anschließend habe ich den Befehl "login local" abgesetzt, nur dieses Mal
nicht auf "line con 0“, sondern auf "line vty 0 15". Damit sind hier auch die
Benutzer bezogene Anmeldung aktiviert.
248
5.3 TELNET DURCH SSH ERSETZEN
SSH FÜR EINE SICHERE VERBINDUNG
Wir haben gelernt, wie wir eine Telnet Verbindung konfigurieren und wieso
wir dies nicht machen sollten. Es ist zwar nicht Bestandteil von ICND1, aber
sehr wohl von der echten Welt. Ihr werdet nur wenige Verbindungen zu
den Geräten über den Konsolen Port herstellen und solltet wissen, wie
diese sicher konfiguriert werden kann.
Ich starte damit, dass ich die bisherigen Dinge wie Passwort und Benutzer
definiere:
Router(config)#username admin privilege 15 password pass
Router(config)#enable secret sec
Router(config)#enable password pass
Router(config)#service password-encryption
Router(config)#line con 0
Router(config-line)#password pass
Router(config-line)#login local
Router(config-line)#exit
Router(config)#line vty 0 15
Router(config-line)#password pass
Router(config-line)#login local
249
Secret: sec
Password: pass
User: admin
SSH KONFIGURIEREN
Sehen wir uns einmal an was SSH alles für Optionen für uns hat. Die erste
relevante Option ist das Timeout, welches ich auf zwei Minuten setzte:
Router(config)#ip ssh time-out ?
<1-120> SSH time-out interval (secs)
Router(config)#ip ssh time-out 120
Anschließend empfehle ich noch die möglichen Anmeldeversuche zu
definieren. Seid hier nicht zu streng. Meine persönliche Empfehlung ist drei
Versuche.
Router(config)#ip ssh authentication-retries 3
250
Damit haben wir definiert, wie lange die Verbindung offengehalten wird,
wenn keine Anmeldung erfolgt und wie viele Versuche uns zur Verfügung
stehen. Was uns jetzt noch fehlt, ist die Konfiguration auf den virtuellen
"interfaces".
Router(config)#line vty 0 15
Router(config-line)#transport input ssh
Nach dieser Eingabe sind nur noch SSH Verbindungen zu diesem Gerät
möglich. Telnet ist damit deaktiviert.
Was wir noch für eine erfolgreiche Konfiguration benötigen, ist ein
"domain-name", denn dieser ist widerrum eine Voraussetzung für unser
Zertifikat.
Solltet ihr versuchen ein Zertifikat für SSH zu erstellen, ohne einen
"domain-name" gesetzt zu haben, wird euch folgender Fehler ausgegeben:
R1(config)#crypto key generate rsa
% Please define a domain-name first.
In dieser Demonstration verwende ich generisch den "domain-name"
cisco.com, in eurer produktiven Umgebung sollte dies natürlich der Name
eurer Domain sein.
251
Definieren wir diesen einmal und stellen unser selbstsigniertes Zertifikat
aus:
R1(config)#ip domain-name cisco.com
R1(config)#crypto key generate rsa
The name for the keys will be: R1.cisco.com
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]:
% Generating 512 bit RSA keys, keys will be non-exportable...[OK]
Sobald ihr die letzte gezeigte Zeile zu sehen bekommt, ist euer Zertifikat
ausgestellt. Wie die Meldung auch besagt, kann dies unter Umständen
einige Minuten in Anspruch nehmen.
252
5.4 AUTONEGOTIATION
Die "Autonegotiation" ist die Aushandlung der Verbindung, Hierbei wird der
schnellste und beste gemeinsame Nenner gesucht, sowie konfiguriert. Kurz:
Die schnellstmögliche, gemeinsame Geschwindigkeit.
Das höchste gemeinsame "level" der "duplex services"
o Full (Senden und Empfangen gleichzeitig) vor
o Half (Senden oder Empfangen - nicht gleichzeitig)
253
KLEINE GESCHICHTSSTUNDE
Früher hat diese Aushandlung sehr schlecht funktioniert, weshalb
"autonegotiation" selbst von CISCO nicht empfohlen wurde, da es zu vielen
Problemen geführt hat. Es hat sogar Einträge in deren veröffentlichten PDFs
dazu gegeben.
Heute ist diese Hürde gemeistert und "autonegotiation" ist der Standard
auf jedem CISCO Switch / Router, solltet ihr also einmal einen Fluch auf
"autonegotiation" hören, kommt der sicher von einem "oldie".
254
DUPLEX MISMATCH
Und hier ist das ABER!
Wenn ein CISCO Switch, wie in dem Bild oben die "autonegotiation"
aktiviert hat, aber der Host nicht, kann das zu sehr schwer identifizierbaren
Problemen führen.
Hintergrund:
Der CISCO Switch kann auch ohne "autonegotiation" die Geschwindigkeit
des Hosts herausfinden, aber nicht das "duplex level".
Wenn ein CISCO Switch die Geschwindigkeit zwischen sich und dem Host
auf 100MBps oder weniger festlegt,
CISCO Switch Erkennt Host gleich oder weniger 100 Mbps
stellt dieser das "duplex level" selbstständig auf "half duplex".
Damit haben wir einen sogenannten:
"duplex mismatch"
Ein solcher "duplex mismatch" ist nur sehr schwer zu erkennen, da der Port
weiterhin funktioniert, nur ist dieser äußerst ineffizient. Wenn wir uns bei
einem betroffenen Port das "interface" auslesen lassen, würde es auf "Up,
Up" stehen.
255
5.5 PORT BEZEICHNUNGEN UND KONSOLEN VERBINDUNGEN
PORTS
Eine Frage, die mich anfangs beschäftigt hat, ist: Wieso werden die Ports
auf den Switchen folgendermaßen bezeichnet?
Fast 0/1
Fast 0/2
etc…
Und nicht?
Fast 0
Fast 1
Fast 2
etc…
Diese Bezeichnungen wurden bei CISCO über alle Geräte hinweg
vereinheitlicht, machen aber nur Sinn bei Switchten, welche modular sind.
Folgendermaßen ist die Bezeichnung aufgebaut:
256
Geschwindigkeit Slot des Moduls Trennzeichen Port
Fast 0 / 1
Somit entfällt die Notwendigkeit bei einem einfachen Switch, ist wegen der
Vereinheitlichung aber dennoch mit anzugeben. Sollte ich nun einen Switch
mit drei Modulen haben, kann ich diese darüber adressieren, da die Ports
nicht über die Module fortlaufend sind.
Modul 1
Port 1-8
Fast 1/1-8
Modul 2
Port 1-16
Fast 2/1-16
Und so weiter…
257
KONSOLE
Es gibt natürlich nicht nur den Konsolen Port von dem Bild im Kapitel: 3.4
Konsolen Port absichern - Ein Passwort, welcher ein "Rollover-Cable"
benötigt, um von einem Computer verwaltet zu werden.
Dieses Kabel nennt sich "rollover", da jeder Pin auf den Gegenseiten einmal
gespiegelt ist.
Original Gegenseite
8 1
7 2
6 3
5 4
4 5
3 6
2 7
1 8
258
Auf der Switch-Seite ist ein normaler "RJ-54" Stecker, aber auf der
Gegenseite ein "DB9 connector" oder auch "Konsolen Stecker" genannt.
Welcher Computer hat heute noch einen solchen Steckplatz? Hier kommt
natürlich wieder ein Adapter zum Einsatz, was nervig sein kann, vor allem,
wenn dieser nicht auffindbar ist. Glücklicherweise gibt mittlerweile CISCO
Switche, welche direkt einen USB-Port für uns bereithalten.
Hier fällt mir das Modell: Catalyst 2960-S ein.
259
5.6 BESCHREIBUNGEN (INTERFACE BEREICHE)
MEHRFACH ÄNDERUNG
Wenn wir bestimmte Ports für eine spezielle Aufgabe verwenden möchten,
ist es eine gute Idee diesen eine entsprechende Beschreibung zu geben.
Damit stellt man sicher, dass man selbst und auch andere dies erkennen
können.
Besonders bei vielen Ports wird eine mehrfache Bearbeitung interessant
und genau diese wollen wir uns jetzt einmal genauer ansehen.
In diesem Beispiel will ich Port 0/12 bis einschließlich Port 0/24
herunterfahren und mit einem Kommentar versehen.
260
Wieder einmal kommt auch hier die Hilfe zum Einsatz:
SW1(config)#int ?
Ethernet IEEE 802.3
FastEthernet FastEthernet IEEE 802.3
GigabitEthernet GigabitEthernet IEEE 802.3z
Port-channel Ethernet Channel of interfaces
Vlan Catalyst Vlans
range interface range command
SW1(config)#int range ?
Ethernet IEEE 802.3
FastEthernet FastEthernet IEEE 802.3
GigabitEthernet GigabitEthernet IEEE 802.3z
Vlan Vlan interface
SW1(config)#int range fast
SW1(config)#int range fastEthernet ?
<0-9> FastEthernet interface number
SW1(config)#int range fastEthernet 0/12-24
SW1(config-if-range)#
Jeder Befehl, der in der "(config-if-range)#" abgesetzt wird, gilt für alle in
diesem "range" (fast 0/12 bis fast 0/24).
261
In manchen IOS Versionen ist ein Leerschritt für die "range" erforderlich:
SW1(config)#int range fastEthernet 0/12 - 24
BESCHREIBUNG HINZUFÜGEN
Zuerst fügen wir diesen zwölf Ports eine Beschreibung hinzu:
SW1(config-if-range)#description Nicht starten ohne Ruecksprache mit mir
Und fahren anschließend alle herunter:
SW1(config-if-range)#shut
%LINK-5-CHANGED: Interface FastEthernet0/12, changed state to administratively down
%LINK-5-CHANGED: Interface FastEthernet0/13, changed state to administratively down
%LINK-5-CHANGED: Interface FastEthernet0/14, changed state to administratively down
%LINK-5-CHANGED: Interface FastEthernet0/15, changed state to administratively down
%LINK-5-CHANGED: Interface FastEthernet0/16, changed state to administratively down
……
262
Wenn wir uns jetzt noch die "running config" ausgeben lassen, sehen wir
das Ergebnis:
SW1#show run
Building configuration...
Current configuration : 1933 bytes
!
……
!
interface FastEthernet0/10
!
interface FastEthernet0/11
!
interface FastEthernet0/12
description Nicht starten ohne Ruecksprache mit mir
shutdown
!
interface FastEthernet0/13
description Nicht starten ohne Ruecksprache mit mir
shutdown
!
interface FastEthernet0/14
description Nicht starten ohne Ruecksprache mit mir
shutdown
!
interface FastEthernet0/15
description Nicht starten ohne Ruecksprache mit mir
shutdown
!
interface FastEthernet0/16
description Nicht starten ohne Ruecksprache mit mir
shutdown
263
BONUS 5: CHEATSHEET
Wieder zurück zu den Switchen
"remote management interface":
Existieren nicht physisch.
SVI - switch virtual interface
!
interface Vlan1
no ip address
shutdown
!
"Up, Up" Bedeutung:
Das erste "Up" bezieht sich auf den physischen Zustand des Ports.
Das zweite "Up" bezieht sich auf den logischen Zustand des Ports.
Der Port ist physisch und logisch gestartet.
Non standard "SVI"
Ein frisch erstellter SVI: "switch virtual interface"
wird in der Regel den Status:
"down, down"
264
haben, selbst wenn ihr diesen Port startet / neustartet etc.
Das hat einen einfachen Grund. Ein SVI - Ein virtuelles Interface, kann nur
dann hochfahren, wenn :
Ein physischer Port in dem gleichen VLAN, an diesem Switch ist
Einer der physischen Ports des VLANs den Status "UP, UP" hat,
gepatcht und verbunden ist.
Telnet Grundkonfiguration
Telnet:
TCP Port 23
Protokoll für logische Verbindungen zu Netzwerk Geräten
Sollte, wenn überhaupt, nur intern verwendet werden
Keine Verschlüsselung
o Daten
o Benutzer
o Passwörter
Verbindung ist nur möglich mit einer Authentifizierung
265
o Ein Passwort inkl. Privileg Level (für alle gleich)
o Benutzer bezogen inkl. Privileg Level
SSH:
SSH - Secure Shell TCP Port 22
Gleiche Funktionalität
Aufwändiger zu konfigurieren
Wird nicht von jedem CISCO Gerät unterstützt
Verschlüsselte Übertragung
o Daten
o Benutzer
o Passwort
In der "running config" zu finden als:
"Line vty 0" bis "15"
Autonegotiation Erklärung:
266
Autonegotiation ist die Aushandlung der Verbindung,
es wird der schnellste und beste gemeinsame Nenner
(bis Layer 2) gesucht und konfiguriert.
Die schnellstmögliche gemeinsame Geschwindigkeit
Das höchste gemeinsame "level" der "duplex services"
o Full (Senden und Empfangen gleichzeitig) vor
o Half (Senden oder Empfangen nicht beides gleichzeitig)
Duplex mismatch Erklärung:
Duplex
mismatch
Wenn ein CISCO Switch "Autonegotiation" aktiviert hat,
aber der Host nicht, kann das zu sehr schwer
identifizierbaren Problemen führen.
Was passiert bei einem Duplex mismatch:
CISCO
Switch
Erkennt ohne Autonegotiation bei dem
Host die Geschwindigkeit.
Host gleich oder
weniger 100 Mbps
Switch stellt das "duplex level" automatisch auf "half duplex".
Duplex mismatch ist sehr schwer zu erkennen, weil:
Der Port funktioniert weiterhin.
Performance ist äußerst ineffizient.
Interface steht auf "Up, Up".
267
Port Bezeichnungen und Konsole Verbindungen
Wieso die Port Bezeichnung "fast 0/1":
Geschwindigkeit Slot Trennzeichen Port
Fast 0 / 1
Slot ist wegen modularen Switchen genormt worden - für alle Switche.
Konsolen Port:
Welches Kabel ist standardgemäß für die Konsole gedacht:
Rollover-Cable (Alle Pins auf der Gegenseite sind gespiegelt)
Wie nennt man die Gegenseite noch (COM-Port)
DB9 Connector
BEFEHLE:
Einem SVI eine IP zuweisen.
SW1(config)#int vlan 1
SW1(config-if)#ip address 192.168.0.101 255.255.255.0
SW1(config-if)#no shut
268
Dem Switch das Default-Gateway eintragen
SW1(config)#ip default-gateway 192.168.0.1
Auslesen der Routing-Tabelle
SW1(config)#show ip route
Standard SVI deaktivieren
SW1(config)#int vlan 1
SW1(config-if)#no ip add
SW1(config-if)#shut
Eigenes SVI erstellen
SW1(config)#int vlan 10
SW1(config-if)#ip address 192.168.0.101 255.255.255.0
SW1(config-if)#shut
SW1(config-if)#no shut
Öffnen der Konfiguration - Telnet Ports
SW1(config)#line vty 0 15
Mehrere Ports gleichzeitig bearbeiten
SW1(config)#int range fastEthernet 0/12-24
Beschreibung hinzufügen
SW1(config-if-range)#description Nicht starten ohne Ruecksprache mit mir
269
6. TCP, UDP UND DHCP, DNS, ARP
6.1 TCP GUT UND UDP SCHLECHT?
Bevor wir mit dem Routing weitermachen, begeben wir uns noch auf den
"layer" 4, den "transport layer" und damit für den Netzwerk-Administrator
den letzten relevanten Layer.
In dem TCP/IP Modell gibt es 5 Layer, wobei auf dem fünften Layer
(Application) die Anwendungen angesiedelt sind.
Hier arbeiten vorwiegend die Protokolle:
TCP - Transmission Control Protocol
UDP - User Datagram Protocol
Diese beiden Protokolle arbeiten sehr verschieden und haben beide ihre
vor und Nachteile. Machen wir uns also mit deren Anwendungszwecken
vertraut.
270
TCP
Was sind die Eigenschaften von TCP:
Es garantiert die Zustellung eines Segmentes.
Enthält Fehlererkennung und Wiederherstellung.
Führt "windowing" durch.
Ist verbindungs-orientiert, was bedeutet, dass es eine zwei Wege-
Verbindung ist, welche zwischen Sender und Empfänger
aufgebaut wird, noch bevor Daten gesendet werden.
UDP
Was sind die Eigenschaften von UDP:
Führt "best-effort" Übertragung aus.
Keine Fehlererkennung.
Kein "windowing".
Ist verbindungslos, es wird keine sichergestellte Verbindung
aufgebaut, bevor Daten gesendet werden, es sendet einfach nur.
271
GEGENÜBERSTELLUNG
Wenn wir uns diese beiden Protokolle ansehen, drängt sich der Gedanke
auf, wieso sollte ich überhaupt UDP verwenden, wenn TCP so viele Vorteile
bietet?
Vor allem der erste Punkt, die Sicherstellung, dass ein Segment zugestellt
wird.
UDP kommt, in der Regel, dort zum Einsatz, wo "delay-sensitive" Arten von
Netzwerk "traffic" auftauchen wie beispielsweise:
DHCP
Gespräche
Video Übertragungen
DER "THREE-WAY-HANDSHAKE"
Um die Notwendigkeit beider zu verdeutlichen, sehen wir uns einmal an,
wie TCP eine zwei Wege-Verbindung aufbaut.
Hier wird ein sogenannter: three-way-handshake durchgeführt.
272
273
Am Anfang sendet der Initiator ein TCP "segment", mit einer
Synchronisation "bit set".
SYN
Dieses enthält die TCP "sequence number".
Im zweiten Schritt wird ein:
SYN / ACK
Von dem Empfänger zurück an den Absender geschickt.
274
Um letzten Schritt sendet der Absender des "segment" noch einen ACK
zurück an den Empfänger des Segmentes.
Somit sendet:
Host A im ersten Schritt ein "SYN" an Host B
Host B sendet anschließend seinen "SYN" an Host A und bestätigt mit
"ACK" noch zusätzlich den Empfang des "SYN Bit sets" von Host A
Host A sendet ein "ACK" an "Host B" zurück um den Empfang des
"SYN Bit sets" und seinem "ACK" noch einmal final zu bestätigen.
275
TCP ERROR DETECTION UND RECOVERY
Der TCP "header" enthält separate Felder für eine "sequence number" und
"acknowledgement number", diese beiden erlauben es dem TCP Protokoll
zu erkennen, ob Segmente verloren gegangen sind. Dadurch ist es dem
Protokoll möglich, verloren gegangene Segmente erneut von dem Absender
anzufordern.
In meinem Beispiel sendet der Host A vier 2000 "byte" große Segmente
nach dem "three-way-handshake" an Host B. Die, in diesen Segmenten,
enthaltene "sequence number" macht es Host B möglich zu erkennen:
Fehlen mir Segmente.
In welcher Reihenfolge müssen diese verarbeitet werden.
Die "sequence numbers" in diesem Beispiel werdet ihr in einer echten
Verbindung so nicht sehen, es dient hier lediglich dem Verständnis.
276
Nachdem ein Segment bei Host B angekommen ist, sendet dieser ein ACK
zurück an Host A. Das verrät dem Absender zwei Dinge:
Der Empfänger hat das Segment erhalten.
Die "acknowledgement number" des Empfängers, welche
zurückgesendet wird, verrät dem Sender, ob bei der Übertragung
"segments" verloren gegangen sind und sendet diese erneut.
277
Wichtig zu wissen ist: Das ACK, welches zurückgesendet wird, hat nicht die
" acknowledgement number" des empfangenen Segments ! Es ist immer die
Nummer des nächsten erwarteten Segments.
278
6.1.1 WEITERE GEGENÜBERSTELLUNGEN
TCP WIEDERHERSTELLUNG
Wie funktioniert also die Fehlererkennung in der Praxis.
In diesem Beispiel erhält Host B die "segments" 2000, 4000 und 8000. Was
aber fehlt, ist das "segment" 6000!
Also sendet Host B nicht das ACK 10000 zurück, sondern 6000 da dieses
noch fehlt. Damit kann der Sender - Host A erkennen, dass dieses
"segment" nicht angekommen ist und es erneut senden.
279
Nachdem der Fehler korrigiert wurde, sendet Host B die
"acknowledgement number" des als nächsten erwarteten "segments",
welcher noch nicht empfangen wurde 10000.
FLOW CONTROL UND WINDOWING
Als ich mich das erste Mal mit TCP beschäftigt habe, war meine erste Frage,
woher weiß ich, wie viele SEQ gesendet werden, bevor ein ACK erwartet
wird?
Diese Frage ist sehr wichtig und glücklicherweise nicht schwierig zu
beantworten.
280
Bei dem vorhin erklärten "three-way-handshake" wird die Größe von einem
"window" vereinbart. Diese Vereinbarung zwischen den Hosts ist die
Nummer an "bytes", welche der Sender verschicken kann bevor er ein ACK
erwartet.
Frei nach dem Motto:
Zu beachten ist auch, dass dieses "window", beziehungsweise dessen Größe
dynamisch ist, wenn die Hosts am Anfang eine Größe von 4000
vereinbaren, können sie diese im Verlauf der Kommunikation auch auf 7000
oder dergleichen, hochsetzen. Hierbei entscheidet der Empfänger in einem
ACK die Größe des "windows".
Je nach Qualität der Verbindung kann dieser Wert steigen oder sinken.
281
DIE PROTOKOLL HEADER
Hier ein Schaubild des TCP Headers:
Hier ein Schaubild des UDP Headers:
282
Schnell zu erkennen ist, dass dem UDP Header die Felder für "window",
"SEQ" und "ACK" vollständig fehlen.
Dadurch ist das Protokoll wesentlich schneller, kann aber nicht
sicherstellen, ob auch alle Segmente angekommen sind.
Zusammenfassend kann man sagen:
Das TCP Protokoll ist hervorragend für alle sensiblen Daten. Vor allem
dann, wenn kein einziges Segment fehlen darf. Beispielsweise bei einer E-
Mail, sollten hier Daten fehlen, ist die E-Mail nicht mehr lesbar und somit
unbrauchbar. Im Gegensatz dazu sollte man TCP für einem Videostream
verwenden und würde ein Segment verloren gehen, würde das Video
stehen bleiben und auf das fehlerhafte Segment warten bis es weiterlaufen
kann.
UPD dagegen ist hervorragend, wenn etwas von den Daten fehlen darf,
beispielsweise bei einem Videostream. Dort fällt es gar nicht auf, wenn ein
kleiner Teil des Bildes für den Bruchteil einer Sekunde fehlerhaft ist.
Gemeinsam haben beide, dass sie auf dem vierten " layer" arbeiten und
"multiplexing" verwenden, was wir uns gleich anschauen werden.
283
6.1.2 FOUR-WAY-HANDSHAKE
Der "four-way-handshake" ist fast so aufgebaut, wie der "three-way-
handshake".
Allerdings stellt dieser das Ende einer Verbindung da.
Verbindung wurde hergestellt (3Wege) -> Alle Daten wurden übertragen ->
ENDE (4Wege).
Somit ist dieser nicht am Anfang der Kommunikation zu sehen, sondern erst
bei der Beendigung.
Hier wird, um die Verbindung zu beenden, ein:
FIN bit ("finish")
gesendet und damit das Verbindungsorientierte TCP/IP Protokoll
"geschlossen".
284
6.2 MULTIPLEXING
Wie behandelt ein Server "multible" und "simultaneous flows" von einem
Host?
Wie unterscheidet der Server also, dass der TFTP Flow zu einem FTP Service
muss und der HTTP zu einem Webserver?
Hier kommen die in der Netzwerk Welt sehr bekannten Portnummern in
das Spiel. Wir reden dabei nicht von den Port Nummern an einem Switch!
Es geht hier, um die Identifizierung der gewünschten Anwendung.
Jeder Service muss adressierbar sein, dafür hat man diesem Service
bestimmte Nummern zugewiesen, die Portnummern.
285
Die bekanntesten dürften unter anderem diese sein:
HTTP 80
HTTPS 443
FTP 21
SMTP 25
Wichtig ist nicht, dass ihr alle Ports kennt, viel wichtiger ist es zu wissen,
dass wir hier von den "well known ports" sprechen.
Bezeichnung Bereich
Well-known ports 0 bis 1023
Registered ports 1024 bis 49151
Dynamic ports 49152 bis 65535
Gleiche Ziel Adresse -> anderer Port.
286
Dank der Adressierbarkeit durch die Portnummern ist es möglich, das
sogenannte "multiplexing" überhaupt erst zu betreiben.
Negativ Beispiel:
Gäbe es keine Portnummern, müsste der Sender dem Empfänger im ersten
Schritt mitteilen:
Hey, jetzt kommen nur SMTP Daten. In dieser Zeit wäre es also nicht
möglich auch HTTP oder TFTP Daten zu senden.
Multiplexing bedeutet also, dass wir verschiedene Daten "gleichzeitig" -
durcheinander über das Netzwerk verschicken können.
287
SOCKET
Die Bezeichnung "socket" klingt vielleicht erst einmal nach etwas, wie
einem Switch-Port, ist aber eine logische Bezeichnung für die Kombination
aus Layer 3 und Layer 4
Es beinhaltet die IP-Adresse und den Port des gewünschten Dienstes. Wenn
wir uns an dem oberen Beispiel orientieren, nehmen wir einmal den Server
A und den Port von HTTP.
1. 10.1.1.2:80
2. 10.1.1.2, TPC, 80
Das zweite Format ist allerdings unüblich und sollte nur für die Prüfungen
im Hinterkopf behalten werden.
288
6.3 DNS UND ARP
DNS
DNS - Domain Name System
Das DNS ermöglicht es uns den Hostnamen, den wir beispielsweise in einen
Browser eintragen, in eine, für den Rechner verständliche IP Adresse
umzuwandeln.
Kurz gesagt: Wir müssen uns nicht die vielen IP Adressen, welche nicht
leicht zu merken sind, im Hinterkopf behalten, sondern haben den Luxus
uns nur die Namen merken zu müssen. Den Rest - die Übersetzung von
Namen in IP-Adresse übernimmt das DNS für uns.
289
Woher weiß "Host A" nun aber, wo der DNS Server steht?
Entweder ist der DNS Server statisch in der IP Konfiguration des Hosts
hinterlegt, oder er wird über das DHCP Protokoll dynamisch an die Hosts
verteilt.
Diese Einstellung ist pro Host zu treffen - statisch oder dynamisch.
In Windows kann diese Konfiguration mit:
"ipconfig /all"
ausgelesen werden und ist unter dem Punk "DNS-Server" zu finden:
DNS-Server . . . . . . . . . . . : 192.168.1.1
ARP
Da wir nun geklärt haben, wie die Kommunikation auf dem "layer" 3 mit
DNS aufgebaut werden kann, können wir nun auf den "layer" 2 gehen und
herausfinden, wie "Host A" die MAC Adresse von "Host B" herausfindet.
ARP - Address Resolution Protocol
Das ARP Protokoll hat nicht, wie DNS, einen Server in dem Netzwerk
stehen, welcher die Adressen verwaltet.
Es verwendet eine Serie von "broadcasts", sowie "repleis" und speichert die
daraus gewonnene Information in einem "cache" auf dem Gerät.
290
Somit ist die ARP Tabelle auf einem Host immer auf die "broadcast domain"
beschränkt, in der sich dieser befindet. Dem Gegenüber gestellt, kann ein
DNS Server über diese hinaus, die Namen für den Host auflösen.
In Windows kann die ARP Tabelle mit diesem Befehl ausgegeben werden:
"arp -a"
Schnittstelle: 192.168.1.2 --- 0x14
Internetadresse Physische Adresse Typ
192.168.1.1 08-96-d7-a9-ba-bd dynamisch
192.168.1.3 00-08-9b-cf-4d-60 dynamisch
Sollte nun Host A keinen Eintrag von Host B in seiner ARP Tabelle haben,
sendet dieser einen "ARP request" zu der "layer" 2 "broadcast" Adresse (ff-
ff-ff-ff-ff-ff).
Dieser "request" beinhaltet die IP Adresse von Host B, welche wir bereits
durch den DNS Server herausgefunden haben. Dadurch weiß Host B, dass
seine MAC Adresse gesucht wird und antwortet auf den "request".
Die ARP Tabelle kann natürlich auch auf einem Switch abgefragt werden:
SW1#show ip arp
6.4 DNS AUF DEM ROUTER
291
NAMENSAUFLÖSUNG AUF EINEM ROUTER
Wir müssen nicht zwangsläufig einen Dienst wie DNS verwenden, denn der
Router prüft im ersten Schritt immer seine statische "host table". In dieser
können Host Namen und IP-Adressen hinterlegt werden.
Persönlich kann ich dies nicht empfehlen, da sich Einträge nicht dynamisch
aktualisieren können und damit eine Fehlerquelle darstellen.
STATISCHE HOST EINTRÄGE
Bei einem solchen Eintrag benötigt ihr den Namen und mindestens eine IP
Adresse. Es können bis zu acht IP Adressen für einen Namen hinterlegt
werden. Diese sind mit einem Leerschritt zu trennen:
R1(config)#ip host Server 192.168.2.1 192.168.1.1
292
DNS SERVER HINTERLEGEN
Die sinnvollere Variante ist einen DNS Server auf den Router zu hinterlegen.
Dieser verwaltet zentralisiert und in der Regel auch dynamisch seine
Einträge. Damit können wir ausschließen, dass wir mit veralteten IP
Adressen oder Host Namen arbeiten.
R1(config)#ip domain-lookup
Diese Eingabe aktiviert den DNS Client auf dem Router:
R1(config)#ip domain-name cisco.com
Gibt den Namen der Domain an.
R1(config)#ip name-server 192.168.2.1
Legt die IP-Adresse des Servers fest, auf welchem der DNS Service läuft.
293
6.4 DHCP BASISWISSEN
Jetzt da wir wissen, dass DHCP die Adressen verteilt, müssen wir noch
herausfinden, wie DHCP eigentlich funktioniert.
DHCP - Dynamic Host Configuration Protocol
Was muss der Host also alles von dem DHCP Server wissen?
Was ist meine IP-Adresse.
Was ist meine Subnetz Maske.
Was ist die IP-Adresse des DNS Servers.
Was ist mein Default Gateway.
Es gibt vier "message types", welche bei der Anfrage nach einer Adresse
ausgetauscht werden:
Discover
Offer
Request
Acknowledgement
294
Zu erwähnen ist auch, dass bei einer Prüfung, die Beschreibungen der DHCP
Pakete in der Regel groß und zusammengeschrieben werden.
"DHCPDISCOVER", "DHCPOFFER", etc…
Ich habe es hier für die Lesbarkeit etwas freundlicher für die Augen
auflisten.
ANFRAGE FÜR DHCP
1. Der Discover für DHCP findet auf dem "layer" 3 statt und verwendet
die IP "broadcast" Adresse 255.255.255.255. Damit ruft der Host im
gesamten Netzwerk nach dem DHCP Server.
2. Wenn der DHCP nun ein Offer an den Host zurücksendet, hat dieser
folgende Informationen:
o Die IP-Adressen.
o Die Netzwerk Maske.
o Die Zeit, wie lange diese gültig sind (lease).
o Die IP-Adresse des DHCP Servers der den Offer sendet.
295
Sollten in dem Netzwerk mehrere DHCP Server stehen, wird der Host
den zuerst ankommenden Offer annehmen .
3. Sobald der Host diesen Prozess abgeschlossen hat, sendet er einen
"request" via "broadcast" in das Netzwerk, welcher angibt von
welchem Server er den "offer" angenommen hat. Damit wissen die
DHCP Server, welche Adresse von dem Host angenommen wurde.
Frei nach dem Motto:
Ich habe das "offer" von dem DHCP Server x angenommen.
4. Am Ende wird der Server diesen Prozess abschließen, in dem er eine
Acknowledgement an den Host zurücksendet, welcher die
abschließenden Informationen für den Host beinhaltet.
6.4.1 DHCP EINRICHTEN
DHCP SERVER AUF EINEM CISCO ROUTER?
Einen DHCP Server auf einem CISCO Router zu betreiben, ist zwar nicht
üblich, kann allerdings durchaus sinnvoll sein. Diese Entscheidung gilt es
immer anhand der Größe und dem vorhandenen Equipment abzuwägen.
296
DHCP KONFIGURIEREN
Beginnen wir damit uns die Optionen für diesen Dienst anzusehen:
R1(config)#ip dhcp ?
excluded-address Prevent DHCP from assigning certain addresses
pool Configure DHCP address pools
relay DHCP relay agent parameters
Ich erstelle im ersten Schritt einen IP Adressen "pool" für die Hosts:
R1(config)#ip dhcp pool ?
WORD Pool name
R1(config)#ip dhcp pool HOSTs ?
<cr>
297
Jetzt da wir diesen erstellt haben, gilt es noch diesen zu konfigurieren.
Dabei lege ich das "default gateway", das Netzwerk, sowie den DNS Server
fest:
R1(dhcp-config)#?
default-router Default routers
dns-server Set name server
domain-name Domain name
exit Exit from DHCP pool configuration mode
network Network number and mask
no Negate a command or set its defaults
option Raw DHCP options
R1(dhcp-config)#default-router 192.168.2.254
R1(dhcp-config)#dns-server 192.168.2.1
R1(dhcp-config)#network 192.168.2.0 255.255.255.0
Damit ist die Grundkonfiguration des "pools" bereits abgeschlossen. Jetzt
gilt es noch zu definieren, welche Adressen von dem DHCP Server nicht
vergeben werden dürfen.
R1(dhcp-config)#exit
R1(config)#ip dhcp excluded-address 192.168.2.1 192.168.2.150
R1(config)#ip dhcp excluded-address 192.168.2.200 192.168.2.254
298
Durch diese Konfiguration werden nur noch IP-Adresse in dem Bereich:
192.168.2.151 bis 192.168.2.199 vergeben. Kontrolliert dies am besten, in
dem ihr einen Client in das Netzwerk hängt und diesen auf DHCP stellt.
DHCP ROUTEN
Da das Protokoll DHCP via "boradcast" arbeitet, kann dieses nicht über den
ersten Router hinaus gehen und somit die dort liegenden Hosts nicht mit
Adressen versorgen. Sollten wir nun einen eigenständigen DHCP Server in
unserem Netzwerk haben und IP Adressen über einen Router hinweg
299
verteilen wollen, benötigen wir ein "relay". Dieses wird auf der "interface"
Ebene in Richtung der Hosts definiert.
R1(config-if)#ip helper-address 192.168.2.1
Die einzige Angabe, die ihr tätigen müsst, ist die IP-Adresse des DHCP
Servers.
300
BONUS 6: CHEATSHEET
TCP gut und UDP schlecht?
TCP - Transmission Control Protocol
UDP - User Datagram Protocol
TCP
Es garantiert die Zustellung eines Segmentes.
Enthält Fehlererkennung und Wiederherstellung.
Führt "windowing" durch.
Ist verbindungs-orientiert.
UDP
Führt "best-effort" Übertragung aus.
Keine Fehlererkennung.
Kein "windowing".
Ist verbindungslos.
301
three-way-handshake
Starten einer TCP zwei Wege Verbindung
Fehlererkennung
Das ACK, welches zurückgesendet wird, hat nicht die " acknowledgement
number" des empfangenen Segments ! Es ist immer die Nummer des
nächsten erwarteten Segments.
Flow Control und windowing
Bei dem "three-way-handshake" wird die Größe von einem "window"
vereinbart. Diese Vereinbarung zwischen den Hosts ist die Nummer
302
von "bytes", die der Sender verschicken kann, bevor er ein ACK
erwartet.
Der Empfänger entscheidet über die dynamische Größe des "window"
Die Größe ändert der Empfänger je nach Qualität der Verbindung
TCP Header
UDP Header
four-way-handshake
Beendet die TCP Verbindung mit einem FIN Bit (finish)
303
Port Nummern
Bezeichnung Bereich
Well-known ports 0 bis 1023
Registered ports 1024 bis 49151
Dynamic ports 49152 bis 65535
Multiplexing
Mehrere verschiedene Protokoll Typen können durcheinander gesendet
werden. Diese werden von dem Empfänger anhand der Portnummern
zugewiesen.
Socket
Ist eine Bezeichnung für die Schreibweise für: IP und Anwendung
10.1.1.2:80
Gelegentlich wird diese auch anders geschrieben.
10.1.1.2, TPC, 80
304
DNS
DNS - Domain Name System
Arbeitet auf Layer 3
Auflösung Namen in IP-Adresse
Zentralisierte Auflösung
Anfragen zu einem Server
ARP
ARP - Address Resolution Protocol
Arbeitet auf Layer 2
Auflösung IP in MAC Adresse
Lokale Auflösung mit cache Tabelle
Anfragen via. Broadcast in das Netzwerk
Anfrage enthält IP des gesuchten Hosts, damit diese weiß, dass er
angesprochen wird.
305
DHCP
Was muss der Host von dem Server wissen?
Was ist meine IP-Adresse
Was ist meine Subnetz Maske
Was ist die IP-Adresse des DNS Servers
Was ist mein Default Gateway
Die vier " message types "
Discover
Broadcast in das Netzwerk 255.255.255.255 wer ist mein DHCP Server
Offer
Grundlegende IP-Konfiguration für den Host des Servers.
o Die IP-Adressen.
o Die Netzwerk Maske.
o Die Zeit, wie lange diese gültig sind (lease).
o Die IP-Adresse des DHCP Servers der den Offer sendet.
Es wird immer das erste "offer" angenommen.
Request
Host sendet einen "broadcast" in das Netzwerk, welchen "offer" er
angenommen hat.
306
Acknowledgement
Server bestätigt dem Host seinen "request" und sendet die
verbleibenden Informationen.
BEFEHLE:
Listet die ARP Tabelle auf einem Switch auf.
SW1#show ip arp
307
7. STATISCHE ROUTEN - ERWEITERT
7.1 FRAME RELAY
Um zu verstehen, worum es bei einem "frame relay" geht, bearbeite ich
hier vier Punkte:
Packet-Switching
Vorteile von Frame-Relay
Frame-Relay Operation
Virtual Circuits
Allerdings sind diese "frame relays" nicht mehr aktuell und werden in
Prüfungen nicht behandelt. Es geht mir bei diesem Abschnitt lediglich
darum, euch auf die in der realen Welt vorhandenen Netzwerke
vorzubereiten.
308
POINT-TO-POINT CIRCUIT
Nehmen wir eine einfache "Punkt zu Punkt" Verbindung und visualisieren
diese:
Das ist erst einmal völlig in Ordnung. Was passiert aber, wenn die Firma
weitere Standorte bekommt und wir plötzlich dieses Szenario haben?
Was nun passiert ist, dass die Router-Netzwerke nur noch mit oder über
Router A kommunizieren können. Es besteht keine direkte Verbindung von
Router B zu Router C!
309
FRAME RELAY
Ein Frame Relay zentralisiert ein solches Szenario mit einem Cloud Service
Provider, welcher die Wege logisch für uns verwaltet.
310
7.1.1 PACKET TRACER FRAME RELAY AUFBAUEN
R1 CONFIGURATION
R1(config)#int serial 0/0/0
R1(config-if)#encapsulation frame-relay
R1(config-if)#int s0/0/0.102 point-to-point
R1(config-subif)#frame-relay interface-dlci 102
R1(config-subif)#ip address 172.20.1.1 255.255.255.252
R1(config-subif)#int s0/0/0.103 point-to-point
R1(config-subif)#frame-relay interface-dlci 103
R1(config-subif)#ip address 172.20.3.2 255.255.255.252
R1(config-subif)#int s0/0/0
R1(config-if)#no shut
R2 CONFIGURATION
R2(config)#int s0/0/0
R2(config-if)#encapsulation frame-relay
R2(config-if)#int s0/0/0.201 point-to-point
R2(config-subif)#frame-relay interface-dlci 201
R2(config-subif)#ip address 172.20.1.2 255.255.255.252
R2(config-subif)#int s0/0/0.203 point-to-point
R2(config-subif)#frame-relay interface-dlci 203
R2(config-subif)#ip address 172.20.2.1 255.255.255.252
R2(config-subif)#int s0/0/0
R2(config-if)#no shut
311
R3 KONFIGURATION
R3(config)#int s0/0/0
R3(config-if)#encapsulation frame-relay
R3(config-if)#int s0/0/0.301 point-to-point
R3(config-subif)#frame-relay interface-dlci 301
R3(config-subif)#ip address 172.20.3.1 255.255.255.252
R3(config)#int s0/0/0.302 point-to-point
R3(config-subif)#frame-relay interface-dlci 302
R3(config-subif)#ip address 172.20.2.2 255.255.255.252
R3(config-subif)#int s0/0/0
R3(config-if)#no shut
Wenn ihr, wie ich, den Cisco 1841 Router verwendet, müsst ihr diesen
ausschalten und das Modul:
HWIC-2T
hinzufügen, ansonsten sind keine Serial-Ports verfügbar!
SERVICE PROVIDER CONFIG
Zu Beginn müsst ihr alle Router mit der "frame relay Service provider cloud"
verbinden über ein:
Serial DCE Kabel
312
Anschließend sind noch die definierten DLCIs in der "provider cloud", auf
den verbundenen serial "interfaces" zu hinterlegen.
Serial1:
DLCI Name
102 R1-R2
103 R1-R3
313
Serial2:
DLCI Name
201 R2-R1
203 R2-R3
Serial3:
DLCI Name
301 R3-R1
302 R3-R2
FRAME RELAY KONFIGURATION
Port Sublink To Port Sublink
Serial1 R1-R2 Serial2 R2-R1
Serial1 R1-R3 Serial3 R3-R1
Serial2 R2-R3 Serial3 R3-R2
314
315
7.2 TOPOLOGIE, PINGS UND HAS NETZWERKE
Lab Download
verfügbar
Es gibt vier verschiedene Arten von Routen:
"regular" static routes.
Host bezogene statische Routen ("host routes").
Floating static routes.
Default static routes.
316
LOOPBACK ADRESSE
Die "loopback interfaces" sind logische "interfaces".
Sie werden nicht mit einem Switch oder Router verbunden, denn diese
haben ganz einfach keinerlei Verbindung. Es werden noch viele Beispiele für
die praktische Anwendung eines Loopbacks kommen, hier geht es erst
einmal darum, mehrere Netzwerke künstlich zu erzeugen.
Definieren der Loopback "Netzwerke" auf R1, R2 und R3:
R2(config)#int loopback2
R2(config-if)#
%LINK-5-CHANGED: Interface Loopback2, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback2, changed state to up
R2(config-if)#ip address 2.2.2.2 255.255.255.0
317
Der Loopback kann einfach mit einem "int" angelegt werden und versetzt
sich auch selbstständig in den Zustand "Up, Up". Alles, was noch zu tun ist,
ist eine IP Adresse zu vergeben.
R2#show int loopback2
Loopback2 is up, line protocol is up (connected)
Hardware is Loopback
Internet address is 2.2.2.2/24
MTU 1514 bytes, BW 8000000 Kbit, DLY 5000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation LOOPBACK, loopback not set
Wenn wir uns das erstellte Interface mit "show" ansehen, werden wir
feststellen, dass alles wie gehabt aussieht, lediglich der Punkt " Hardware "
steht auf " Loopback " .
Um ein "loopback" Netzwerk wieder zu löschen, wird der gleiche Befehl,
wie für die Erstellung verwendet, allerdings noch ein "no" davorgesetzt:
R2(config)#no int loopbackXX
318
7.2.1 PRAXIS ÜBUNG
Lab Download
verfügbar
KONFIGURATION
In diesem Lab gibt es einen R1 (Hub) Router und einen R2 (Spoke) Router,
welche beide an einer Provider Cloud hängen:
R1 Loopback1 - 1.1.1.1/24:
Lokaler Port Cloud Port DLCI IP
S0/0/0 1 103 172.2.123.1/24
R2 Loopback2 - 2.2.2.2/24:
Lokaler Port Cloud Port DLCI IP
S0/0/0 2 203 172.2.123.2/24
319
PRAXIS
Starten wir mit einem einfachen Verbindungstest und prüfen einmal unsere
Verbindungen, indem wir alle uns bekannten IP-Adressen Pingen:
172.2.123.1
172.2.123.2
1.1.1.1
2.2.2.2
R1
R1#ping 172.2.123.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.2.123.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/10/17 ms
R1#ping 172.2.123.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.2.123.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/6/11 ms
320
R1#ping 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/6 ms
R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Wir können alle IP-Adressen auf der Seite des Routers 1 und die Serial Port
IP-Adresse von Router 2 Pingen. Was jedoch nicht möglich ist, ist das
Pingen der Loopback2 IP-Adresse von Router 2.
Wie finden wir heraus: Wieso?
321
Sehen wir und die "routing"-Tabelle von Router 1 an:
R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback1
172.2.0.0/24 is subnetted, 1 subnets
C 172.2.123.0 is directly connected, Serial0/0/0.103
In unserer Ping Anfrage zu der Adresse 2.2.2.2 hat der Router in der Tabelle
nach dem "best match" gesucht. Gefunden hat er allerdings nichts, nichts
was ihm weiterhilft. Es werden aktuell nur die Netze 1.1.1.0 und
172.2.123.0 "geroutet".
In der Realität werden die Probleme meist etwas komplexer, deshalb gehen
wir noch auf ein sehr praktisches "debuging feature" von IOS ein.
R1#debug ip packet
Packet debugging is on
322
Durch das Aktivieren des "debugings" ist es uns jetzt möglich genau
nachzuvollziehen, was tatsächlich nicht funktioniert. Testen wir das mit
einer Adresse, von der wir wissen, dass sie erreichbar ist.
R1#ping 172.2.123.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.2.123.2, timeout is 2 seconds:
IP: tableid=0, s=172.2.123.1 (local), d=172.2.123.2 (Serial0/0/0.103), routed via RIB
IP: s=172.2.123.1 (local), d=172.2.123.2 (Serial0/0/0.103), len 128, sending
!
IP: tableid=0, s=172.2.123.2 (Serial0/0/0.103), d=172.2.123.1 (Serial0/0/0.103), routed via RIB
IP: s=172.2.123.2 (Serial0/0/0.103), d=172.2.123.1 (Serial0/0/0.103), len 128, rcvd 3
IP: tableid=0, s=172.2.123.1 (local), d=172.2.123.2 (Serial0/0/0.103), routed via RIB
IP: s=172.2.123.1 (local), d=172.2.123.2 (Serial0/0/0.103), len 128, sending
!
IP: tableid=0, s=172.2.123.2 (Serial0/0/0.103), d=172.2.123.1 (Serial0/0/0.103), routed via RIB
IP: s=172.2.123.2 (Serial0/0/0.103), d=172.2.123.1 (Serial0/0/0.103), len 128, rcvd 3
323
IP: tableid=0, s=172.2.123.1 (local), d=172.2.123.2 (Serial0/0/0.103), routed via RIB
IP: s=172.2.123.1 (local), d=172.2.123.2 (Serial0/0/0.103), len 128, sending
!
IP: tableid=0, s=172.2.123.2 (Serial0/0/0.103), d=172.2.123.1 (Serial0/0/0.103), routed via RIB
IP: s=172.2.123.2 (Serial0/0/0.103), d=172.2.123.1 (Serial0/0/0.103), len 128, rcvd 3
IP: tableid=0, s=172.2.123.1 (local), d=172.2.123.2 (Serial0/0/0.103), routed via RIB
IP: s=172.2.123.1 (local), d=172.2.123.2 (Serial0/0/0.103), len 128, sending
!
IP: tableid=0, s=172.2.123.2 (Serial0/0/0.103), d=172.2.123.1 (Serial0/0/0.103), routed via RIB
IP: tableid=0, s=172.2.123.1 (local), d=172.2.123.2 (Serial0/0/0.103), routed via RIB
IP: s=172.2.123.1 (local), d=172.2.123.2 (Serial0/0/0.103), len 128, sending
!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/4/7 ms
R1#
IP: tableid=0, s=172.2.123.2 (Serial0/0/0.103), d=172.2.123.1 (Serial0/0/0.103), routed via RIB
IP: s=172.2.123.2 (Serial0/0/0.103), d=172.2.123.1 (Serial0/0/0.103), len 128, rcvd 3
324
Um dieses Feature zu deaktivieren, gebt einfach folgendes ein:
R1#undebug all
Schauen wir uns einmal an, wie das Debugging auf unser Loopback2
Netzwerk aussieht:
R1#undebug all
All possible debugging has been turned off
R1#debug ip packet
Packet debugging is on
R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
IP: s=0.0.0.0 (local), d=2.2.2.2 len 128, unroutable
.
IP: s=0.0.0.0 (local), d=2.2.2.2 len 128, unroutable
.
IP: s=0.0.0.0 (local), d=2.2.2.2 len 128, unroutable
Success rate is 0 percent (0/3)
Und hier erhalten wir eine sehr eindeutige Fehlermeldung von dem
"debugging", das Paket ist schlicht und einfach nicht "routbar". Also wissen
325
wir jetzt, was wir zu tun haben. Es muss eine Route für das Loopback
eingerichtet werden.
In diesem Beispiel muss ich nach der "prefix mask" noch das Ziel angeben,
es kann entweder der Ausgang meines Routers sein (172.2.123.1), oder der
nächste Hob. Da es hier nur einen gibt und dieser bereits das Ziel ist,
entscheide ich mich dafür, nach der "prefix mask" den Ziel Router
anzugeben.
326
R1(config)#ip route 2.2.2.2 ?
A.B.C.D Destination prefix mask
R1(config)#ip route 2.2.2.2 255.255.255.255 ?
A.B.C.D Forwarding router's address
Dialer Dialer interface
Ethernet IEEE 802.3
FastEthernet FastEthernet IEEE 802.3
GigabitEthernet GigabitEthernet IEEE 802.3z
Loopback Loopback interface
Null Null interface
Serial Serial
Vlan Catalyst Vlans
R1(config)#ip route 2.2.2.2 255.255.255.255 172.2.123.2
R1(config)#exit
R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
1.0.0.0/24 is subnetted, 1 subnets
327
C 1.1.1.0 is directly connected, Loopback1
2.0.0.0/32 is subnetted, 1 subnets
S 2.2.2.2 [1/0] via 172.2.123.2
172.2.0.0/24 is subnetted, 1 subnets
C 172.2.123.0 is directly connected, Serial0/0/0.103
Damit ist die Konfiguration für diese "route" bereits abgeschlossen und wir
können nun erfolgreich das Loopback Netzwerk erreichen.
R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/5/12 ms
Wichtig! Sollte es mehr als einen Hob geben, muss diese "route" natürlich
auch auf den verbleibenden Hobs konfiguriert werden!
Wie wir bereits in 4.5 Überblick Statische Routen gesehen haben, können
wir auch einfach eine statische Route verwenden und den Router 2 als
unser "last resort gateway" angeben. Diese Methode ist allerdings eher
unschön.
328
Wieso wir das nicht gemacht haben und was die vor und Nachteile von
statischen Routen sind, schauen wir uns jetzt noch an.
Der Vorteil von dynamischen "routes" gegenüber den statischen ist relativ
simpel. Die dynamischen "routing" Protokolle erlauben es uns ein Netzwerk
leichter zu vergrößern, kurz um es ist skalierbarer.
329
BONUS 7: CHEATSHEET
BEFEHLE:
Erstellen eines Loopbacks
R2(config)#int loopback2
IP-Adresse einem Loopback zuweisen
R2(config-if)#ip address 2.2.2.2 255.255.255.0
Loopback löschen
R2(config)#no int loopbackXX
Ping debuggen
R1#debug ip packet
Alle Debugg Modi deaktivieren
R1#undebug all
Statische Route definieren
R1(config)#ip route <Interface> 255.255.255.255 <Nächster Hop>
330
8. DISTANCE VECTOR UND RIP V2
8.1 EINFÜHRUNG IN - DISTANCE VECTOR PROTOKOLLE
RIPV2
RIP Routing Information Protocol
RIP in der Version 2 ist das letzte aktuell noch verwendete "distance vector
protocol" auf dem Markt. Das Originalprotokoll RIP wurde so gut wie nie,
wenn überhaupt verwendet.
Das Ursprungs-Protokoll IGRP
IGRP - Interior Gateway Routing Protocol
wird heute ebenfalls nicht mehr verwendet, jedoch sein Nachfolger: EIGRP
EIGRP Enhanced Interior Gateway Routing Protocol
RIP werden wir mit Sicherheit in der Prüfung sehen und ist auch in
moderneren Netzwerken nicht weg zu denken.
Das Problem mit RIPv1 und IGRP war:
331
Sie senden ein "full routing update" in einem fixen Intervall (RIPv2
ebenfalls)
Das klingt erst einmal nicht schlecht, jedoch ist der Standard-
Intervall bei RIP 30 Sekunden.
Verstehen keine "subnet masks"
Es ist keine "packet authentication" möglich.
ROUTING LOOPS
Routing Loops Passieren auf Layer 3
Switching Loops Passieren auf Layer 2
Ein "routing loop" geschieht, wenn Pakete auf ihrem Weg zu deren Ziel in
einem "logical loop" enden, anstatt an deren Ziel gesendet zu werden. Die
gleich folgenden "DV protocol behaviors" wurden entwickelt, um diese
" routing loops " zu stoppen .
Diese sind sehr gut und zuverlässig, können aber unter bestimmten
Umständen auch ernsthafte Kopfschmerzen verursachen.
332
SPLIT HORIZON
Ist ein Beispiel für ein "DV protocol behaviors" und hat eine relativ simple
Regel-Struktur.
Eine Route kann nicht über ein "interface" empfohlen werden, wenn dies
dasselbe "interface" ist, welches die "route" am Anfang gelernt hat.
ROUTE POISONING
Wenn alle Router in unserem Netzwerk sich einig geworden sind (Die
"routes" die verfügbar sind), erreichen unsere Router den folgenden
Zustand:
"state of convergence".
Einer der Hauptgründe, warum man nicht sehr viele "distance vector
routings" in einer produktiven Umgebung sieht, ist leicht erklärt. Die "DV
protocols" sind sehr langsam und das nicht nur in einer produktiven
333
Umgebung, das kann auch schon bei einer drei Router-Konfiguration
innerhalb eines Labs spürbar werden.
8.1.1 ROUTE POISONING
Das RIP Protokoll (basierend auf dem Bellman-Ford Algorithmus), egal in
welcher Version, bietet standardgemäß keiner Möglichkeit die Prioritäten
des Routings anhand der Verbindungs-Geschwindigkeit festzulegen.
Stattdessen arbeitet RIP mit den Hobs als Kriterium. Es nimmt damit den
Weg mit den wenigsten Hobs. In dem Beispiel oben, würde RIP also beide
Verbindungen als "gleich gut" bewerten.
334
WAS IST ROUTE POISONING
In diesem einfachen Beispiel ist Router 3 mit dem Netzwerk 10.1.1.0 /24
verbunden.
Wie oben erklärt, arbeitet ein "distance vector" Protokoll mit Hops.
Oben frägt Router 1 die beiden benachbarten Router 2 und 3 nach dem
kürzesten Weg und bekommt die folgenden Antworten:
Router 2: Das Netzwerk ist von mir 2 Hops entfernt
Router 3: Das Netzwerk ist von mir 1 Hop entfernt
Somit ist für Router 1 klar, dass er das Paket über Router 3 versenden wird.
Soweit klingt alles sehr gut und das ist es auch. Also wofür brauchen wir
dieses "route poisoning"?
335
Es ist nur so lange gut, wie die "route" auf dem Router 3 auch existiert. Ich
entferne diese einmal und bilde ab, wie sich die "routing"-Tabellen dann
verhalten:
Router 3 hat das Netzwerk aus seiner Routing-Tabelle entfernt.
Router 2 hat das Netzwerk noch in seiner Routing-Tabelle.
Router 1 weiß von Router 2, dass dieses Netzwerk 2 Hops entfernt ist.
Diese Information leitet er an Router 3 weiter , da dieser das Netzwerk nicht
mehr kennt.
Dieser fügt es jetzt wieder seiner Routing-Tabelle hinzu und hängt noch
einen weiteren Hop an.
Das gleiche macht Router 3 natürlich, wenn er Router 2 diese Information
zurückkommen lässt.
336
Er erzählt ihm, dieses Netzwerk ist 4 Hops entfernt und schon sind wir in
einer logischen Schleife gefangen.
Das Ergebnis ist:
Das Netzwerk ist nicht mehr erreichbar.
Die Pakete werden zwischen den Routern im Kreis gesendet, bis diese
verworfen werden.
Was macht nun das Route Poisoning?
Das Netzwerk 10.1.1.0 wird nicht aus der Routing-Tabelle von Router 3
entfernt!
Router 3 "vergiftet" die Informationen, welche er an die anderen Router
sendet.
Wenn ein Netzwerk 16 Hops entfernt ist, gilt es als unerreichbar
" unreachable " . Genau diese Information sendet Router 3 bei der "route
poisoning":
337
Somit werfen alle hier aufgelisteten Router das Netzwerk aus ihren Routing-
Tabellen.
RIPV2
Das Protokoll RIP in der Version 2 sendet standardgemäß alle 30 Sekunden
ein Update seiner Routing Tabelle an die benachbarten Router.
Das klingt erst einmal nicht tragisch, wenn wir nun aber von 100 Einträgen
ausgehen, haben wir eine unnötig hohe Last auf dem Netzwerk und den
Routern.
EIGRP gegenübergestellt, sendet nur ein Update, wenn es auch eine
Änderung gegeben hat und dann auch nur diese Änderung.
Die vier größten Änderungen von RIPv1 zu RIPv2
Version 2 unterstützt "subnet masking".
Version 2 sendet "multicasts" auf 224.0.0.9 und nicht wie Version
1, welche "broadcasts" auf 255.255.255.255 sendet.
Version 2 unterstützt "update authentication".
Version 2 erlaubt eine manuelle Routen-Zusammenfassung durch
einen Admin.
338
8.2 RIP PRAXIS ÜBUNG - AKTIVIEREN RIPV2
Lab Download
verfügbar
Fangen wir direkt mit einem Kommando an:
R1#show ip protocols
Dieser Befehl zeigt euch alle laufenden IP Protokolle an. Wundert euch also
nicht, wenn ihr diesen Befehl das erste Mal in diesem Lab eingebt und keine
Ausgabe erfolgt. Das werden wir gleich ändern, denn wir aktivieren für
unser 172.12.123.0 Netzwerk das RIPv2 Protokoll. Auch hier werde ich die
Hilfe wieder für die Befehle verwenden, um einen ausreichenden Überblick
für die Konfiguration zu bekommen:
R1(config)#router rip ?
<cr>
R1(config)#router rip
R1(config-router)#network ?
A.B.C.D Network number
R1(config-router)#network 172.12.123.0 ?
<cr>
R1(config-router)#network 172.12.123.0
339
RIPv2 ist sehr simpel zu aktivieren und lässt uns in dessen Konfiguration
auch keinen Spielraum bei den Einstellungen. Wenn wir nun unsere
"running config" prüfen, könnte etwas Verwirrung aufkommen:
R1#show run
!
router rip
network 172.12.0.0
!
Es wird uns hier ein andere IP Adresse eingetragen. Woran liegt das?
Das Protokoll hält sich immer an die IP-Klassen 4.2 Öffentliche IP-Adressen
und erkennt, dass es sich hier um ein Klasse B Netzwerk handelt.
340
Jetzt da wir RIP aktiviert haben, schauen wir uns doch noch einmal den
Befehl: "show ip protocols" an.
R1#show ip protocols
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 2 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: rip
Default version control: send version 1, receive any version
Interface Send Recv Triggered RIP Key-chain
FastEthernet0/0 1 1 2
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
172.12.0.0
Passive Interface(s):
Routing Information Sources:
Gateway Distance Last Update
Distance: (default is 120)
Die Ausgabe sieht doch gleich ganz anders aus.
341
Wenn wir uns von oben nach unten durchlesen, erkennen wir die bereits
erklärten Eigenheiten von RIPv2. Ebenso das Senden der gesamten Routing
Tabelle alle 30 Sekunden. Wenn wir noch etwas weiterlesen, stellen wir
fest, dass der Router in der Standardkonfiguration RIP in der Version 1
sendet, aber beide Versionen empfängt.
RIPv2 muss auf den CISCO Geräten erst aktiviert werden. Wenn wir nur RIP
aktivieren, läuft dieses in der Version 1. Das wollen wir auf keinen Fall und
gehen gleich zurück in die Konfiguration:
R1(config)#router rip
R1(config-router)#version ?
<1-2> version
R1(config-router)#version 2 ?
<cr>
R1(config-router)#version 2
342
In der "router rip" Konfiguration können wir zwischen den beiden Versionen
wechseln.
R1#show ip protocols
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 16 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: rip
Default version control: send version 2, receive 2
Interface Send Recv Triggered RIP Key-chain
FastEthernet0/0 2 2
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
172.12.0.0
Passive Interface(s):
Routing Information Sources:
Gateway Distance Last Update
Distance: (default is 120)
343
8.3 RIP PRAXIS ÜBUNG - AUTOMATIC NETWORK SUMMARIZATION
Lab Download
verfügbar
AUTOMATIC NETWORK SUMMARIZATION
Sehen wir uns noch einmal die "show ip protocols" an, hier finden wir den
Eintrag: "Automatic network summarization is in effect". Diese Einstellung
wollen wir auf alle Fälle deaktivieren. Welche Auswirkungen das hat und
vor allem, wieso diese Einstellung deaktiviert werden soll (Sie ist
standardgemäß „An“), kommt erst in später in diesem Lab. Dies sei gesagt,
diese würde unsere Routing-Tabelle durcheinanderbringen.
344
R1#show ip protocols
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 16 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: rip
Default version control: send version 2, receive 2
Interface Send Recv Triggered RIP Key-chain
FastEthernet0/0 2 2
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
172.12.0.0
Passive Interface(s):
Routing Information Sources:
Gateway Distance Last Update
Distance: (default is 120)
345
Dann deaktivieren wir einmal die "Automatic network summarization"
R1(config)#router rip
R1(config-router)#no auto-s
R1(config-router)#no auto-summary ?
<cr>
R1(config-router)#no auto-summary
R1#
R1#show ip protocol
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 14 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: rip
Default version control: send version 2, receive 2
Interface Send Recv Triggered RIP Key-chain
FastEthernet0/0 2 2
Automatic network summarization is not in effect
Maximum path: 4
Routing for Networks:
172.12.0.0
Passive Interface(s):
Routing Information Sources:
Gateway Distance Last Update
Distance: (default is 120)
Jetzt, da die Konfiguration auf R1 fertig ist, starten wir mit den beiden
verbleibenden Routern, was nun wesentlich schneller geht.
346
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#no auto-summary
R2(config-router)#network 2.2.2.0
R2(config-router)#network 172.12.123.0
R3(config)#router rip
R3(config-router)#version 2
R3(config-router)#no auto-summary
R3(config-router)#network 3.3.3.0
R3(config-router)#network 172.12.123.0
347
RIP IN AKTION
Und fertig sind die beiden auch schon. Prüfen wir noch einmal die "show ip
protocol" Ausgabe von R1:
R1#show ip protocol
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 21 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: rip
Default version control: send version 2, receive 2
Interface Send Recv Triggered RIP Key-chain
FastEthernet0/0 2 2
Automatic network summarization is not in effect
Maximum path: 4
Routing for Networks:
172.12.0.0
Passive Interface(s):
Routing Information Sources:
Gateway Distance Last Update
172.12.123.2 120 00:00:10
172.12.123.3 120 00:00:20
Distance: (default is 120)
348
Es ist gut ersichtlich, dass nun R2 und R3 in der Liste aufgetaucht sind. Diese
haben für die Kontrolle ebenfalls die Information inne, wann das letzte
Update ausgetauscht wurde.
Das bedeutet wir können uns jetzt einmal die neu gelernten Routen auf R1
ansehen (die Loopback Netzwerke).
R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
2.0.0.0/24 is subnetted, 1 subnets
R 2.2.2.0 [120/1] via 172.12.123.2, 00:00:20, FastEthernet0/0
3.0.0.0/24 is subnetted, 1 subnets
R 3.3.3.0 [120/1] via 172.12.123.3, 00:00:06, FastEthernet0/0
172.12.0.0/24 is subnetted, 1 subnets
C 172.12.123.0 is directly connected, FastEthernet0/0
Diese sind an dem "R" für RIP, am Anfang der Zeile zu erkennen. Ebenfalls
sehen wir in der eckigen Klammer an zweiter Stelle die Anzahl der Hops,
nach denen das RIP Protokoll arbeitet. In unserem Fall ist es ein Hop bis zu
dem Ziel Netzwerk.
349
Wenn wir uns lediglich die "routing"-Tabelle, welche von RIP empfangen
wurde, ausgeben wollen, können wir den "show" Befehl noch erweitern:
R1#show ip route rip
2.0.0.0/24 is subnetted, 1 subnets
R 2.2.2.0 [120/1] via 172.12.123.2, 00:00:10, FastEthernet0/0
3.0.0.0/24 is subnetted, 1 subnets
R 3.3.3.0 [120/1] via 172.12.123.3, 00:00:19, FastEthernet0/0
Damit erhalten wir eine bessere Übersicht, was wir auf dem Router
konfiguriert haben und, was diese über RIP gelernt haben.
Sollten wir die empfangenen Routen von RIP, auf einem unserer Router
verwerfen wollen, gibt es auch dafür einen einfachen Befehl:
R1#clear ip route *
R1#show ip route rip
R1#
Keine Sorge! Dieser Befehl leert nur die dynamisch gelernten Routes.
350
8.4 AUTOSUMMARIZATION UND RIP ROUTEN
Lab Download
verfügbar
DAS PROBLEM MIT AUTOSUMMARIZATION
Wie vorhin versprochen, gehen wir jetzt einmal auf das Problem mit der
Autosummarization ein. Diese haben wir bis jetzt deaktiviert, was sich in
diesem Lab auf allen Routern ändert und zusätzlich löschen wir noch alle
unsere dynamisch gespeicherten Routen.
R1(config)#router rip
R1(config-router)#auto-summary
R1#clear ip route *
351
Autosummarization (Aus)
R1#show ip route rip
20.0.0.0/24 is subnetted, 4 subnets
R 20.1.1.0 [120/1] via 172.12.123.2, 00:00:09, FastEthernet0/0
R 20.2.1.0 [120/1] via 172.12.123.2, 00:00:09, FastEthernet0/0
R 20.3.1.0 [120/1] via 172.12.123.3, 00:00:23, FastEthernet0/0
R 20.4.1.0 [120/1] via 172.12.123.3, 00:00:23, FastEthernet0/0
Autosummarization (An)
R1#show ip route rip
R 20.0.0.0/8 [120/1] via 172.12.123.3, 00:00:04, FastEthernet0/0
[120/1] via 172.12.123.2, 00:00:14, FastEthernet0/0
Dadurch, dass diese Funktion angeschaltet wurde, hat der Router ein "load
balancing" aktiviert. Hierbei sieht er, dass das Netzwerk, welches für RIP ein
Klasse A Netz /8 ist, zusammengefasst werden kann, da er mehrere
mögliche Ziele mit diesem Netzwerk hat (R2 und R3).
Dem Protokoll ist es hier tatsächlich egal, dass die von uns verwendete
Netzwerkmaske eigentlich /24 ist.
352
Was daraus folgt ist, dass einige Pakete, wie gewünscht, ankommen werden
und andere nicht, da diese an den falschen Router gesendet werden. Dies
lässt sich mit dem uns bereits bekannten "debug" Befehl sehr gut
nachvollziehen.
R1#debug ip rip
RIP protocol debugging is on
R1#clear ip route *
R1#RIP: received v2 update from 172.12.123.2 on FastEthernet0/0
20.0.0.0/8 via 0.0.0.0 in 1 hops
RIP: received v2 update from 172.12.123.3 on FastEthernet0/0
20.0.0.0/8 via 0.0.0.0 in 1 hops
Nachdem der "debug" Modus für RIP aktiv war, habe ich die dynamischen
Routen einmal gelöscht. Anschließend sehen wir sofort, wie RIP uns die
Netze zusammenfasst.
WICHTIG! Dies geschieht nur, wenn die Netzwerke den gleichen Abstand an
Hobs haben. In unserem Fall ein Hob.
Zu beachten ist, dass die "autosummarization" immer auf den Geräten
deaktiviert werden muss, auf denen die Routen auch bereitgestellt werden.
Das bedeutet, in unserem Lab muss es lediglich auf R2 und R3 deaktiviert
werden.
353
8.5 PASSIVE INTERFACES
Lab Download
verfügbar
WIESO PASSIVE INTERFACES?
Wie bereits öfter angesprochen, sendet RIP in einem Abstand von 30
Sekunden seine gesamte Routing-Tabelle an alle benachbarten Router.
Wenn wir nun unser aktuelles Lab ansehen fällt auf, dass ich das
Loopback21 Netzwerk aufgelöst habe und nun auf: Fast 0/1 ein echtes
Netzwerk 20.1.1.0 /24 aufgebaut habe. Hinter diesem " interface" liegen ein
Switch und 3 Hosts. Diese sind natürlich fest in ihrem eigenen Netzwerk und
sollen nicht alle 30 Sekunden mit den Informationen von RIP belastet
werden.
Unsere Aufgabe ist also hier, das Interface Fast 0/1 als ein "passive
interface" zu konfigurieren, um unser Netzwerk und die Rechenleistung der
Geräte zu schonen.
354
Mein erster Gedanke war, so etwas definiert man sicherlich auf dem
"interface" selbst, was allerdings nicht der Fall ist. Diese Konfiguration
geschieht in dem Protokoll.
R2(config)#router rip
R2(config-router)#?
auto-summary Enter Address Family command mode
default-information
Control distribution of default information
distance Define an administrative distance
exit Exit from routing protocol configuration mode
Network Enable routing on an IP network
No Negate a command or set its defaults
passive-interface Suppress routing updates on an interface
redistribute Redistribute information from another routing protocol
timers Adjust routing timers
Version Set routing protocol version
Wieder zeigt uns die Hilfe, die von uns gewünschte Option "passive-
interface". Wenn wir uns die Optionen auf einen echten Router ansehen, ist
es fast etwas überwältigend. Ich kann euch gleich sagen, ihr werdet
wahrscheinlich niemals alle in eurer gesamten beruflichen Laufbahn
verwenden. Konzentriert euch also nur auf die wirklich relevanten, welche
auch in dem Packet Tracer eingepflegt sind.
355
356
R2(config-router)#passive-interface ?
Ethernet IEEE 802.3
FastEthernet FastEthernet IEEE 802.3
GigabitEthernet GigabitEthernet IEEE 802.3z
Loopback Loopback interface
Serial Serial
Vlan Vlan interface
default Suppress routing updates on all interfaces
Interessant ist hier die Anweisung "default", da diese alle interfaces an dem
Router in einen passiven Zustand versetzt. Diesen werden wir hier natürlich
nicht verwenden, man sollte sich diese Möglichkeit allerdings im Hinterkopf
behalten. Offensichtlich müssen wir "FastEthernet" und dazu noch den
entsprechenden Port 0/1 angeben.
Bevor wir diesen Befehl absetzen, schauen wir uns noch einmal kurz im
"debug modus" die "requests" an, wie diese mit einem aktiven Interface
aussehen.
357
R2#debug ip rip
RIP protocol debugging is on
R2#clear ip route *
R2#RIP: sending v2 update to 224.0.0.9 via Loopback22 (20.2.1.1)
RIP: build update entries
20.1.1.0/24 via 0.0.0.0, metric 1, tag 0
172.12.123.0/24 via 0.0.0.0, metric 1, tag 0
RIP: sending v2 update to 224.0.0.9 via FastEthernet0/0 (172.12.123.2)
RIP: build update entries
20.1.1.0/24 via 0.0.0.0, metric 1, tag 0
20.2.1.0/24 via 0.0.0.0, metric 1, tag 0
RIP: sending v2 update to 224.0.0.9 via FastEthernet0/1 (20.1.1.1)
RIP: build update entries
20.2.1.0/24 via 0.0.0.0, metric 1, tag 0
172.12.123.0/24 via 0.0.0.0, metric 1, tag 0
RIP: received v2 update from 172.12.123.3 on FastEthernet0/0
20.3.1.0/24 via 0.0.0.0 in 1 hops
20.4.1.0/24 via 0.0.0.0 in 1 hops
u all
All possible debugging has been turned off
Es ist sehr schnell ersichtlich, dass wir, wie bereits erwähnt, unsere Updates
völlig umsonst über dieses Interface verteilen.
R2(config)#router rip
R2(config-router)#passive-interface fastEthernet 0/1
358
Und jetzt noch einmal den "debug".
R2#clear ip route *
R2#debug ip rip
RIP protocol debugging is on
R2#clear ip route *
R2#RIP: sending v2 update to 224.0.0.9 via Loopback22 (20.2.1.1)
RIP: build update entries
20.1.1.0/24 via 0.0.0.0, metric 1, tag 0
172.12.123.0/24 via 0.0.0.0, metric 1, tag 0
RIP: sending v2 update to 224.0.0.9 via FastEthernet0/0 (172.12.123.2)
RIP: build update entries
20.1.1.0/24 via 0.0.0.0, metric 1, tag 0
20.2.1.0/24 via 0.0.0.0, metric 1, tag 0
R2#RIP: received v2 update from 172.12.123.3 on FastEthernet0/0
20.3.1.0/24 via 0.0.0.0 in 1 hops
20.4.1.0/24 via 0.0.0.0 in 1 hops
R2#u all
All possible debugging has been turned off
Jetzt erscheint das "interface" Fast 0/1 nicht mehr im "debug" von RIP und
wir haben sichergestellt, dass wir unser Netzwerk und unsere Hosts nicht
unnötig belastet werden. Ebenfalls erhalten wir damit einen neuen Eintrag
in "show ip protocols", welchen es erst dann gibt, wenn man ein passives
Interface definiert.
359
R2#show ip protocols
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 17 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: rip
Default version control: send version 2, receive 2
Interface Send Recv Triggered RIP Key-chain
Loopback22 2 2
FastEthernet0/0 2 2
Automatic network summarization is not in effect
Maximum path: 4
Routing for Networks:
20.0.0.0
172.12.0.0
Passive Interface(s):
FastEthernet0/1
Routing Information Sources:
Gateway Distance Last Update
172.12.123.3 120 00:00:23
Distance: (default is 120)
Solltet ihr mal einen Router vor euch haben mit zehn "interfaces" und ihr
wollt nur über einen einzelnen Port die RIP Updates verteilen und
empfangen, müsst ihr nicht neun Interfaces deaktivieren.
Es reicht völlig mit "default" im ersten Schritt alle zu deaktivieren und
anschließend den einen benötigten mit einem "no" wieder zu aktivieren.
360
R2(config)#router rip
R2(config-router)#passive-interface default
R2(config-router)#no passive-interface fastEthernet 0/1
8.6 ADMINISTRATIVE DISTANCES
ENTSCHEIDUNGEN TREFFEN
In unserem bisherigen Lab hatte der Router keine Entscheidungen zu
treffen, über welchen Weg er die Pakete weitersendet, da er immer nur
eine Quelle für Informationen hatte.
Gerade bei größeren Netzwerken kann ein Router mehrere Quelle haben
und muss deshalb die Entscheidung treffen, an welche Route er aus seiner
Routing-Tabelle versendet.
361
Das in diesem Schaubild EIGRP gelistet ist und noch nicht behandelt wurde,
ist erst einmal nicht interessant. Es geht darum, die Logik hinter den zu
treffenden Entscheidungen zu erklären.
longest match
In dem oberen Beispiel würde sich der Router für das EIGRP Update
entscheiden, da dessen Netzwerk ein "bit" größer ist. Der Router
entscheidet nach dem "longest match" Prinzip, da er hier "mehr" Netzwerk
in seiner Routing-Tabelle eintragen kann.
ABER! Die Route die RIP bereit stellt, wird nicht verworfen. Sie wird in die
"IP routing table" eingetragen, für den Fall, dass die EIGRP Route verloren
geht.
Wie entscheidet der Router, wenn beide die gleiche Subnetzmaske
haben?
362
ADMINISTRATIVE DISTANCES
Zum Einsatz kommt jetzt die "administrative distance". Die Logik, die hier
angewendet wird, ist der "Glaube"?! Das klingt gerade für die IT erst
einmal etwas seltsam.
Es geht darum, an welche Route der Router mehr glaubt. Ist für ihn EIGRP
oder RIP im Sinne der Zuverlässigkeit glaubhafter?
Einen Wert, den wir bei RIP in den letzten Labs immer wieder gesehen
haben, ist AD „administrative distances“ mit dem Wert 120, was der
Standard Wert von RIP ist. Ein Auszug mit den entsprechenden Tabellen-
Überschriften aus 8.4 Autosummarization und RIP Routen:
Typ Netzwerk AD Nächster Hop Zeit seit
dem
letzten
Update
Interface - Port
R 20.0.0.0/8 [120/1] via
172.12.123.3
00:00:04 FastEthernet0/0
Je kleiner der Wert der AD ist, desto glaubhafter ist die "route" für den
Router. Somit hat in diesem Fall EIGRP gewonnen.
Nur wieso? In diesem Fall und auch bei einer Prüfung müsst ihr immer von
den Standardwerten ausgehen, dieser steht bei EIGRP auf 90.
363
Auflistung einiger AD´s:
Connected 0
Static 1
EIGRP Summary 5
EIGRP Internal 90
OSPF 110
IS-IS 115
RIP (Beide Versionen) 120
EIGRP External 170
BGP Internal 200
Unknown (Untrusted!) 255
364
8.7 RIP PRAXIS ÜBUNG - LOAD BALANCING
Lab Download
verfügbar
NETZWERK AUFBAU
Das neue Netzwerk hat folgende Konfiguration:
RIPv2 ist auf allen Routern aktiviert
R1
RIP Network 172.12.123.0
No auto-summary
Fast 0/0 172.12.123.1 /24
R2
RIP Network 172.12.123.0
RIP Network 172.12.23.0
No auto-summary
Fast 0/0 172.12.123.2 /24
365
Fast 0/1 172.12.23.2 /24
R3
RIP Network 172.12.123.0
RIP Network 172.12.23.0
No auto-summary
Fast 0/0 172.12.123.3 /24
Fast 0/1 172.12.23.3 /24
R4
RIP Network 172.12.23.0
RIP Network 4.4.4.0
No auto-summary
Fast 0/0 172.12.23.4 /24
Fast 0/1 4.4.4.4 /24 - Passive Interface
Host1
Eth0 4.4.4.1 /24
366
TESTEN DER VERBINDUNGEN
Prüft bei jedem Netzwerk, welches ihr erweitern oder um konfigurieren
sollt, immer zuerst die Verbindungen. Der schnellste Weg ist einen Ping von
einem zum anderen Ende des Netzwerkes abzusetzen. Starten wir mit
einem Ping von R1 durch das gesamte Netzwerk zu Host1.
R1#ping 4.4.4.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 4.4.4.1, timeout is 2 seconds:
!!!!!
367
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/1 ms
Das ist erst einmal ein Superergebnis. Unser Ping funktioniert über alle
Netzwerkkomponenten hinweg. Wenn wir jetzt etwas genauer hinsehen,
stellen wir fest, der Ping kann zwei Wege nehmen. Entweder er geht über
R2 oder über R3.
Und damit sind wir auch schon über die Möglichkeiten von dem Ping Befehl
hinaus. Ein Ping kann nicht entscheiden oder wissen, über welche Route er
zu seinem Ziel gerät.
In unserer RIP Tabelle können wir ebenfalls sehen, dass es mehrere
Möglichkeiten gibt.
R1#show ip route rip
4.0.0.0/24 is subnetted, 1 subnets
R 4.4.4.0 [120/2] via 172.12.123.2, 00:00:01, FastEthernet0/0
[120/2] via 172.12.123.3, 00:00:27, FastEthernet0/0
172.12.0.0/24 is subnetted, 2 subnets
R 172.12.23.0 [120/1] via 172.12.123.2, 00:00:01, FastEthernet0/0
[120/1] via 172.12.123.3, 00:00:27, FastEthernet0/0
In der Standard-Konfiguration von RIP, kann das Load-Balancing maximal
vier "paths" aufnehmen.
368
Diese Limitierung können wir mit dem Befehl prüfen:
R1#show ip protocol
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 24 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: rip
Default version control: send version 2, receive 2
Interface Send Recv Triggered RIP Key-chain
FastEthernet0/0 2 2
Automatic network summarization is not in effect
Maximum path: 4
Routing for Networks:
172.12.0.0
Passive Interface(s):
Routing Information Sources:
Gateway Distance Last Update
172.12.123.2 120 00:00:05
172.12.123.3 120 00:00:20
Distance: (default is 120)
Sollte es den Bedarf geben, dass mehr als vier Wege mit Load-Balancing
möglich sind, können wir den Wert erhöhen oder sogar senken. Ich erhöhe
ihn beispielsweise auf acht:
R1(config)#router rip
R1(config-router)#maximum-path 8
Dieser Befehl ist nicht in dem CISCO Packet Tracer verfügbar.
369
Um zu erkennen, welchen Weg nun unsere Pakete geben, gibt es einen
weiteren Befehl: "trace route", welcher uns eine Übersicht über die
verwendete Route gibt.
8.7.1 RIP PRAXIS ÜBUNG - TRACE ROUTE
Lab Download
verfügbar
BEFEHLE FÜR TRACE ROUTE
Trace-Route auf dem PC ausführen.
In dem oben angehängten Lab haben wir einen PC. Von diesem aus werden
wir jetzt eine Trace Route an den Router R1 senden und uns das Ergebnis
einmal ansehen.
370
C:\>tracert 172.12.123.1
Tracing route to 172.12.123.1 over a maximum of 30 hops:
1 0 ms 1 ms 0 ms 4.4.4.4
2 0 ms 0 ms 0 ms 172.12.23.3
3 0 ms 0 ms 0 ms 172.12.123.1
Trace complete.
Wie in dieser Ausgabe zu sehen ist, hat die Abfrage den Weg über R3
genommen.
Trace-Route auf dem CISCO Switch
Auf dem Weg von R1 zu Host1 wurde der Weg über den Router R2 gewählt.
R1#traceroute 4.4.4.1
Type escape sequence to abort.
Tracing the route to 4.4.4.1
1 172.12.123.2
172.12.123.3
172.12.123.2
0 msec 1 msec 0 msec
2 172.12.23.4 0 msec 0 msec 0 msec
3 4.4.4.1 0 msec 0 msec 0 msec
371
Wenn wir nun eine erweiterte "trace-route" Abfrage machen wollen,
beispielsweise 10 Anfragen hintereinander senden, reicht es aus, wenn wir
in die CLI einfach nur: "traceroute" eingeben und anschließend die
Standardvorgaben Großteils mit [ENTER] bestätigen.
R1#traceroute
Protocol [ip]:
Target IP address: 4.4.4.1
Source address:
Numeric display [n]:
Timeout in seconds [3]:
Probe count [3]: 10
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Type escape sequence to abort.
Tracing the route to 4.4.4.1
372
8.8 VERSION MISMATCHES UND DEBUGGING
Lab Download
verfügbar
Hier haben wir wieder ein Lab, welches fast identisch zu dem aus 8.3 RIP
Praxis Übung - Automatic Network Summarization ist. Diese unterscheiden
sich lediglich darin, dass:
R1 explizit Version 1 von RIP konfiguriert wurde.
R2 explizit Version 2 von RIP konfiguriert wurde.
R3 keine Angabe zu der zu verwendenden Version gemacht wurde.
Prüfen wir auf dem Router R1 einmal die RIP Routen:
R1#show ip route rip
R 3.0.0.0/8 [120/1] via 172.12.123.3, 00:00:02, FastEthernet0/0
Es fällt direkt auf, dass wir hier lediglich die RIP Route von dem Router R3
empfangen haben, welcher keine explizite Version von RIP angegeben hat
373
und deshalb sowohl in der Version 1, als auch in der Version 2 seine Routen
sendet.
Dann sehen wir uns das einmal bei dem Router R2 an:
R2#show ip route rip
R2#
Dieser hat keine RIP Routen gespeichert, da Router R3 nur in der Version 1
durch eine nicht explizite Konfiguration sendet und Router R1 ausschließlich
auf Version 1 konfiguriert ist.
Nun, wie erkenne ich so eine fehlerhafte Konfiguration? Dafür verwenden
wir wieder die "debuging" Funktion:
R1#debug ip rip
R1#clear ip route *
R1#RIP: received v1 update from 172.12.123.3 on FastEthernet0/0
3.0.0.0 in 1 hops
RIP: ignored v2 packet from 172.12.123.2 (illegal version)
Der "debug" sagt uns direkt: Es handelt sich um die "falsche" Version, ich
lehne das Paket von R2 ab.
374
8.9 FLOATING ROUTE
Lab Download
verfügbar
SCENARIO
Wir haben hier sehr vereinfacht dargestellt, zwei Standorte, welche über
ein neues und ein altes Netzwerk verbunden sind.
An beiden Standorten haben wir eine 10BasteT Modul in den Routern
nachgesteckt für ein internes Netzwerk, welches es von beiden Standorten
zu erreichen gilt.
Die Priorität ist: Der gesamte Netzwerkverkehr soll regulär nur über das
neue Netzwerk geleitet werden. Sollte dieses allerdings ausfallen, muss der
Netzwerk-Verkehr selbstständig auf das alte Netzwerk umschwenken.
375
Wir werden hier wieder mit RIP arbeiten und noch einmal auf die Punkte:
4.5 Überblick Statische Routen
8.6 Administrative Distances
zurückkommen.
RIP ist in diesem Lab bereits vorkonfiguriert.
PRAXIS
Setzen wir im ersten Schritt doch einmal eine "trace-route" von Host2 auf
Host1 ab und prüfen, ob er auch wirklich nur das neue Netzwerk benutzt.
C:\>tracert 1.1.1.2
Tracing route to 1.1.1.2 over a maximum of 30 hops:
1 0 ms 0 ms 0 ms 2.2.2.2
2 0 ms 0 ms 0 ms 172.12.123.1
3 0 ms 0 ms 0 ms 1.1.1.2
Dass er hier nur das neue Netzwerk verwendet, dürfte euch nicht wundern,
denn es existiert derzeit keine Route für das alte Netzwerk. Also tragen wir
den Routern einmal eine statische Route für das alte Netzwerk ein.
376
R2(config)#ip route 1.1.1.0 255.255.255.0 192.168.0.1
R2#show ip route static
1.0.0.0/24 is subnetted, 1 subnets
S 1.1.1.0 [1/0] via 192.168.0.1
R1(config)#ip route 2.2.2.0 255.255.255.0 192.168.0.2
R1#show ip route static
2.0.0.0/24 is subnetted, 1 subnets
S 2.2.2.0 [1/0] via 192.168.0.2
Jetzt haben wir auch einen Eintrag für diese Route.
Dann setzten wir doch noch einmal eine "trace-route" von Host2 ab.
C:\>tracert 1.1.1.2
Tracing route to 1.1.1.2 over a maximum of 30 hops:
1 0 ms 0 ms 0 ms 2.2.2.2
2 * 1 ms 1 ms 192.168.0.1
3 0 ms 0 ms 0 ms 1.1.1.2
Trace complete.
Der Netzwerkverkehr funktioniert weiterhin, jedoch läuft der "traffic" jetzt
über das alte Netzwerk, was wir nicht wollen. Die Ursache ist die
"administrative distance".
377
Wenn ihr euch erinnert, haben wir in 8.6 Administrative Distances die
Glaubwürdigkeit der verschiedenen "routing" Möglichkeiten besprochen. In
der aktuellen RIP Tabelle hat das alte Netzwerk ein C-Connected und erhält
den Wert "0", welcher gegenüber RIP mit "120" klar bevorzugt wird.
Was wir jetzt machen müssen, ist unsere statischen Routen noch einmal
löschen und neue statischen Routen anlegen, welchen wir manuell eine
höhere "administrative distance" als RIP zuweisen.
R1(config)#no ip route 2.2.2.0 255.255.255.0
R1(config)#ip route 2.2.2.0 255.255.255.0 192.168.0.2 ?
<1-255> Distance metric for this route
<cr>
R1(config)#ip route 2.2.2.0 255.255.255.0 192.168.0.2 121
R2(config)#no ip route 1.1.1.0 255.255.255.0
R2(config)#ip route 1.1.1.0 255.255.255.0 192.168.0.1 121
Wir können dank der Hilfe sehen, dass wir nach der nächsten Hop Adresse,
diesen Wert anpassen können. Ich verwende hier den Wert 121.
Dann setzen wir doch noch einmal einen "trace-route" von Host2 ab.
378
Tracing route to 1.1.1.2 over a maximum of 30 hops:
1 0 ms 0 ms 2 ms 2.2.2.2
2 1 ms 0 ms 1 ms 172.12.123.1
3 0 ms 0 ms 0 ms 1.1.1.2
Trace complete.
So haben wir uns das Ganze vorgestellt. Jetzt fehlt nur noch der Test für
einen Ausfall des neuen Netzwerkes. Hierfür entfernen wir einfach das
Netzwerkkabel.
379
Und noch einmal ein "trace-route" von Host2:
C:\>tracert 1.1.1.2
Tracing route to 1.1.1.2 over a maximum of 30 hops:
1 0 ms 0 ms 0 ms 2.2.2.2
2 0 ms 0 ms 0 ms 192.168.0.1
3 1 ms 0 ms 1 ms 1.1.1.2
Trace complete.
Nach ein paar Sekunden läuft der Netzwerkverkehr bereits über das alte
Netzwerk.
Wichtig: Wenn ihr die Konfiguration, wie beschrieben, getätigt habt, seht
ihr in den "show" Befehlen immer nur die aktuell verwendete Route. Die
andere Route ist solange "unsichtbar", lasst euch also nicht verwirren oder
verunsichern.
380
BONUS 8: CHEATSHEET
Distance Vector Protokolle
IGRP - Interior Gateway Routing Protocol
EIGRP Enhanced Interior Gateway Routing Protocol
Das Problem mit RIPv1 und IGRP war:
Sie senden ein "full routing update" in einem fixen Intervall (RIPv2
ebenfalls)
Das klingt erst einmal nicht schlecht, jedoch ist der Standard-Intervall
bei RIP 30 Sekunden.
Verstehen keine "subnet masks"
Es ist keine "packet authentication" möglich.
Loops
Wo treten welche auf:
Routing Loops Passieren auf Layer 3
Switching Loops Passieren auf Layer 2
381
Split Horizon
Eine Route kann nicht über ein "interface" empfohlen werden, wenn dies
dasselbe "interface" ist, welches die "route" am Anfang gelernt hat.
RIP Eigenheit
Misst nicht anhand von Geschwindigkeit, sondern der Anzahl an Hops.
Das Netzwerk 10.1.1.0 wird nicht aus der Routing-Tabelle von Router 3
entfernt!
Router 3 "vergiftet" die Informationen, welche er an die anderen Router
sendet.
Wenn ein Netzwerk 16 Hops entfernt ist, gilt es als unerreichbar
" unreachable " . Und genau diese Information sendet
Neuerungen in RIPv2
382
Version 2 unterstützt "subnet masking"
Version 2 "multicasts" auf 224.0.0.9 und nicht wie Version 1 welche
"brodcastet" auf 255.255.255.255
Version 2 unterstützt "update authentication"
Version 2 erlaubt eine manuelle routen Zusammenfassung durch
einen Admin
Passive Interfaces
Wenn in RIP ein passives Interface definiert wird, aktualisiert RIP über
dieses seine Routing Tabellen (30 Sekunden Intervall) nicht mehr.
Spart Bandbreite
Spart Rechenleistung
Administrative Distance
Definiert die Glaubwürdigkeit einer Route. Bei zwei Routing Updates für das
gleiche Netzwerk wählt der Router immer die Route mit der geringsten
"administrative distance", da diese am glaubwürdigsten ist.
383
Auflistung einiger AD´s:
Connected 0
Static 1
EIGRP Summary 5
EIGRP Internal 90
OSPF 110
IS-IS 115
RIP (Beide Versionen) 120
EIGRP External 170
BGP Internal 200
Unknown (Untrusted!) 255
RIP Load-Balancing
384
In der Standardkonfiguration kann RIP ein "load-balancing" bis zu maximal 4
Wegen "paths".
BEFEHLE:
Aktivieren von RIP
R1(config)#router rip
Aktivieren von RIPv2
R1(config-router)#version 2
Netzwerk in RIP hinterlegen
R1(config-router)#network 172.12.123.0
Anzeige der aktuell laufenden IP Protokolle
R1#show ip protocols
Auto-Summarization deaktivieren
R1(config-router)#no auto-summary
Anzeige der aktuellen RIP Routen
R1#show ip route rip
385
Bereinigen aller dynamisch gelernten Routen
R1#clear ip route *
Definiert ein passives Interface RIP
R2(config-router)#passive-interface fastEthernet 0/1
Definiert alle bis auf einen ausgewählten Port als passives Interface
R2(config-router)#passive-interface default
R2(config-router)#no passive-interface fastEthernet 0/1
Erhöhen der "paths" für "load-balancing"
R1(config-router)#maximum-path 8
Route zurückverfolgen
R1#traceroute 4.4.4.1
386
9. DAS 1X1 DES SUBNETTING
9.1 WIESO SUBNETTING?
WIE GEHE ICH AN DAS SUBNETTING RAN?
Wieso brauchen wir Subnetting? Diese Frage hat mehr als eine Antwort. Ich
würde sie gerne praktisch beantworten und direkt auf die Konfiguration
eines Routers eingehen.
Nehmen wir einmal an, ich möchte auf diesem Router das Netzwerk
20.0.0.0 /8 konfigurieren. In dieses Netzwerk sollen ebenfalls beide Switche
und die damit verbundenen Hosts.
387
Wenn ich nun versuche auf beiden "interfaces" 0/0 und 0/1 dieses
Netzwerk zu hinterlegen, bekommen wir direkt eine Fehlermeldung:
Router(config)#int fast 0/0
Router(config-if)#ip address 20.1.1.1 255.0.0.0
Router(config-if)#int fast 0/1
Router(config-if)#ip address 20.1.1.2 255.0.0.0
% 20.0.0.0 overlaps with FastEthernet0/0
Router(config-if)#
Die Netzwerke überlappen sich und können dementsprechend nicht
konfiguriert werden.
Was wir zu tun haben, ist das Netzwerk mit Voraussicht auf die Zukunft in
einzelne Teile zu spalten.
Stellt euch das Netzwerk wie eine Pizza vor, die ihr für zwei Personen teilen
müsst. Soll jeder genau die Hälfte bekommen? Kommt später noch eine
dritte Person (Netzwerk) hinzu? Hat einer größeren Hunger und benötigt
einen größeren Teil als der andere?
Die erste Frage, die ihr euch stellen solltet, ist: Wie viele Hosts benötige ich
in einem Subnet (auf die Zukunft bezogen)? Erst wenn diese Frage
beantwortet ist, kann es weiter gehen. Plant immer für die Zukunft, nicht
für den jetzigen Bedarf.
Anzahl der Hosts
Anzahl der Netzwerke
388
DIE "VERSTECKTEN" HERAUSFORDERUNGEN
Die meisten von uns werden nicht jeden Tag ein neues Netzwerk
hochziehen und planen. Eher arbeiten wir in einem bereits existierenden
Netzwerk und finden uns in Troubleshooting Fällen wieder, in denen wir
uns die folgenden Fragen stellen werden:
Zu welchem Subnetz gehört diese IP Adresse?
Was ist die "broadcast" Adresse von diesem Subnetz?
Wie viele Adressen kann ich in meinem Subnetz tatsächlich
verwenden?
Einige von diesen Fragen lassen sich schnell beantworten, sobald das
praktische Konzept von Subnettings behandelt wurde. Wir werden später
aber auch die Ausnahmen von dieser Regel behandeln.
389
9.2 EINE KLEINE AUFFRISCHUNG
DAS HATTEN WIR DOCH SCHON EINMAL?
Erinnern wir uns einmal zurück an das Kapitel: 4.1 Einführung in IPv4 und
binär
In diesem haben wir uns kurz mit der Umrechnung von binären Zahlen
beschäftigt und genau dieses, wird jetzt endlich in die Praxis umgesetzt.
Nehmen wir uns die bereits bekannte Umrechnungstabelle und sehen uns
an, wie wir diese für das Subnetting verwenden können:
128 64 32 16 8 4 2 1
Verinnerlicht diese Tabelle sehr gut, denn das ist alles, was ihr für die
Berechnung eures Subnetzes brauchen werdet!
390
EINE KLEINE AUFFRISCHUNG
Rechnen wir noch einmal ein paar dezimale Zahlen in das binäre System
um.
Nehmen wir die Zahl: 45
128 64 32 16 8 4 2 1
45 0 0 1 0 1 1 0 1
Die Zahl 45 passt:
128 passt 0x in die 45
64 passt 0x in die 45
32 passt 1x in die 45 (13 verbleibend)
16 passt 0x in die 13
8 passt 1x in die 13 (5 verbleibend)
4 passt 1x in die 5 (1 verbleibend)
2 passt 0x in die 1
1 passt 1x in die 1 fertig
Es darf niemals etwas übrigbleiben, wenn etwas übrigbleibt, ist euch ein
Fehler unterlaufen. Das Ergebnis muss immer "0" sein.
391
9.2.1 WIE SIEHT DIE UMRECHNUNG EINER GANZE IP AUS?
REALITÄT NAHE UMRECHNUNG
Wenn wir in einer Prüfung sitzen, bei einem Kunden sind oder einfach nur
unser eigenes Netzwerk planen, werden wir immer mit ganzen IP Adressen
arbeiten. Wie sieht nun in der Praxis die Umrechnung in das binäre System
aus?
Das Verfahren ist das gleiche. Nur eben vier Mal.
128 64 32 16 8 4 2 1
392
Rechnung wir einmal diese IP-Adresse: 200.17.100.3 um.
128 64 32 16 8 4 2 1
200 1 1 0 0 1 0 0 0
17 0 0 0 1 0 0 0 1
100 0 1 1 0 0 1 0 0
3 0 0 0 0 0 0 1 1
Diesen binären Wert können wir, wie die IP-Adresse auch, mit den
Trennpunkten aufschreiben:
11001000.00010001.01100100.00000011
Wenn ihr euch erinnert, heißt jeder Zahlenblock vor einem Punk "octet",
was der griechischen Zahl acht (Octa) zu verdanken ist.
Man hat diese so genannt, da immer acht binäre Stellen nötig sind, um den
dezimalen Bereich von 0 bis 255 abzudecken.
393
Für das leichtere Verständnis noch einmal der Rechenweg für alle vier
Zahlen:
Die Zahl 200 passt:
128 passt 1x in die 200 72 verbleibend
64 passt 1x in die 72 8 verbleibend
32 passt 0x in die 8
16 passt 0x in die 8
8 passt 1x in die 8 fertig
4 passt 0
2 passt 0
1 passt 0
394
Die Zahl 17 passt:
128 passt 0x in die 17
64 passt 0x in die 17
32 passt 0x in die 17
16 passt 1x in die 17 1 verbleibend
8 passt 0x in die 1
4 passt 0x in die 1
2 passt 0x in die 1
1 passt 1x in die 1 fertig
395
Die Zahl 100 passt:
128 passt 0x in die 100
64 passt 1x in die 100 36 verbleibend
32 passt 1x in die 36 4 verbleibend
16 passt 0x in die 4
8 passt 0x in die 4
4 passt 1x in die 4 fertig
2 passt 0
1 passt 0
396
Die Zahl 3 passt:
128 passt 0x in die 3
64 passt 0x in die 3
32 passt 0x in die 3
16 passt 0x in die 3
8 passt 0x in die 3
4 passt 0x in die 3
2 passt 1x in die 3 1 verbleibend
1 passt 1x in die 1 fertig
9.2.2 BINÄR IN DEZIMAL
RÜCKRECHNUNG BINÄR ZU DEZIMAL
Um eine binäre Zahl in eine dezimale umzurechnen, verwenden wir wieder
die gleiche Tabelle und addieren die Zahlen aus dem Tabellen-Kopf, welche
auf dem binären Wert "1" stehen. Das war es auch schon.
397
128 64 32 16 8 4 2 1
Nehmen wir die binäre Zahl: 11001010
128 64 32 16 8 4 2 1
1 1 0 0 1 0 1 0
128 + 64 + 8 + 2 = 202
Fertig!
Da es so viel Spaß macht, hier noch ein Beispiel: 11101100
128 64 32 16 8 4 2 1
1 1 1 0 1 1 0 0
128 + 64 + 32 + 8 + 4 = 236
Fertig!
398
9.3 DAS SUBNETTING - BIT BY BIT METHODE
EIN SPRUNG IN DAS KALTE WASSER
In einer Prüfung oder auch im echten Anwendungsfall, werdet ihr definitiv
Subnetze vorgesetzt bekommen, frei nach dem Motto, was hälst du davon?
Fangen wir einmal mit dem langen "bit by bit" Weg an, damit auch wirklich
verständlich ist, wie das Ganze funktioniert.
Zwei Fragen zum Üben:
1. Wie viele Subnetze existieren in dem Netzwerk: 10.0.0.0
255.240.0.0?
2. Wie viele Subnetze existieren in dem Netzwerk: 10.0.0.0 /12?
Wenn ihr kurz nachdenkt, wird euch auffallen, das war eine Falle. Es sind
beides die gleichen Netzwerke, lediglich die Schreibweise unterscheidet
sich.
Diese haben wir in dem Kapitel: 4.1.1 Übung und prefix notation bereits
behandelt.
Beachtet, es sind die aufeinander folgenden Einsen, die für die "prefix
notation“ gezählt werden.
399
Die "prefix notation" sagt uns, wie viele "network bits" auf eins (am Stück)
stehen. Verbleibend sind anschließend immer die "host bits". Sehen wir uns
das anhand unserer IP Klassen an: 4.3 Private IP-Adressen
Class A mask = 255.0.0.0 = 8 network bits, 24 host bits
Class B mask = 255.255.0.0 = 16 network bits, 16 host bits
Class C mask = 255.255.255.0 = 24 network bits, 8 host bits
Wieso wiederhole ich das jetzt alles?
Subnetting ist nichts anderes als das Aufsplitten von Host "bits". Aber
niemals dürfen Netzwerk „bits“ aufgesplittet werden.
Damit müsste jetzt jedem klar sein, in welchem Teil unserer Adresse wir
arbeiten.
Wir werden in der Praxis zwei sehr verschiedene Methoden verwenden, um
die oben gestellte Aufgabe zu lösen.
Die erste ist, wie bereits erwähnt, etwas länger, erklärt aber sehr gut, wie
das Subnetting funktioniert.
Die zweite Methode ist schneller, ihr solltet diese in der Praxis allerdings
erst anwenden, wenn ihr mit dem Konzept vertraut seid.
400
PRAXIS
Hier seht ihr in einer Tabelle die binäre Gegenüberstellung der
Subnetzmaske /12 mit der Standardnetzwerk Maske des Class A
Netzwerkes.
Octet 1 Octet 2 Octet 3 Octet 4
Network Mask 11111111 00000000 00000000 00000000
Subnet Mask 11111111 11110000 00000000 00000000
In der "bit by bit" Gegenüberstellung sind die Subnet "bits" dort
angesiedelt, wo die "network mask" eine "0" und die "subnet mask" eine
"1" stehen hat.
Damit haben wir vier "subnet bits", welche die ersten vier "bits" in dem
zweiten "octet" sind.
Damit ist unsere "subnet mask" in folgende Teile aufgespalten:
8 "network bits"
4 "subnet bits"
20 "host bits"
Nachdem wir das alles wissen, müssen wir nur noch einer einfachen Formel
nachgehen:
401
Startet immer mit der Zahl "2" und nehmt diese hoch der Anzahl an "subnet
bits".
2 hoch 4 (Anzahl der "subnet bits") = vereinfacht geschrieben 2 x 2 x 2 x 2 =
16
Damit erhalten wir insgesamt 16 gültige Subnetze.
9.4 DAS SUBNETTING - BULLDOG METHODE
PRAXISFRAGE
Wie viele gültige Netzwerke hat das 150.10.0.0 /21 Netzwerk?
Es ist wieder entscheidend zu wissen, welche IP Adresse zu welcher Klasse
gehört! Verinnerlicht das sehr gut, es wird euch gerade in Prüfungen sonst
zum Verhängnis.
Class B Netzwerk
Class B Netzwerk Maske ist /16
402
DIE EINFACHE LÖSUNG!
Die Aufgabe verrät uns, dass wir:
21 "network bits" hat das Netzwerk aus der Aufgabe und
16 "network bits" hat das Class B Netzwerk.
Hier kommt die Formel:
"network bits" aus der
Aufgabe
Minus "network bits" der
Netzwerkklasse
21 - 16
Damit erhalten wir die Zahl 5 – unsere "subnet bits" und ab hier ist es das
gleiche Vorgehen, wie bei der "bit by bit" Methode.
Wir nehmen die Zahl "2" hoch unserer "subnet bits".
2 hoch 5 = vereinfacht geschrieben 2 x 2 x 2 x 2 x 2 = 32
Damit lautet unser Ergebnis: Dieses Netzwerk hat 32 gültige Subnetze.
403
9.5 ANZAHL DER GÜLTIGEN HOSTS
BERECHNUNG
Da wir nun gelernt haben, wie wir die Anzahl der gültigen Subnetze
berechnen, gilt es nun zu lernen, wie viele Hosts in dem entsprechenden
Subnetz sein können. Zum Glück gibt es auch hier eine sehr einfache
Formel.
Als erstes müssen wir herausfinden, wie viele "host bits" wir haben. Da
unsere Subnetz Maske immer aus 32 Bits besteht, nehmen wir diese Zahl
und subtrahieren davon die Anzahl der Einsen.
20.10.10.0 /26
11111111 .11111111. 11111111. 11000000
Damit ist unser Rechenweg:
32 - Anzahl der Einsen in der
Subnetzmaske (26)
= Anzahl der Host
bits. (6)
404
Jetzt da wir wissen, dass wir "6" "host bits" haben, nehmen wir eine
ähnliche Formel, wie bei der Subnetz Berechnung. Wir nehmen die Zahl 2
hoch der Anzahl der "host bits":
2 hoch 6 = 2 x 2 x 2 x 2 x 2 x 2 = 64
Aber von dieser Zahl ziehen wir noch zwei ab.
64 – 2 = 62
Und das ist die Anzahl unserer gültigen Hosts in dem Netzwerk
20.10.10.0 /26
WIESO ZIEHE ICH NOCH 2 VOM ERGEBNIS AB?
In jedem Netzwerk muss es zwei Adressen geben, welche von keinem Host
verwendet werden dürfen. Das ist immer die erste Adresse, die Netzwerk
Adresse / "subnet number" und die letzte Adresse des Netzwerkes, die
Broadcast Adresse.
405
9.5.1 FINDE DIE NETZWERK ADRESSE VON EINER IP ADRESSE
ERKLÄRUNG
Wieso benötige ich diese Information? Ich sage es einfach einmal so: Das
Errechnen dieser wird häufig unterschätzt, oder gar belächelt, ist aber eine
sehr hilfreiche Fähigkeit im Alltag!
Nehmen wir einmal an, zwei Hosts können nicht mit einander
kommunizieren. Meist liegt es daran, dass sich diese in verschiedenen
Subnetzen befinden.
Natürlich ist es in der Regel sofort an der Subnetzmaske zu erkennen, nur
wenn dies nicht der Fall ist, hilft euch diese Fähigkeit sehr schnell weiter.
Es gibt drei mir bekannte Wege, welche ich jetzt durchgehe.
406
DER LANGE WEG
Unsere Beispieladresse: 10.17.2.14 /18
Wie gehen wir bei dieser Methode vor:
1. Wir wandeln die IP Adresse in binär um.
2. Errechnen der Netzwerk- und Subnet-Bits.
3. Fertig.
128 64 32 16 8 4 2 1
10 0 0 0 0 1 0 1 0
17 0 0 0 1 0 0 0 1
2 0 0 0 0 0 0 1 0
14 0 0 0 0 1 1 1 0
IP-Adresse:
00001010 00010001 00000010 00001110
Subnetzmaske:
11111111 11111111 11000000 00000000
407
Uns interessieren hier lediglich die ersten "18" "bits", da dies die Anzahl der
"network bits" ist.
Nun übernehmen wir diese "18" "bits" aus der IP Adresse und setzen diese
bei der Subnetzmaske ein.
IP-Adresse:
00001010 00010001 00000010 00001110
Subnetzmask:
11111111 11111111 11000000 00000000
Daraus entsteht unsere Netzwerk Adresse.
Vergesst bei einer Prüfung niemals auch die Subnetzmaske bei der Lösung
mit anzugeben!
00001010 00010001 00000000 00000000
Damit lautet die korrekte Lösung:
10.17.0.0 /18 oder
10.17.0.0 255.255.192.0
408
DER MITTLERE WEG
Der etwas schnellere Weg startet damit, dass wir unser IP Adresse wieder
"binär" umrechnen, dieses Mal allerdings nur bis zu der Stelle, die mit dem
Wert der "prefix notation" übereinstimmt.
Wenn unser Netzwerk 217.17.23.200 /27 ist, rechnen wir nur die ersten
"27" "bits" der IP Adresse.
128 64 32 16 8 4 2 1
217 1 1 0 1 1 0 0 1
17 0 0 0 1 0 0 0 1
23 0 0 0 1 0 1 1 1
200 1 1 0 - - - - -
11011001 00010001 00010111 110xxxxx
Diese Zahl im dezimalen ist dann auch schon das Ergebnis und denkt an die
Subnetzmaske!
217.17.23.192 /27
217.17.23.192 255.255.255.224
409
DER SCHNELLE WEG
Diese Methode funktioniert exakt, wie der mittlere Weg, nur sparen wir uns
einfach das Umrechnen der ersten "octets", da diese so oder so
gleichbleiben.
47.54.100.27 /14
Da im ersten "octet" alles auf "1" innerhalb der Subnetzmaske steht,
überspringen wir dieses und beschäftigen uns lediglich mit dem zweiten
"octet". Davon allerdings auch nur mit den ersten "6" "bits", denn damit
kommen wir auf die "prefix notation" von /14.
128 64 32 16 8 4 2 1
54 0 0 1 1 0 1 - -
52
Damit ist unsere Netzwerkadresse (vergesst die Subnetzmaske nicht!):
47.52.0.0 /14 oder
47.52.0.0 255.252.0.0
410
9.5.2 FINDE DIE BROADCAST ADRESSE
EINE KLEINE EINFÜHRUNG
Wir werden hier herausfinden, welche Anzahl an gültigen IP-Adressen
vorliegen, ähnlich dem Kapitel: 9.5 Anzahl der gültigen Hosts
Nehmen wir für dieses Beispiel, das Netzwerk: 210.46.11.0 /25
Als erstes finden wir die Anzahl der "host bits" heraus. Da es insgesamt "32"
"bits" gibt und unsere "prefix notation" bereits verrät, dass "25" "network
bits" verwendet werden, ist die Rechnung denkbar einfach.
32 – 25 = 7
Somit haben wir "7" "host bits".
411
Jetzt müssen wir noch unsere IP-Adresse binär umrechnen:
128 64 32 16 8 4 2 1
210 1 1 0 1 0 0 1 0
46 0 0 1 0 1 1 1 0
11 0 1 1 0 1 1 1 1
0 0 0 0 0 0 0 0 0
11010010 00101110 0110111 00000000
In diesem Ergebnis müssen wir nun die "host bits" in unsere IP-Adresse
einsetzen.
Was wir damit herausfinden, ist unser gültiger IP-Adressen Bereich, sowie
die "broadcast address".
Wir wissen bereits, dass die Adresse, bei welcher alle Bits auf "0" stehen hat
unsere "subnet address" - Netzwerk Adresse ist.
Im Umkehrschluss ist damit die Adresse, welche alle "host bits" auf "1"
stehen hat unsere "broadcast address".
11010010 00101110 0110111 01111111
412
Rechnen wir das also einmal wieder in das dezimale System zurück:
128 64 32 16 8 4 2 1
127 0 1 1 1 1 1 1 1
Damit ergibt sich für uns:
1. Unsere Netzwerk Adresse "subnet address" ist: 210.46.11.0 /25
2. Unsere "broadcast address" ist: 210.46.11.127 /25
Alles zwischen diesen beiden Adressen ist immer unser gültiger IP Adressen
Bereich.
210.46.11.1 - 126 /25
413
9.6 PRAXIS ÜBUNGEN
AUFGABENSTELLUNG 1
1. Benutze das Netzwerk 150.50.0.0
2. Wir benötigen mindestens 200 Subnetze
3. Wir wollen 120 - 150 Hosts pro Subnetz
Min. 200 Subnetze
Wie wir wissen, ist das Netzwerk 150.50.0.0 ein Cass B Netzwerk und hat
damit die "prefix notation" /16.
Damit ergeben sich für uns 16 "host bits" mit denen wir arbeiten können.
Schreiben wir uns das einmal binär auf:
1. Octet 2. Octet 3. Octet 4. Octet
Network Bits 11111111 11111111
Host Bits 00000000 00000000
414
Verinnerlicht euch am besten immer diese Reihenfolge für die Ermittlung,
wie groß euer Subnetz sein muss.
1 Bit 2 Bits 3 Bits 4 Bits 5 Bits 6 Bits 7 Bits 8 Bits
2 4 8 16 32 64 128 265
Wenn wir uns die kleine Auflistung in Bezug auf mindestens 200 Subnetze
ansehen, wird schnell klar, dass wir "8" "bits" dafür benötigen und damit
das gesamte dritte "octet" belegen.
1. Octet 2. Octet 3. Octet 4. Octet
Network Bits 11111111 11111111
Subnet Bits 11111111
Host Bits 00000000
Das sieht schon gar nicht schlecht aus, wir sind aber noch nicht fertig!
Mit diesen Subnetzen hätten wir 254 Hosts in jedem Subnetz.
120-150 Hosts ist unsere Vorgabe.
415
Da wir unter Punkt drei ebenfalls die Anforderung haben, dass in jedem
Subnetz nur 120 - 150 Hosts sein dürfen, ist jetzt der Zeitpunkt gekommen
sich dieser anzunehmen.
Damit dies funktionieren kann, müssen wir hier in das vierte "octet" gehen
und uns noch einen "bit" von den "hots bits" nehmen.
Dieser wird zu den "subnet bits" hinzugefügt, denn damit verringern wir
den Hostbereich um das erste "bit" - um 192 Adressen, somit erreichen wir
die geforderten "128" (126 gültige) Adressen.
1. Bit 2. Bit 3. Bit 4. Bit 5. Bit 6. Bit 7. Bit 8. Bit
128 64 32 16 8 4 2 1
1. Octet 2. Octet 3. Octet 4. Octet
Network Bits 11111111 11111111
Subnet Bits 11111111 1
Host Bits 0000000
Die finale Netzwerkmaske:
416
255.255.255.128 oder
/25
AUFGABENSTELLUNG 2
1. Benutze das Netzwerk 220.10.10.0
2. Wir benötigen mindestens 25 Subnetze
3. Wir wollen nicht mehr als 6 Hosts pro Subnetz
Mindestens 25 Subnetze
220.10.10.0 ist ein Class C Netzwerk, somit haben wir eine "prefix notation"
von /24.
Damit sind "8" "host bits" verbleibend.
1. Octet 2. Octet 3. Octet 4. Octet
Network Bits 11111111 11111111 11111111
Host Bits 00000000
Die Ermittlung der Subnetz Größe
417
1 Bit 2 Bits 3 Bits 4 Bits 5 Bits 6 Bits 7 Bits 8 Bits
2 4 8 16 32 64 128 265
Dieses Mal benötigen wir mindestens 25 Subnetze, weshalb wir bei "5"
"bits" landen.
1. Octet 2. Octet 3. Octet 4. Octet
Network Bits 11111111 11111111 11111111
Subnet Bits 11111
Host Bits 000
Maximal 6 Hosts
Nun, da wir unsere Mindestzahl an Subnetzen errechnet haben, widmen
wir uns den maximal "6" Hosts pro Subnetz.
Dafür nehmen wir wieder die Tabelle mit den "bit" Werten zur Hand.
1. Bit 2. Bit 3. Bit 4. Bit 5. Bit 6. Bit 7. Bit 8. Bit
128 64 32 16 8 4 2 1
418
Wir haben bereits diese Anforderung erfüllt.
Wenn wir alle verbleibenden "bits" zusammenzählen, erhalten wir,
inklusive der "0", exakt "8" mögliche Werte, minus "2" für die "subnet
address" - Netzwerk Adresse und "broadcast address".
Damit ergeben sich für uns folgende Adressen:
220.10.10.0 /29 oder
220.10.10.0 255.255.255.248
"subnet address": 20.10.10.0 /29
"broadcast address": 20.10.0.7 /29
Gültige Host IP Adressen: 20.10.10.1 - 20.10.0.6 /29
419
BONUS 9: CHEATSHEET
Errechnen der Anzahl der Subnetze
Wie viele gültige Netzwerke hat das 150.10.0.0 /21 Netzwerk?
Ist ein:
Class B network
Class B "network mask" ist /16
Die Aufgabe verrät uns, dass wir:
21 "network bits" hat das Netzwerk aus der Aufgabe und
16 "network bits" hat das Class B network
"network bits" aus der
Aufgabe
Minus "network bits" der
Netzwerkklasse
21 16
Ergibt 5
2 hoch 5 = vereinfacht geschrieben 2x2x2x2x2 = 32
420
Damit lautet unser Ergebnis: Dieses Netzwerk hat 32 gültige Subnetze.
Anzahl gültiger IP-Adressen, Netzwerk-Adresse und Broadcast Adresse:
Nehmen wir für dieses Beispiel das Netzwerk: 210.46.11.0 /25
"network bits" Minus "network bits" prefix notation
32 25
Ergibt 7
Das bedeutet für uns, dass wir die letzten 7 Bits der IP-Adresse auf "0" für
die Netzwerk Adresse stellen müssen und auf "1" für die Broad-Cast-
Adresse.
Network-Adresse
11010010 00101110 0110111 00000000
210.46.11.0 /25
Broad-Cast-Adresse
11010010 00101110 0110111 01111111
210.46.11.127 /25
Gültige IP-Adressen
421
Alles zwischen den beiden oben genannten Adressen:
210.46.11.1 - 126 /25
Subnetze und Anzahl der Hosts selbst errechnen
1. Benutze das Netzwerk 220.10.10.0
2. Wir benötigen mindestens 25 Subnetze
3. Wir wollen nicht mehr als 6 Hosts pro Subnetz
Mindestens 25 Subnetze
220.10.10.0 ist ein Class C Netzwerk, somit haben wir eine "prefix notation"
von /24. Damit sind 8 "host bits" verbleibend.
1. Octet 2. Octet 3. Octet 4. Octet
Network Bits 11111111 11111111 11111111
Host Bits 00000000
Die Ermittlung der Subnetz Größe
1 Bit 2 Bits 3 Bits 4 Bits 5 Bits 6 Bits 7 Bits 8 Bits
422
2 4 8 16 32 64 128 265
Dieses Mal benötigen wir MINDESTENS 25 Subnetze, weshalb wir bei 5 Bits
landen.
1. Octet 2. Octet 3. Octet 4. Octet
Network Bits 11111111 11111111 11111111
Subnet Bits 11111
Host Bits 000
Maximal 6 Hosts
Nun, da wir unsere Mindestzahl von Subnetzen errechnet haben, widmen
wir uns den maximal 6 Hosts pro Subnetz.
Dafür nehmen wir wieder die Tabelle mit den Bits zur Hand.
1. Bit 2. Bit 3. Bit 4. Bit 5. Bit 6. Bit 7. Bit 8. Bit
128 64 32 16 8 4 2 1
Wie gut zu sehen ist, haben wir bereits diese Anforderung erfüllt. Denn,
wenn wir alle verbleibenden Bits zusammenzählen, erhalten wir inkl. der
423
"0" exakt 8 Mögliche Werte, minus zwei für "subnet address" / Netzwerk
Adresse und "broadcast address".
Damit ergeben sich für uns folgende Adressen:
220.10.10.0 /29
220.10.10.0 255.255.255.248
"subnet address": 20.10.10.0 /29
"broadcast address": 20.10.0.7 /29
Gültige IP-Adressen: 20.10.10.1 - 20.10.0.6 /29
424
Prefix Notation Liste
Adressen Hosts Netzwerk Maske Mögliche
Subnetze
/30 4 2 255.255.255.252 1/64
/29 8 6 255.255.255.248 1/32
/28 16 14 255.255.255.240 1/16
/27 32 30 255.255.255.224 1/8
/26 64 62 255.255.255.192 1/4
/25 128 126 255.255.255.128 1/2
/24 256 254 255.255.255.0 1
/23 512 510 255.255.254.0 2
/22 1024 1022 255.255.252.0 4
/21 2048 2046 255.255.248.0 8
/20 4096 4094 255.255.240.0 16
/19 8192 8190 255.255.224.0 32
/18 16384 16382 255.255.192.0 64
/17 32768 32766 255.255.128.0 128
/16 65536 65534 255.255.0.0 256
425
10. ACCESS LISTS
10.1 WAS SIND ACL UND ETWAS THEORIE
EINLEITUNG
ACL Access Lists
Sind ein absolutes "musst known", wenn man erfolgreich mit CISOC Geräten
arbeiten will, da dieses "feature" heute eines der häufigsten Verwandtesten
ist.
In diesem Kapitel werden wir die ACL primär dafür verwenden, "traffic" von
bestimmten IP Adressen zu erlauben oder zu verbieten, davon abgesehen
werden ACLs auch dafür verwendet, den laufenden "traffic" zu
identifizieren.
Die Identifizierung des "traffic" wird in den Prüfungen selten vorkommen,
dafür aber umso öfter in der echten Welt und ab den CCNP Prüfungen und
jeder Sicherheits-bezogenen Prüfung.
Gleich vorweggesagt, egal welche Art der ACL ihr verwendet, die Regeln
werden davon unabhängig die gleichen bleiben.
426
Es werden in diesem Kapitel mehrere Typen von ACL behandelt, in der
Theorie und auch in einem Praxis Lab.
ETWAS THEORIE
Jede ACL hat einen impliziten "deny" am Ende.
ACL sucht nach einer Übereinstimmung, beginnend mit der "top line".
Wenn eine Übereinstimmung gefunden wird, beendet dies sofort die
Suche.
Wenn ein Paket an einem "interface" mit ACL ankommt oder dieses
verlässt, wird mindestens eine "value" gegen die ACL geprüft und das
basierend auf einer "line-by-line" Basis.
In der Regel wird dafür die "source" und/oder "destination" IP Adresse
verwendet. Hier ein Beispiel von einer Standard ACL:
R1(config)#access-list 1 permit 10.1.1.1 0.0.0.0
R1(config)#access-list 1 permit 10.2.1.1 0.0.0.0
R1(config)#access-list 1 permit 10.3.1.1 0.0.0.0
R1(config)#access-list 1 permit 10.4.1.1 0.0.0.0
Jeder dieser Einträge ist eine Übereinstimmung mit exakt einer IP Adresse.
Die Syntax werden wir noch im Laufe des Kapitels behandeln. Erst einmal ist
427
die Theorie relevant. Es sei so viel verraten, dass die IP-Adressen (10.X.1.1)
sich auf die "source" beziehen.
Eine Standard-ACL kann sich immer nur auf einen "source" IP Adresse eines
Paketes beziehen!
Sollten wir die oben aufgeführten ACL Regeln (ACL 1) auf einem "interface"
von dem Beispiel-Bild definiert haben, wird die "source ip address" des
Paketes gegen diese geprüft.
Sobald es eine Übereinstimmung in der "line-by-line" Prüfung gibt, wird je
nach Regel ein " permit " oder " deny " angewendet.
Sollte keine Übereinstimmung gefunden werden, kommt der bereits
erwähnte " implicit deny " oder auch " invisible deny " zum Einsatz.
Diese Regel wird euch nicht angezeigt, wie zum beispielsweise: "deny any".
Deshalb wird gerade von Neueinsteigern diese Regel von Zeit zu Zeit
vergessen.
428
BESCHREIBUNGEN FÜR ACLS
Es ist möglich, den "access-lists" eine Beschreibung hinzuzufügen, dies wird
eventuell auch in den Prüfungen abgefragt, findet sonst allerdings wenig
praktische Anwendung.
Der Befehl ist sehr simpel und nicht groß der Rede wert. Behaltet diesen
aber für eine Prüfung im Hinterkopf. Nach der Angabe der ACL Nummer
wird noch die Option "remark" angehängt, gefolgt von der Beschreibung.
R1(config)#access-list 1 remark Das ist eine ACL
Beschreibung
10.2 WILDCARD MASKING
EINLEITUNG IN DAS THEMA
Auf den ersten Blick sehen die "wildcard masks", wie gewöhnliche "network
masks" oder "subnet masks" aus.
Jedoch sind diese "mirror images" von diesen "mask" Typen.
Wenn wir von ACL "wildcard masks" sprechen, werden die "0" und "1"
folgendermaßen verwendet:
429
Die "0"en in der "mask" sind sozusagen die: Es interessiert mich
"bits", welche übereinstimmen müssen, damit die ACL Zeile
zutreffend sein kann.
Die "1"en in der "mask" sind die: Es interessiert mich NICHT "bits"
und benötigen mit der ACL Zeile keine Übereinstimmung, damit diese
in Kraft tritt.
Um das Ganze zu verdeutlichen, beginnen wir einmal mit einem Beispiel:
Wir wollen eine ACL definieren mit der IP Adresse:
196.17.100.0 /24
Damit dies funktionieren kann, muss eine ACL, welche diese Pakete
akzeptiert, eine "source address" hinterlegt haben.
Da die "prefix notation" /24 ist, müssen die ersten drei "octets"
(196.17.100) beachtet werden, die verbleibenden fallen unter "es
interessiert mich NICHT".
Binär ausgeschrieben würde unsere "wildcard mask" folgendermaßen
aussehen:
430
1. Octet 2. Octet 3. Octet 4. Octet
Interessiert 00000000 00000000 00000000
NICHT interessiert 11111111
0.0.0.255
Damit dürfte der Begriff "mirror images" auch wesentlich verständlicher
werden. Diese sind Wort wörtlich gespiegelt.
Verwechselt dies aber nicht mit einer Spiegelung der dezimalen Zahlen! Es
werden die binären Zahlen gespiegelt.
Wäre die "prefix notation" /28 würde das folgendermaßen aussehen:
1. Octet 2. Octet 3. Octet 4. Octet
Interessiert 00000000 00000000 00000000 0000
NICHT interessiert 1111
0.0.0.15
431
10.3 "STANDARD" UND "EXTENDED" ACL LAB
Lab Download
verfügbar
EINLEITUNG
Eine Standard ACL interessiert sich immer nur für die "source ip address"
des Paketes.
Es gibt zwei nummerische Bereiche, die wir wählen können, wenn wir eine
Standard ACL schreiben. Ich werde hier einmal beide auflisten, lasst euch
aber nicht verunsichern, es wird gleich erklärt worum es geht.
R1(config)#access-list ?
<1-99> IP standard access list
<1300-1999> IP standard access list (expanded range)
Beachtet bitte ebenfalls, dass es auf einem echten Router noch viel mehr
dieser "access-lists" gibt. Es wurde im Packet Tracer allerdings sehr stark
limitiert.
432
Packet Tracer:
R1(config)#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
Echter Router:
Tatsächlich gibt es keinen Unterschied zwischen der "IP standard access list
<1-99>" und der "IP standard access list (expanded range) <1300-1999>".
CISCO ging bei der damaligen Festlegung des Bereiches lediglich davon aus,
dass niemals mehr, als die "99" zur Verfügung stehenden Nummern
benötigt werden.
433
Das hat sich über die Jahrzehnte geändert, somit musste ein weiterer
Bereich geschaffen werden.
Da die Standard ACL lediglich auf die "source ip address" achtet, kann es in
einigen Konstellationen zu Problemen kommen, wie dieser hier:
AUFGABENSTELLUNG
Traffic, der von dem "source network" 3.3.3.0 /24 kommt und das
Netzwerk 11.11.11.0 /24 als "destination network" hat, soll geblockt
werden.
R1 soll aber alle anderen Pakete von 3.3.3.0 /24, wenn sie in ein
anderes Subnetz gehen, erlauben auch nachträglich hinzuzufügen.
Die ACL muss auf dem Fast0/0 von R1 definiert werden.
Dann sehen wir uns im ersten Schritt doch einmal an, was für Optionen uns
der "access-list" Befehl bietet:
434
R1(config)#access-list 1 ?
deny Specify packets to reject
permit Specify packets to forward
remark Access list entry comment
Als erstes blockieren wir einmal das Netzwerk mit "deny" und sehen uns die
weiteren Optionen an:
R1(config)#access-list 1 deny ?
A.B.C.D Address to match
any Any source host
host A single host address
Da wir das Netzwerk 3.3.3.0 blockieren wollen, geben wir dieses an und
sehen weiter:
R1(config)#access-list 1 deny 3.3.3.0 ?
A.B.C.D Wildcard bits
<cr>
Und schon sind wir bei der vorhin gelernten "wildcard mask" gelandet.
Wie bereits gelernt, ist diese "bit" gespiegelt zu der "subnet mask":
0.0.0.255.
435
436
Geben wir diese also an und senden den Befehl ab.
R1(config)#access-list 1 deny 3.3.3.0 0.0.0.255
Somit hätten wir die erste ACL Regel definiert. Das Problem, welches wir
noch haben, ist, dass der "unsichtbare" Eintrag, welcher alles blockiert,
noch existiert.
Da das für uns bedeutet, dass aktuell keinerlei Kommunikation möglich ist,
müssen wir noch eine weitere Regel hinzufügen.
Das können wir mit einem einfachen Befehl aus den oben aufgeführten
Hilfen:
Einmal "permit" für erlauben.
Einmal "any" für alle.
R1(config)#access-list 1 permit any
Sehen wir uns doch einmal mit dem show Befehl unsere Konfiguration an:
R1#show ip access-list
Standard IP access list 1
10 deny 3.3.3.0 0.0.0.255
20 permit Any
Damit haben wir erfolgreich eine ACL angelegt.
Diese ist allerdings noch auf keinem "interface" hinterlegt!
437
Eine ACL muss immer direkt auf einem "interface" hinterlegt werden und
greift nicht automatisch auf allen oder einem beliebigen.
R1(config)#int fast 0/0
R1(config-if)#ip access-group ?
<1-199> IP access list (standard or extended)
WORD Access-list name
R1(config-if)#ip access-group 1 ?
in inbound packets
out outbound packets
In dem letzten Schritt ist noch festzulegen, ob diese Regel eingehend "in",
oder ausgehend "out" greifen soll. In diesem Fall ist es ganz klar eine
eingehende Verbindung, die diese Regel betrifft.
R1(config-if)#ip access-group 1 in
438
10.3.1 "STANDARD" ACL LAB FAILED
Lab Download
verfügbar
In dem vorherigen Lab haben wir die ACL aktiviert und diese greift nun auch
auf dem "interface" Fast 0/0 von R1. Wenn wir uns nun die Frage stellen,
was ist meine "source ip address", wenn ich einen Ping von R3 zu R1 sende,
wird uns eines schnell klar:
R3#debug ip packet
Packet debugging is on
R3#ping 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
IP: tableid=0, s=172.12.123.3 (local), d=1.1.1.1 (FastEthernet0/0), routed via RIB
IP: s=172.12.123.3 (local), d=1.1.1.1 (FastEthernet0/0), len 128, sending
!
IP: tableid=0, s=1.1.1.1 (FastEthernet0/0), d=172.12.123.3 (FastEthernet0/0), routed via RIB
……
439
R3#no debug allAktuell ist unsere "source ip address" die 172.12.123.3 von dem Interface
Fast 0/0 auf R3. Wir müssen also eine andere Methode verwenden, um
unsere Konfiguration zu testen.
Als erstes verwende ich "extended ping", hierfür gebt ihr lediglich den
Befehl "ping" in die CLI ein.
R3#ping
Protocol [ip]:
Target IP address: 1.1.1.1
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 3.3.3.3
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
UUUUU
Success rate is 0 percent (0/5)
440
Alle unsere Pakete wurden geblockt. Wenn wir uns an die Aufgabenstellung
zurückerinnern, sollte allerdings lediglich das Netzwerk 11.11.11.0 /24
geblockt sein. Also haben wir hier noch Handlungsbedarf.
Pingen wir also auch noch dieses Netzwerk.
Dieses Mal verwenden wir allerdings den schnellen Weg, um einen Ping von
einer bestimmten IP-Adresse abzusenden.
R3#ping 11.11.11.11 source 3.3.3.3
Beachtet, dieser Befehl funktioniert leider nicht mit dem Packet Tracer.
Das Ergebnis ist hier ebenfalls:
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
UUUUU
Success rate is 0 percent (0/5)
Unser Problem hier ist, dass die "standard ACL" ausschließlich die "source ip
address" in seiner Tabelle prüfen kann. Das bedeutet für uns, dass mit
dieser Konfiguration jedes eingehende Paket von 3.3.3.0 /24 geblockt wird,
was nicht der gestellten Aufgabe entspricht.
441
Was wir für diese Aufgabe verwenden müssen, ist eine "extended ACL"!
Also entfernen wir unsere ACL und starten noch einmal von vorne.
Bevor ihr eine ACL löscht, prüft am besten noch einmal, welche ihr löschen
wollt:
R1#show ip access-list
Standard IP access list 1
10 deny 3.3.3.0 0.0.0.255 (5 match(es))
20 permit any (5 match(es))
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#no access-list 1
R1(config)#int fast 0/0
R1(config-if)#no access-list 1
442
10.3.2 "EXTENDED" ACL LAB
Lab Download
verfügbar
Wir haben unsere "standard ACL" Konfiguration aufgeräumt und sind
wieder an dem Startpunkt von 10.3 "Standard" und "Extended" ACL Lab
angekommen.
Sehen wir uns die Konfigurationen einer "extended ACL" an:
R1(config)#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
Es ist entscheidend, dass wir die richtige Nummer für unsere ACL
verwenden, da wir sonst eine fehlerhafte Konfiguration erhalten.
Wir wollen eine "extended access list" anlegen und verwenden deshalb die
Nummer 100.
443
R1(config)#access-list 100 deny ?
ahp Authentication Header Protocol
eigrp Cisco's EIGRP routing protocol
esp Encapsulation Security Payload
gre Cisco's GRE tunneling
icmp Internet Control Message Protocol
ip Any Internet Protocol
ospf OSPF routing protocol
tcp Transmission Control Protocol
udp User Datagram Protocol
Wir wollen eine bestimmte IP filtern.
R1(config)#access-list 100 deny ip ?
A.B.C.D Source address
any Any source host
host A single source host
Nachdem wir wie in der "standard access list" die IP des Netzwerkes und
die "wildcard mask" angegeben haben, werden uns jetzt weitere Optionen
angeboten:
444
R1(config)#access-list 100 deny ip 3.3.3.0 0.0.0.255 ?
A.B.C.D Destination address
any Any destination host
host A single destination host
In der "extended access list" können wir ebenfalls eine "destination
address" angeben, was das Ziel unserer Aufgaben ist. Es soll nur das
Netzwerk 11.11.11.0 /24 betreffen.
R1(config)#access-list 100 deny ip 3.3.3.0 0.0.0.255 11.11.11.0 0.0.0.255
R1(config)#access-list 100 permit ip any any
Auch bei einer "extended access list" müssen wir die "unsichtbare" Regel
mit einem "any any" überschreiben.
Jetzt fehlt nur noch die Zuweisung auf das "interface" und wir sind fertig:
R1(config)#int fast 0/0
R1(config-if)#ip access-group 100 in
445
10.3.3 "ANY" UND "HOST"
ANY UND HOST
Gehen wir kurz zurück zu den Optionen des "access-list" Befehls. Bei
unserer Angabe von " permit " und " deny " hatten wir noch zwei weitere
Auswahlmöglichkeiten. Einmal "any" und einmal "host". Um diese beiden
soll es in diesem Abschnitt gehen.
R1(config)#access-list 1 permit ?
A.B.C.D Address to match
any Any source host
host A single host address
Any
Der Befehl "any" ist im Prinzip nichts anderes, als eine vereinfachte
Schreibweise von
R1(config)#access-list 1 permit 0.0.0.0 255.255.255.255
Es nimmt alle Netzwerke mit 0.0.0.0 und eine "wildcard mask" mit allen Bits
auf "1". Dies bedeutet, dass jeder mögliche IP Adressbereich und Subnetz
abgedeckt und damit erlaubt, oder abgelehnt werden kann.
446
Host
Wenn wir den Befehl "host" ausschreiben, beziehen wir uns auf eine
spezielle IP Adresse, kein Netzwerk. Dies würde, sollte es mein Ziel sein
diesen auszuschließen, in der CLI von IOS so aussehen:
R1(config)#access-list 1 deny 172.12.123.1 0.0.0.0
Die IP Adresse wird vollständig angegeben - keine Netzwerk-Adresse. Die
"wildcard mask" wird vollständig auf "0" gesetzt. Da uns die Subnetzmaske
des Hosts interessiert und dieser immer abgelehnt werden soll.
Ausgeschrieben hat der "host" Befehl folgende Syntax:
R1(config)#access-list 1 deny host 172.12.123.3
Es wird die Option "host" ausgeschrieben und anschließend direkt die IP
Adresse angegeben.
447
10.4 DIE REIHENFOLGE DER ACL LINES
EINLEITUNG
Es kann bereits ausreichen, eine einzelne Zeile in der ACL Tabelle falsch zu
setzen, um die Logik dieser vollständig zu zerstören. Achtet also immer
darauf, in welcher Reihenfolge ihr diese setzt!
Wir wollen in diesem Beispiel den "traffic" von 172.18.18.0 /24 blockieren,
aber den "traffic" von allen anderen Subnetzen erlauben. Finden wir
zusammen heraus, welcher dieser vier Einträge der Richtige ist, wieso
dieser richtig ist und wieso die anderen falsch sind:
1:
R1(config)#access-list 1 deny 172.18.18.0 0.0.0.255
R1(config)#access-list 1 permit any
2:
R1(config)#access-list 2 permit any
R1(config)#access-list 2 deny 172.18.18.0 0.0.0.255
3:
R1(config)#access-list 3 deny 172.18.18.0 255.0.0.0
R1(config)#access-list 3 permit any
448
449
4:
R1(config)#access-list 4 permit any
R1(config)#access-list 4 deny 172.18.18.0 255.0.0.0
1. Die erste Zeile ist die richtige, diese Konfiguration würde nach
unserer Aufgabenstellung funktionieren.
Es stimmt hier die Reihenfolge der angegebenen Befehle, da zuerst
der "deny" in der Abfrage passiert und die "wildcard mask" ist auch
richtig angegeben ist. Die ersten 3 "octets" interessieren uns, das
letzte "octet" nicht.
2. Bei der zweiten Angabe ist alles richtig geschrieben, die IP Adresse
stimmt und die " wildcard mask " stimmt auch . Das Problem hier ist die
Reihenfolge. Bei einer ACL Abfrage würde er zuerst das " permit any "
prüfen und damit jeden "traffic" durchlassen.
3. Hier stimmt die Reihenfolge und die IP-Adresse, jedoch ist die
"wildcard mask" falsch angegeben und würde nur auf die letzten 3
Oktetts achten und nicht auf das Subnetz selbst.
4. Hier ist alles bis auf die IP Adresse falsch. Es werden alle Fehler von
Punkt 2 und 3 zusammengefasst. Die Reihenfolge ist verdreht und die
"wildcard mask" ist ebenfalls in der falschen Reihenfolge.
450
10.5 NAMED STANDARD ACL LAB
Lab Download
verfügbar
EINLEITUNG IN "NAMED STANDARD ACL"
Optionen einer "standard named" ACL.
Es wird wieder unser erstes ACL Lab verwendet. Mit diesem, dürften wir
alle ja bereits bekannt sein.
Wenn wir uns auf R1 noch einmal die Optionen für "access-list ?" ansehen,
werden wir feststellen, es wird uns keine Möglichkeit für die Angabe eines
Namens gegeben.
R1(config)#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
Das liegt daran, dass CISCO entschieden hat, dass für diese Konfiguration
ein kleiner Zusatz vor dem Befehl stehen muss. Vor "access-list" müssen wir
noch ein "ip" einfügen.
451
R1(config)#ip access-list ?
extended Extended Access List
standard Standard Access List
Beginnen wir mit einer "standard ACL" und sehen uns an, wie wir ein
solches benennen:
R1(config)#ip access-list standard ?
<1-99> Standard IP access-list number
WORD Access-list name
452
ERSTELLEN EINER "STANDARD NAMED" ACL
Tatsächlich können wir in dieser Konfiguration, wie in dem vorherigen
Kapiteln auch mit Nummern arbeiten. Unser Ziel ist es in diesem Lab mit
einem lesbaren Namen zu arbeiten, also geben wir einen passenden an.
R1(config)#ip access-list standard BLOCK11
R1(config-std-nacl)#?
<1-2147483647> Sequence Number
default Set a command to its defaults
deny Specify packets to reject
exit Exit from access-list configuration mode
no Negate a command or set its defaults
permit Specify packets to forward
remark Access list entry comment
Mit der Angabe eines Namens ist die Erstellung abgeschlossen und wir
wechseln in dessen Konfiguration "(config-std-nacl)". Ab hier funktioniert
die Konfiguration, wie bei der nummerischen Konfiguration in dem Kapitel:
10.3.1 "Standard" ACL Lab failed auch.
R1(config-std-nacl)#deny 3.3.3.0 0.0.0.255
R1(config-std-nacl)#permit any
453
Prüfen wir einmal unsere Konfiguration mit dem "show" Befehl.
R1#show ip access-list
Standard IP access list BLOCK11
10 deny 3.3.3.0 0.0.0.255
20 permit any
Löschen einer "standard named" ACL
Wenn wir nun eine benannte ACL löschen möchten, funktioniert der
bekannte Weg aus Kapitel: 10.3.1 "Standard" ACL Lab failed nicht.
Der hierfür gültige Befehl ist:
R1(config)#no ip access-list standard BLOCK11
454
10.6 NAMED EXTENDED ACL LAB
Lab Download
verfügbar
EINLEITUNG IN "NAMED EXTENDED ACL"
Und wieder starten wir mit dem gleichen Lab noch einmal von vorne, oder
bereinigen die gerade erstellte ACL Liste.
Die Erstellung einer "named extended" ACL ist bis auf den Begriff selbst
identisch:
R1(config)#ip access-list extended BLOCK11
R1(config-ext-nacl)#?
<1-2147483647> Sequence Number
default Set a command to its defaults
deny Specify packets to reject
exit Exit from access-list configuration mode
no Negate a command or set its defaults
permit Specify packets to forward
remark Access list entry comment
455
Setzen wir doch die gleiche Konfiguration, wie in dem Kapitel: 10.3.2
"Extended" ACL Lab.
Aktion Protokoll source
IP
source
wildcard
mask
destination
IP
destination
wildcard
mask
deny ip 3.3.3.0 0.0.0.255 11.11.11.0 0.0.0.255
R1(config-ext-nacl)#deny ip 3.3.3.0 0.0.0.255 11.11.11.0 0.0.0.255
R1(config-ext-nacl)#permit ip any any
Entscheidend ist natürlich, dass wir diese Regel auch wieder einem
"interface" zuweisen.
R1(config)#int fastEthernet 0/0
R1(config-if)#ip access-group BLOCK11 in
456
Eingehend oder ausgehend?
Wenn wir uns jetzt noch einmal unsere Konfiguration ansehen, werden wir
feststellen, dass uns der bisher verwendete "show" Befehl folgende
Informationen liefert:
R1#show access-list
Extended IP access list BLOCK11
10 deny ip 3.3.3.0 0.0.0.255 11.11.11.0 0.0.0.255
20 permit ip any any
Die Art der Regel
Den Namen der Regeln
Die Reihenfolge der Regeln
Das Protokoll
Die Aktion der Regeln
Die IP-Adresse
Die "wildcard mask"
Was es uns nicht verrät, ist, ob diese Regel eingehend oder ausgehend ist.
457
Um das zu kontrollieren, müssen wir das "interface", auf dem die Regel
angewendet wird, mit "show" abfragen:
R1#show ip interface fastEthernet 0/0
FastEthernet0/0 is up, line protocol is up (connected)
Internet address is 172.12.123.1/24
Broadcast address is 255.255.255.255
Address determined by setup command
MTU is 1500 bytes
Helper address is not set
Directed broadcast forwarding is disabled
Outgoing access list is not set
Inbound access list is BLOCK11
……
458
10.7 TELNET UND "EXTENDED" ACL
Lab Download
verfügbar
EINFÜHRUNG IN DAS LAB
Dies dürfte das bisher größte Lab sein. Schaut euch die Konfiguration in
aller Ruhe an und beginnt anschließend erst mit der Übung.
Vorweg sei gesagt, dass:
R2 und R3 noch eine zusätzliche Netzwerkkarte haben: Ethernet
0/0/0.
RIPv2 ist auf allen Routern aktiviert.
RIP "auto-summary" ist auf allen Routern deaktiviert.
459
AUFGABENSTELLUNG
Unser Ziel ist es einen eingeschränkten Telnet Zugriff zu konfigurieren. Hier
starten wir auf dem R1 Router, setzen ein Passwort und aktivieren den
Zugriff via Telnet auf den standard "virtual interfaces".
R1(config)#line vty 0 4
R1(config-line)#password pass
R1(config-line)#privilege level 15
R1(config-line)#login
460
Anschließend testen wir noch den Telnet Zugriff ohne die ACL Regeln von
Host1 auf R1.
Das funktioniert noch wunderbar. Jetzt gehen wir einmal davon aus, dass
unser Administrativer Host, Host2 ist und sonst kein Host auf den Router via
Telnet zugreifen soll. Hierfür benötigen wir eine "extended ACL" auf dem
Router R1.
461
Befehl
ACL
number
Aktion
Protokoll
Bezug auf
Source ip
destination
ip
Bedingung
(gleich)
Port
access-list 100 permit tcp host 20.1.1.2 any eq 23
R1(config)#access-list 100 permit tcp host 20.1.1.2 any eq 23
R1(config)#access-list 100 deny ip any any
R1#show access-list
Extended IP access list 100
10 permit tcp host 20.1.1.2 any eq telnet
20 deny ip any any
Da wir nun eine ACL Regel definiert haben, müssen wir diese noch auf ein
"virtual interface" legen. Das stellt uns vor eine neue Herausforderung,
denn diese sind nicht wie ein physisches zu adressieren.
R1(config)#line vty 0 4
R1(config-line)#access-class ?
<1-199> IP access list
WORD Access-list name
Es wird ein neuer Befehl eingeführt: "access-class". Dieser wird benötigt,
um ACL Regeln auf "virtual interfaces" zu legen.
462
R1(config-line)#access-class 100 ?
in Filter incoming connections
out Filter outgoing connections
R1(config-line)#access-class 100 in
Damit ist alles konfiguriert und kann getestet werden.
Wie gewünscht, können wir uns von Host2 anmelden, von Host22 und den
anderen allerdings nicht.
10.7.1 REGEL MIT EINEM TIMER
Wir haben gerade unseren Zugriff auf Telnet beschränkt, so dass nur noch
Host2 auf diesen zugreifen kann. Was ist jetzt, wenn wir das ganze
zusätzlich zeitlich begrenzen wollen? Sagen wir, man darf nur während der
463
Geschäftszeiten von 08:00 Uhr bis 18:00 Uhr eine Telnet Verbindung zu
dem Router aufbauen.
Vorweg sei gesagt, dass diese Funktion nicht in dem Packet Tracer
verfügbar ist.
R1(config)#time-range ?
WORD Time range name
R1(config)#time-range TELNET_ALLOWED
R1(config-time-range)#periodic weekdays ?
Hh:mm Starting time
R1(config-time-range)#periodic weekdays 09:00 ?
to Ending day and time
R1(config-time-range)#periodic weekdays 09:00 to ?
hh:mm Ending time - stays valid until beginning of netxt minute
R1(config-time-range)#periodic weekdays 08:00 to 18:00
464
Abfragen könnt ihr die definierten Zeitabschnitte mit dem "show" Befehl:
R1#show time-range
Time-range entry: TELNET_ALLOWED (inactive)
periodic weekdays 9:00 to 17:00
Dieser definierte Bereich kann jetzt einer ACL zugewiesen werden.
R1(config)#access-list 100 permit tcp host 2.1.1.2 any time-range TELNET_ALLOWED
10.7.2 SEQUENCE NUMBER - REIHENFOLGE DER ACL
WOFÜR SIND DIE SEQUENCE NUMBERS?
Wenn wir die neue Zeile mit dem Zeitfenster in unserer ACL eintragen, sieht
die Konfiguration folgendermaßen aus:
R1#show access-lists
Extended IP access list 100
10 permit tcp host 20.1.1.1 any eq telnet
20 deny ip any any
30 permit tcp host 2.1.1.1 any time-range TELNET_ALLOWED (inactive)
465
Erinnert euch zurück, die Reihenfolge ist ausschlaggebend. Die erste
Übereinstimmung, die gefunden wird, beendet sofort die Abfrage der ACL
und führt diese aus.
Wir müssen also die Reihenfolge unserer Zeilen bearbeiten, da die Regel
mit dem Zeitfenster niemals abgefragt wird.
Wenn wir einen solchen Fall haben, ist die letzte Zeile zu entfernen und
anschließend wieder mit einer modifizierten "sequence number"
hinzuzufügen.
Hier können wir den Eintrag zwischen "10" und "20" positionieren. Es
empfiehlt sich immer vor und nach den Zeilen etwas Platz für zukünftige
Einträge zu lassen.
Entfernen des Eintrages:
Wie bei den meisten Befehlen setze ich ein "no" vor die vorherige Angabe.
R1(config)#no access-list 100 permit tcp host 2.1.1.1 any time-range TELNET_ALLOWED
Sehen wir uns zur Überprüfung unsere "access-list" an:
R1#show access-list
R1#
466
Oh, alles ist weg?! Wenn man eine ACL bearbeiten will, muss man sehr
vorsichtig bei der Löschung von Einträgen sein. Wenn man "no" verwendet,
wird der Befehl folgendermaßen betrachtet:
R1(config)#no access-list 100
Alles was nach der Nummer oder dem Namen kommt, ist IOS egal, somit
haben wir die gesamte ACL gelöscht. Also pflege ich noch einmal alles ein
und wir schauen uns den richtigen Weg an.
R1(config)#access-list 100 permit tcp host 20.1.1.1 any eq 23
R1(config)#access-list 100 deny ip any any
R1(config)#access-list 100 permit tcp host 2.1.1.1 any time-range TELNET_ALLOWED
R1#show access-list
Extended IP access list 100
10 permit tcp host 20.1.1.1 any eq telnet
20 deny ip any any
30 permit tcp host 2.1.1.1 any time-range TELNET_ALLOWED (inactive)
Die Konfiguration für die "seqence number" findet sich unter "ip access-list".
R1(config)#ip access-list extended 100
R1(config-ext-nacl)#
Wichtig ist dabei auch immer anzugeben, ob es sich um eine "extended"
oder "standard" ACL handelt.
467
Beachtet, es ist nicht möglich einer Regel eine neue Nummer zu geben,
oder denselben Befehl einfach noch einmal mit einer gewünschten
Nummer einzugeben. Die Zeile muss gelöscht werden.
R1(config-ext-nacl)#no 30
R1#show access-lists
Extended IP access list 100
10 permit tcp host 20.1.1.1 any eq telnet
20 deny ip any any
Nach einer kurzen Kontrolle können wir jetzt die Regel, mit der von uns
gewünschten "sequence number" anlegen.
R1(config)#ip access-list extended 100
R1(config-ext-nacl)#15 permit tcp host 2.1.1.1 any time-range TELNET_ALLOWED
R1#show access-list
Extended IP access list 100
10 permit tcp host 20.1.1.1 any eq telnet
15 permit tcp host 2.1.1.1 any time-range TELNET_ALLOWED (inactive)
20 deny ip any any
468
BONUS 10: CHEATSHEET
Grundregeln:
Jede ACL hat einen impliziten "deny" am Ende.
ACL sucht nach einer Übereinstimmung, beginnend mit der "top
line".
Wenn eine Übereinstimmung gefunden wird, beendet dies sofort
die Suche.
Die Suche läuft "line by line".
Wenn keine Übereinstimmung gefunden wird, greift die "implicit
deny" Regel.
Wildcard Mask
Ist ein Spiegel gegenüber der Subnetz Maske auf Bit-Ebene.
Die "0"en in der "mask" sind sozusagen die "es interessiert mich" Bits,
welche übereinstimmen müssen, damit die ACL Zeile zutreffend sein
kann.
Die "1"en in der "mask" sind die "es interessiert mich NICHT" Bits und
benötigen mit der ACL Zeile keine Übereinstimmung damit diese in
Kraft treten kann.
/28 "prefix notation"
469
1. Octet 2. Octet 3. Octet 4. Octet
Interessiert 00000000 00000000 00000000 0000
NICHT Interessiert 1111
0.0.0.15 = Die "wildcard mask"
Standard ACL
Bezieht sich ausschließlich auf die "source ip address".
Nummerierung: <1-99>. Erweitert: <1300-1999>.
Sollte, wenn eine solche verwendet werden muss, immer möglichst
nahe an der "destination" gesetzt werden.
Extended ACL
Kann sich zusätzlich zur "source ip address", auch auf spezifische
"destination ip address", oder Hosts beziehen.
Nummerierung: <100-199>. Erweitert: <2000-2699>.
Wird, um "traffic" und Rechenleistung zu sparen, so nah wie möglich
an der "source" gesetzt.
470
BEFEHLE:
Standard ACL verbieten:
R1(config)#access-list 1 deny 3.3.3.0 0.0.0.255
Erlaubt alle Verbindungen:
R1(config)#access-list 1 permit any
Setzt die ACL auf ein Interface (eingehend):
R1(config-if)#ip access-group X in
Erstellt einen Extended ACL source und destination:
R1(config)#access-list 100 deny ip 3.3.3.0 0.0.0.255 11.11.11.0 0.0.0.255
Verbietet alle Verbindungen extended:
R1(config)#access-list 100 permit ip any any
Erstellt eine standard named ACL:
R1(config)#ip access-list standard BLOCK11
Löschen einer named ACL:
R1(config)#no ip access-list standard BLOCK11
Löschen einer ACL:
R1(config)#no access-list 100
471
Setzt eine named ACL auf ein Interface:
R1(config-if)#ip access-group BLOCK11 in
Abfrage, ob in oder out ACL auf ein Interface:
R1#show ip interface fastEthernet 0/0
ACL auf ein virtuelles Interface setzen:
R1(config)#line vty 0 4
R1(config-line)#access-class 100 in
Erstellt einen Zeitraum:
R1(config)#time-range TELNET_ALLOWED
Definiert einen Zeitraum:
R1(config-time-range)#periodic weekdays 08:00 to 18:00
Erstellt eine ACL Zeile für eine Zeitraum Regel:
R1(config)#access-list 100 permit tcp host 2.1.1.2 any time-range
TELNET_ALLOWED
Löschen einer ACL Zeile, anhand sequence number:
R1(config)#ip access-list extended 100
R1(config-ext-nacl)#no 30
472
Sequence number selbst bestimmen bei Regelerstellung:
R1(config)#ip access-list extended 100
R1(config-ext-nacl)#15 permit tcp host 2.1.1.1 any time-range
TELNET_ALLOWED
473
11. NETWORK TIME PROTOCOL
11.1 WOFÜR ÜBERHAUPT DIE UHREIT
EINLEITUNG
NTP Network time protocol
Wieso brauchen wir auf einem Switch oder Router eigentlich eine Uhrzeit
oder ein Datum? Nehmen wir, als Beispiel das Kapitel: 10.7.1 Regel mit
einem Timer, in welchem wir eine ACL Regel erstellt haben, die einen
Zugriff nur zu bestimmten Zeiten erlaubt.
ACL Regeln
Sollten die Router nicht oder falsch konfiguriert sein, ist es wahrscheinlich,
dass diese Regeln nicht, wie gewünscht funktionieren:
474
Log Auswertungen
Ein weiteres und noch größeres Problem können unsere Log-Files "syslog
timestamps" sein. Stellt euch vor, es gibt ein Problem, welches ihr lösen
müsst und es tritt nur zu bestimmten Zeiten auf. Spätestens jetzt wird bei
den meisten die Frustrationsgrenze überschritten, wenn die Zeiten, sowie
das Datum sämtlicher Logs nicht stimmen.
Zertifikate
Es gibt dann auch noch die Zertifikate, welche bei zu weit auseinander
gehenden Zeiten zwischen den Geräten von der Gegenseite als ungültig
erklärt werden. Das kann so weit gehen, dass Verbindungen nicht mehr
aufgebaut werden können - abgelehnt werden.
DEFINITION
475
Es ist also klar, dass es sich hier nicht um eine optionale Konfiguration
handelt, sondern eine entscheidende. NTP erlaubt es uns eine Quelle
festzulegen, von der unsere Switche und Router eine gültige Zeit beziehen
und dies innerhalb unseres Netzwerkes oder von einer externen Quelle.
Diese Konstellation ist in der Regel gemischt. Oft gibt es ein oder zwei
Geräte, welche die Zeit extern beziehen. Die restlichen Geräte in dem
internen Netzwerk beziehen ihre Zeit dann von diesen.
Bei diesen externen "outside" Zeitservern spricht man auch von "public NTP
servers". Diese sind über den UDP Port 123 erreichbar. Stellt also sicher,
dass euer Gerät den Port auch verwenden kann, über welchen er die Zeit
synchronisiert.
Ein CISCO Router kann vier verschiedene Zustände einnehmen:
NTP Server
NTP Client
NTP Peer
NTP Broadcasts
Server und Client
Die Server - Client Beziehung verhält sich, wie bei allen anderen Services
auch, der Server gibt die Informationen, der Client nimmt diese entgegen.
476
477
Peer
Bei einem "peer" vergleichen alle "peers" untereinander ihre Uhrzeit, sowie
Datum und einigen sich untereinander auf eine gemeinsame Konfiguration.
Broadcasts
Hier sendet das Gerät einfach einen Broadcast mit der aktuellen Uhrzeit
und dem aktuellen Datum in das Netzwerk und hofft, dass alle Geräte, die
diese Information benötigen, diese auch empfangen.
11.2 NTP SERVER LAB
Lab Download
verfügbar
EINLEITUNG
In diesem Lab werden wir einen NTP Master und einen NTP Client
konfigurieren.
478
Der Aufbau sieht folgendermaßen aus:
PRAXIS LAB
Fragen wir doch im ersten Schritt die Zeit von unserem zukünftigen NTP
Master ab.
R1#show clock
*0:8:51.198 UTC Mon Mar 1 1993
Das sieht nicht gut aus. Es besteht dringender Handlungsbedarf, das Jahr
1993 ist schon lange vorbei.
Da der Packet Tracer keine Verbindung nach außen herstellen kann, setzen
wir die Zeit auf dem NTP Master manuell.
R1#clock set 18:00 Nov 10 2018
Den Router R2 lassen wir bewusst auf der fehlerhaften Uhrzeit, damit wir
auch das Resultat unserer Konfiguration sehen können.
479
Da die Uhrzeit nun stimmt, können wir dem Router R1 die NTP Master Rolle
einstellen.
R1(config)#ntp master ?
<1-15> Act as NTP master clock
<cr>
R1(config)#ntp master
Es gibt bei der NTP Master Rolle eine Nummerierung, welche sich aus dem
Abstand der Hobs ergibt. Da wir die Anzahl durch unseren Service Provider
nicht wissen, lassen wir diese weg.
Sehen wir uns die Konfiguration von R2 an:
R2(config)#ntp ?
authenticate Authenticate time sources
authentication-key Authentication key for trusted time sources
master Act as NTP master clock
server Configure NTP server
trusted-key Key numbers for trusted time sources
update-calendar Configure NTP to update the calendar.
Es gibt in der NTP Hilfe keine Option für einen NTP-Client. Die
Bezeichnungen von IOS sind hier etwas irreführend.
480
Um einen Client zu konfigurieren, benötigen wir die Option "server".
Die Syntax ist so aufgebaut, dass bei dieser Option kein Server konfiguriert,
sondern ein Server angegeben wird.
R2(config)#ntp server 172.12.123.1 ?
burst Send a burst when peer is reachable (Default)
iburst Send a burst when peer is unreachable (Default)
key Configure peer authentication key
maxpoll Maximum poll interval
minpoll Minimum poll interval
prefer Prefer this peer when possible
source Interface for source address
version Configure NTP version
<cr>
Wir können diesen Befehl so absenden, da alle weiteren Optionen für uns
optional sind.
481
Für eine Redundanz empfiehlt es sich mehrere NTP-Master anzugeben.
Diese werden einzeln eingetragen:
R2(config)#ntp server 172.12.123.1
R2(config)#ntp server x.x.x.x
R2(config)#ntp server x.x.x.x
R2(config)#ntp server x.x.x.x
Ebenfalls kann ich nur empfehlen mit der Option "prefer" die wichtigsten
NTP-Master zu markieren damit diese, wenn möglich abgefragt werden.
Leider ist diese Option in dem Packet Tracer nicht vorhanden:
R2(config)#ntp server 172.12.123.1 prefer
Kontrollieren wir jetzt einmal unsere Uhrzeit und unser Datum (Beachtet,
die Synchronisation kann einige Minuten in Anspruch nehmen):
R2#show clock
18:21:43.916 UTC Sat Nov 10 2018
482
Um zu kontrollieren, welchen Zeitserver unser Gerät verwendet, können
wir einen "show" Befehl absetzen:
R2#show ntp associations
address ref clock st
when
poll
reach
delay
offset
disp
*~172.12.123.1
127.127.1.1
8 14 16 17 0.00 0.00 0.12
* sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured
Merkt euch den Eintrag: "st 8", wir werden gleich auf diesen
zurückkommen.
Sehen wir uns jetzt noch kurz unseren NTP-Status an:
R2#show ntp status
Clock is synchronized, stratum 16, reference is 172.12.123.1
nominal freq is 250.0000 Hz, actual freq is 249.9990 Hz, precision is 2**24
reference time is 0FB6AE4F.0000024D (13:8:31.589 UTC Fr Jul 22 2044)
clock offset is 0.00 msec, root delay is 0.00 msec
root dispersion is 10.06 msec, peer dispersion is 0.12 msec.
loopfilter state is 'CTRL' (Normal Controlled Loop), drift is - 0.000001193 s/s system poll interval is 4, last update was 13 sec ago.
Hier sehen wir wieder den "st" Wert aus der Tabelle.
483
Stratum Levels sind eine "Bewertung" der Entfernung zu dem Zeitserver. Es
beginnt mit stratus-0, welcher der Zeitserver von allen Zeitservern ist - eine
Atomuhr. Darauf folgen die üblichen NTP-Zeitserver, mit welchen sich jeder
im Internet verbinden kann.
Diese Ausgabe bedeutet für uns, dass unser Router R1 eine höhere
Gewichtung hat, als die interne Uhr des Routers R2.
11.2.1 NTP SERVER-PEER LAB
EINLEITUNG IN DAS LAB
In diesem Lab bringen wir einen dritten Router R3 in das Netzwerk und
wollen, dass dieser die "peer" Funktion verwendet, um seine Zeit von dem
Router R2 zu erhalten. Bitte beachtet, dass die "peer" Funktion ebenfalls
nicht in dem Packet Tracer verfügbar ist.
484
PRAXIS LAB
R1: Gig 0/0 172.12.123.1 /24
R2: Gig 0/0 172.12.123.2 /24
R3: Gig 0/0 172.12.123.3 /24
Die Konfiguration von R1 und R2 sind identisch zu dem Lab 11.2 NTP Server
Lab.
485
Starten wir mit der "peer" Konfiguration auf dem Router R2:
R2(config)#ntp peer ?
A.B.C.D IP address of peer
WORD Hostname of peer
X:X:X:X::X IPv6 address of peer
ip Use IP for DNS resolution
ipv6 Use IPv6 for DNS resolution
vrf VPN Routing/Forwarding Information
R2(config)#ntp peer 172.12.123.3 ?
burst Send a burst when peer is reachable (Default)
iburst Send a burst when peer is unreachable (Default)
key Configure peer authentication key
maxpoll Maximum poll interval
minpoll Minimum poll interval
normal-sync Disable rapid sync at startup
prefer Prefer this peer when possible
source Interface for source address
version Configure NTP version
<cr>
486
R2(config)#ntp peer 172.12.123.3
Damit hätten wir den Router R2 fertig konfiguriert und wechseln jetzt zu
Router R3:
R3(config)#ntp peer 172.12.123.3
R3(config)#ntp peer 172.12.123.2
R3(config)#no ntp peer 172.12.123.3
Solltet ihr euch, wie ich in diesem Beispiel einmal vertippt haben, oder ein
NTP-"peer" nicht mehr vorhanden sein, könnt ihr ihn, wie mit den meisten
Befehlen auch, mit "no" wieder entfernen.
Damit ist die Konfiguration abgeschlossen und es heißt wieder warten bis
die NTP Zeiten abgeglichen sind.
R3#show clock
*19:00:42.235 UTC Sat Nov 10 2018
Und fertig. Noch eine kleine Information: Vorhin ging es kurz um die
"stratum numbers" und diese kommen hier auch wieder zum Einsatz. Die
Nummer, die über den peer Abgleich ist, ist höher als über den NTP-Master
/ Server Abgleich.
487
Damit ist sichergestellt, dass die Uhrzeit auf dem Router R2, nicht durch
den "peer" falsch gestellt wird.
R3#show ntp associations
address ref clock st when poll reach delay offset disp
*~172.12.123.2 172.12.123.1 9 31 64 16 36.693 -1.595 1938.0
* sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured
11.2.3 NTP BROADCAST MODE
EINFÜHRUNG IN DAS LAB
Auch diese Funktion werdet ihr nicht in dem CISCO Packet Tracer finden.
Ich verwende meine Umgebung aus dem letzten Kapitel.
488
R1 ist absolut identisch zu dem vorherigen Lab.
R2 hat keine NTP Konfigurationen mehr.
R3 hat keine NTP Konfigurationen mehr.
R1#show ntp associations
address ref clock st when poll reach delay offset disp
*~127.127.1.1 .LOCL. 7 10 16 377 0.000 0.000 0.239
* sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured
R2#show ntp associations
R2#
R3#show ntp associations
R3#
489
NTP im "broadcast mode" ist keine globale Konfiguration, es handelt sich
um eine Konfiguration auf der "interface" Ebene. Behaltet das im
Hinterkopf.
DAS PRAXIS LAB
Starten wir mit dem Wechsel in das "interface" Gig 0/0 und sehen uns
einmal die Optionen an, die NTP uns dort bietet:
R1(config-if)#ntp ?
broadcast Configure NTP broadcast service
disable Disable NTP traffic (both IP and IPv6)
multicast Configure NTP multicast service
Wir können "multicast" machen, was wir mit "Client, Server - Peer" bereits
gemacht haben.
490
Wir können es ebenfalls deaktivieren, oder wir können, was wir auch
wollen, "broadcast" aktivieren.
R1(config-if)#ntp broadcast ?
client Listen to NTP broadcasts
destination Configure broadcast destination address
key Configure broadcast authentication key
version Configure NTP version
<cr>
R1(config-if)#ntp broadcast
An unserem Master können wir diesen Befehl, so wie er ist, abschicken.
Wichtig ist, dass ohne weitere Optionen in dem Befehl immer eine Master-
Rolle konfiguriert wird. Achtet also darauf, dass ihr bei einem Client, welche
die Uhrzeit empfangen soll, diese Option auch angegeben wird.
Nun zu der Client Konfiguration an Router R2 und Router R3 :
R2(config-if)#ntp broadcast client
R3(config-if)#ntp broadcast client
Damit ist die Konfiguration abgeschlossen. Schauen wir uns noch einmal
unsere Konfiguration mit "show" an einem Client an.
491
R2#show ntp associations
address ref clock st when poll reach delay offset disp
* 172.12.123.1 127.127.1.1 8 35 64 1 20.172 9.679 7937.5
* sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured
Es ist nicht auf den ersten Blick ersichtlich, aber bei einer "broadcast"
Konfiguration wird dem Eintrag in der Tabelle kein "~ configured"
vorausgeschrieben, da dieser nicht konfiguriert ist, sondern empfangen
wurde.
492
BONUS 11: CHEATSHEET
NTP Network time protocol
Wofür:
ACL Regeln
Log Auswertungen
Zertifikate
Vier verschiedene Zustände:
NTP Server
NTP Client
NTP Peer
NTP Broadcasts
Server und Client
Die Server - Client Beziehung verhält sich, wie bei allen anderen Services
auch: Der Server gibt die Informationen, der Client nimmt diese entgegen.
493
Peer
Bei einem "peer" vergleichen alle "peers" untereinander ihre Uhrzeit und
ihr Datum und einigen sich untereinander auf eine gemeinsame
Konfiguration.
Broadcasts
Hier sendet das Gerät einfach einen Broadcast mit der aktuellen Uhrzeit
und dem aktuellen Datum in das Netzwerk.
Welche Ebene
Server, Client und Peer werden in der globalen Konfiguration gesetzt.
Broadcast wird auf der Interface Ebene gesetzt.
BEFEHLE:
Gibt die aktuelle Uhrzeit und das Datum aus:
R1#show clock
Setzt manuell die Uhrzeit und das Datum:
494
R1#clock set 18:00 Nov 10 2018
Setzt das Gerät als NTP-Server:
R1(config)#ntp master
Gibt einen NTP-Server für den Client an:
R2(config)#ntp server 172.12.123.1
Gibt den bevorzugten NTP-Server für den Client an:
R2(config)#ntp server 172.12.123.1 prefer
Gibt die Zeit-Server Liste aus
R2#show ntp associations
Zeigt den Synchronisierungs-Status mit dem Zeit-Server an:
R2#show ntp status
Gibt einen den NTP Peer Partner an:
R2(config)#ntp peer 172.12.123.3
Setzt den NTP Broadcast Master Modus:
R1(config-if)#ntp broadcast
Setzt den NTP Broadcast Client Modus:
R2(config-if)#ntp broadcast client
495
496
12. NAT UND PAT
12.1 WAS IST NAT UND PAT
EINLEITUNG
NAT Network Address Translation
PAT Port Address Translation
NAT ermöglicht es eine private IP Adresse in eine nicht private IP Adresse -
" Routbare Adresse " zu übersetzen . Ohne diese Übersetzung durch NAT
wäre es einem Host mit der privaten Adresse von 192.168.1.1 / 24 nicht
möglich nach außen in das Internet zu kommunizieren.
497
Die Adressen, welche nicht "routbar" sind, wurden in dem RFC1918
definiert - die privaten Adressen.
Als kleine Erinnerung:
Die Subnetzmasken der privaten IP Adressen sind NICHT dieselben, wie bei
den der vollen IP-Klassen.
Klassen Subnetzmaske
Class A (/8)
Class B (/16)
Class C (/24)
Private IP-Subnetze anhand der Klassen:
Class A: 10.0.0.0 /8
Class B: 172.16.0.0 /12
Class C: 192.168.0.0 /16
BEZEICHNUNGEN DER ADRESSEN
Die Zustände der IP Adressen, während einer NAT Übersetzung, haben die
folgenden Bezeichnungen:
498
Inside local address
Inside global address
Outside local address
Outside global address
Inside local address
Diese bezeichnet die IP Adresse, welche der Host für die interne
Kommunikation, in seinem eigenen Netzwerk mit anderen Hosts
verwendet. Es ist die Adresse, welche nach außen übersetzt wird.
192.168.1.1 /24
Inside global address:
Die "inside local address" wird von dem Router in eine "routbare"- globale
Adresse übersetzt.
Diese könnte lauten:
20.1.1.1 /24
Outside *** address
Sind die gleichen Adressen, wie bei "Inside", lediglich aus der Sicht des
Empfängers betrachtet. Es kommt also immer auf die Betrachtung an, ob es
sich um einen "inside" oder eine "outside" Adresse handelt.
499
12.2 STATIC NAT LAB
Lab Download
verfügbar
EINLEITUNG
Die erste nicht weit verbreitete Möglichkeit NAT zu verwenden ist statisch.
SNAT Static Network Address Translation
500
Verwendet wird es in der Regel, wenn nur wenige Hosts NAT benötigen. Ein
weiteres Szenario könnte sein, dass es einen Server gibt, welcher NAT
verwenden muss, es aber nicht über einen dynamischen Pool geschehen
soll. Durch das statische NAT wird dem Host eine statische globale Adresse
vergeben, man könnte von einem eins-zu-eins "mapping" der "inside
private" und "inside global" Adresse sprechen.
Für eine Demonstration werden wir mit einem Router und zwei Loopback
Netzwerken in diesem Lab arbeiten:
Wichtig bei SNAT ist, dass wir uns im Klaren sind, dass zwei "mappings"
benötigt werden.
IP NAT "inside"
IP NAT "outside"
Diese müssen auf den dafür vorgesehenen "interfaces" "gemappt" werden.
501
Startet, wenn möglich bei der SNAT Konfiguration auf der "interface"
Ebene.
Dabei gilt die Faustregel:
IP NAT inside -> so nah am Host wie möglich
IP NAT outside -> auf dem "exit interface" des Routers welcher
NAT ausführt.
PRAXIS
502
Sehen wir uns einmal auf der "interface" Ebene an, was wir für
Möglichkeiten bei NAT haben:
R1(config)#int loopback 1
R1(config-if)#ip nat ?
inside Inside interface for address translation
outside Outside interface for address translation
In diesem Lab wollen wir erreichen, dass die beiden Loopback Netzwerke
als "NAT inside" und das Fast0/0 "interface" als "NAT Outside" definiert
werden.
Setzen wir also im ersten Schritt die beiden Loopback Netzwerke also
"inside":
R1(config-if)#int loopback 1
R1(config-if)#ip nat inside
R1(config-if)#int loopback 2
R1(config-if)#ip nat inside
R1(config-if)#exit
Jetzt fehlt uns noch das "NAT outside" auf Fast 0/0:
R1(config)#int fastEthernet 0/0
R1(config-if)#ip nat outside
Da die "interfaces" nun vorbereitet sind, können wir mit der eigentlichen
SNAT Konfiguration beginnen.
503
Inside SNAT Konfiguration:
R1(config)#ip nat inside ?
source Source address translation
R1(config)#ip nat inside source ?
list Specify access list describing local addresses
static Specify static local->global mapping
R1(config)#ip nat inside source static ?
A.B.C.D Inside local IP address
tcp Transmission Control Protocol
udp User Datagram Protocol
R1(config)#ip nat inside source static 10.1.1.1 ?
A.B.C.D Inside global IP address
R1(config)#ip nat inside source static 10.1.1.1 200.1.1.1 ?
<cr>
R1(config)#ip nat inside source static 10.1.1.1 200.1.1.1
R1(config)#ip nat inside source static 10.1.1.2 200.1.1.2
Damit haben wir beiden Loopback Adressen eine globale Adresse für SNAT
hinterlegt. Um unsere Konfiguration noch zu prüfen, verwenden wir den
"show" Befehl:
R1#show ip nat translation
Pro Inside global
Inside local
Outside local
Outside global
504
--- 200.1.1.1 10.1.1.1 --- ---
--- 200.1.1.2 10.1.1.2 --- ---
12.3 DYNAMIC NAT LAB
Lab Download
verfügbar
EINLEITUNG
DNAT Dynamic Network Address Translation
Das Problem von SNAT ist, dass es durch seine statische Konfiguration nicht
skalierbar ist. Sollten nur sehr wenige Hosts eine "network address
translation" benötigen, kann dies wunderbar funktionieren. Bei einem
großen Netzwerk wird dies schnell unübersichtlich und nicht mehr
verwaltbar.
505
DNAT dagegen, können wir uns wie einen DHCP-Server vorstellen. Wir
müssen uns nicht mehr darum kümmern, jedem Host eine "global address"
zuzuweisen. Diese Aufgabe übernimmt das Protokoll für uns.
Hinzu kommt noch, dass hier keine veralteten Einträge liegen bleiben, denn
das Protokoll löscht die "mapping" Einträge, sobald eine Verbindung nicht
mehr als "active" gekennzeichnet ist.
Wir verwenden für dieses Lab wieder das gleiche Lab:
PRAXIS
Im ersten Schritt aktivieren wir NAT wieder auf der "interface" Ebene:
R1(config)#int loopback 1
R1(config-if)#ip nat inside
R1(config-if)#int loopback 2
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#int fastEthernet 0/0
R1(config-if)#ip nat outside
Da wir wie bei DHCP mit einem "address-pool" arbeiten werden, ist dieser
ebenfalls zu konfigurieren.
506
Setzen wir also einen Bereich / "Pool" an Adressen auf, welcher
anschließend von DNAT verwendet werden kann.
R1(config)#ip nat ?
inside Inside address translation
outside Outside address translation
pool Define pool of addresses
R1(config)#ip nat poo
R1(config)#ip nat pool ?
WORD Pool name
R1(config)#ip nat pool ADDRESSPOOL ?
A.B.C.D Start IP address
R1(config)#ip nat pool ADDRESSPOOL 200.1.1.1 ?
A.B.C.D End IP address
R1(config)#ip nat pool ADDRESSPOOL 200.1.1.1 200.1.1.100 ?
netmask Specify the network mask
R1(config)#ip nat pool ADDRESSPOOL 200.1.1.1 200.1.1.100 netmask ?
A.B.C.D Network mask
R1(config)#ip nat pool ADDRESSPOOL 200.1.1.1 200.1.1.100 netmask 255.255.255.0 ?
<cr>
R1(config)#ip nat pool ADDRESSPOOL 200.1.1.1 200.1.1.100 netmask 255.255.255.0
Mit diesem Befehl haben wir einen "pool" mit den Adressen von: 200.1.1.1
bis: 200.1.1.100 definiert. Identifizieren können wir diesen immer an der
vergebenen Bezeichnung "ADDRESSPOOL".
507
Damit das dynamische NAT angewendet werden kann, benötigen wir noch
eine ACL, in welcher festgelegt wird, welche Hosts diese verwenden dürfen.
R1(config)#access-list 1 permit host 10.1.1.1
R1(config)#access-list 1 permit host 10.1.1.2
Da die gewünschten Hosts jetzt in der ACL 1 hinterlegt sind, können wir das
"inside NAT" fertig konfigurieren.
R1(config)#ip nat inside ?
source Source address translation
R1(config)#ip nat inside source ?
list Specify access list describing local addresses
static Specify static local->global mapping
R1(config)#ip nat inside source list ?
<1-199> Access list number for local addresses
WORD Access list name for local addresses
R1(config)#ip nat inside source list 1 ?
interface Specify interface for global address
pool Name pool of global addresses
R1(config)#ip nat inside source list 1 pool ?
WORD Name pool of global addresses
R1(config)#ip nat inside source list 1 pool ADDRESSPOOL ?
overload Overload an address translation
<cr>
508
Fügt für einen Test dem Lab noch einen weiteren Router hinzu und gebt
diesem die IP Adresse 172.12.123.2 /24.
Nachdem dies geschehen ist, setzt einen Ping von dem Loopback1 auf das
"interface" von Router 2 ab.
R1#ping
Protocol [ip]:
Target IP address: 172.12.123.2
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 10.1.1.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.12.123.2, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
R1#show ip nat translations
Pro Inside global
Inside local
Outside local Outside global
icmp
200.1.1.1:61
10.1.1.1:61
172.12.123.2:61
172.12.123.2:61
509
12.4 PAT LAB
Lab Download
verfügbar
EINLEITUNG
PAT Port Address Translation
auch gerne als NAT "overloading" bezeichnet, erlaubt es uns mehrere
Private IP-Adressen "inside local" auf eine einzelne "routable address"
Adresse zu münzen. Bei PAT wird hier keine neue "static" oder "dynamic"
Adresse generiert, sondern direkt die ausgehende IP-Adresse des Routers
verwendet.
Um dies zu ermöglichen, wird die private IP-Adresse mit einer Port Number
kombiniert. Durch die Kombination aus diesen, ist es dem Router möglich
mehrere "inside hosts" auf eine "routable" IP Adresse über NAT zu mappen.
Das bedeutet für unsere Konfiguration, dass wir für PAT ebenfalls ein:
510
IP NAT inside
IP NAT outside
auf den betroffenen "interfaces" zu konfigurieren haben.
PRAXIS
Als erstes definieren wir "inside" und "outside" NAT auf der "interface"
Ebene.
R1(config)#int loopback 1
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#int loopback 2
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#int fastEthernet 0/0
R1(config-if)#ip nat outside
Anschließend benötigen wir noch eine ACL, wie bei der DNAT
Konfiguration:
R1(config)#access-list 1 permit host 10.1.1.1
R1(config)#access-list 1 permit host 10.1.1.2
511
Damit sind unsere Vorbereitungen für PAT - "NAT overloading" getätigt und
wir können mit "ip nat inside" auf der "interface" Ebene das ganze
aktivieren:
R1(config)#ip nat inside ?
source Source address translation
R1(config)#ip nat inside source ?
list Specify access list describing local addresses
static Specify static local->global mapping
R1(config)#ip nat inside source list 1 ?
interface Specify interface for global address
pool Name pool of global addresses
R1(config)#ip nat inside source list 1 interface ?
Ethernet IEEE 802.3
FastEthernet FastEthernet IEEE 802.3
GigabitEthernet GigabitEthernet IEEE 802.3z
Serial Serial
R1(config)#ip nat inside source list 1 interface FastEthernet 0/0 ?
overload Overload an address translation
<cr>
R1(config)#ip nat inside source list 1 interface FastEthernet 0/0 overload ?
<cr>
512
R1(config)#ip nat inside source list 1 interface FastEthernet 0/0 overload
Fügt, wie in dem vorherigen Kapitel auch, einen zweiten Router mit der IP
Adresse: 172.12.213.2 /24 hinzu und setzt einen Ping auf diesen ab.
R1#ping
Protocol [ip]:
Target IP address: 172.12.123.2
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 10.1.1.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.12.123.2, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/2/10 ms
R1#show ip nat translations
Pro Inside global
Inside local
Outside local
Outside global
icmp
172.12.123.1:11
10.1.1.1:11
172.12.123.2:11
172.12.123.2:11
513
Wie an dem Ergebnis zu sehen ist, verwenden wir mit PAT tatsächlich das
"exit interface" des Routers und generieren nicht wie bei NAT eine "global"
IP-Adresse für den Host.
Wenn ihr einmal eine Übersicht über den NAT / PAT Verkehr benötigt,
verwendet folgenden "show" Befehl:
R1#show ip nat statistics
Total translations: 0 (0 static, 0 dynamic, 0 extended)
Outside Interfaces: FastEthernet0/0
Inside Interfaces: Loopback1 , Loopback2
Hits: 5 Misses: 24
Expired translations: 5
Dynamic mappings:
Dieser legt euch direkt offen, welche " interfaces " für "inside" "outside"
konfiguriert sind.
514
BONUS 12: CHEATSHEET
NAT Network Address Translation
PAT Port Address Translation
SNAT Static Network Address Translation
DNAT Dynamic Network Address Translation
Routing im NAT
Die Adressen, welche "routbar" sind, wurden in dem RFC1918 definiert - die
privaten Adressen.
Die Subnetzmasken der privaten IP-Adressen sind NICHT dieselben, wie bei
den der vollen IP-Klassen.
Klassen Subnetzmaske
Class A (/8)
Class B (/16)
Class C (/24)
Private IP-Subnetze anhand der Klassen:
Class A: 10.0.0.0 /8
Class B: 172.16.0.0 /12
Class C: 192.168.0.0 /16
515
Bezeichnungen der NAT Adressen
Inside local address
Inside global address
Outside local address
Outside global address
Starten mit der Konfiguration
Die Konfiguration von NAT egal welches, sollte immer auf der Interface
Ebene starten.
Weitere Bezeichnung für PAT
"overloading" d.h., dass es durch die Kombination von "inside local"
Adressen und Port Nummern möglich ist, mehrere "inside local" Adressen
auf eine einzelne "inside global" Adresse zu mappen - Der "exit address"
des Routers.
BEFEHLE:
Konfiguration von "NAT inside" auf dem Interface:
R1(config-if)#ip nat inside
516
Konfiguration von "NAT outside" auf dem Interface:
R1(config-if)#ip nat outside
Eintragen einer Statischen NAT Regel von "local" 10.1.1.1 auf "global"
200.1.1.1:
R1(config)#ip nat inside source static 10.1.1.1 200.1.1.1
Ausgabe der NAT Tabelle:
R1#show ip nat translation
Ausgabe der NAT Statistik:
R1#show ip nat statistics
Erstellen eines Adresspooles für dynamische NAT Adressen:
R1(config)#ip nat pool ADDRESSPOOL 200.1.1.1 200.1.1.100 netmask
255.255.255.0
Eintragen einer dynamischen NAT Regel für einen Adressenpool:
R1(config)#ip nat inside source list 1 pool ADDRESSPOOL
Eintragen der PAT Regel:
R1(config)#ip nat inside source list 1 interface FastEthernet 0/0 overload
517
13. IP VERSION 6
13.1 WIESO IPV6 UND ETWAS THEORIE
WIESO EINE NEUE VERSION?
Starten wir mit etwas Theorie und Geschichte.
Warum brauchen wir IPv6 überhaupt und was stimmt nicht mit IPv4?
Einen Moment, wo ist Version 5?
Diese hat es tatsächlich gegeben und sie war auch für kurze Zeit auf dem
Weg in den Markt. Leider konnten damit nicht alle aktuellen Probleme
gelöst werden, weshalb eine von Grund auf neue Herangehensweise mit
IPv6 in das Leben gerufen wurde. Über IPv5 werdet ihr nur sehr wenige
Informationen finden. Es reicht zu wissen, dass es diese "gibt".
Und was stimmt nicht mit IPv4?
Um es auf den Punkt zu bringen, wir haben nicht mehr genug IPv4
"routable addresses".
Durch die Protokolle NAT und PAT konnten wir uns für einige Zeit aushelfen
und eine "routable address" für mehrere Hosts verwenden, das aber keine
Lösung für das eigentliche Problem darstellt.
Hat IPv6 noch weitere Vorteile?
518
Ganz klar: Ja. Es hat nicht nur eine erheblich größere Menge an "routable
addresses", es bietet uns unter anderem die folgenden "features":
Es werden keine "boradcasts" mehr benötigt.
Vereinfachung von zusammengelegten Routen "route
summarization".
Vereinfachtes "subnetting".
Kleinere "routing tables".
Wir benötigen keine DHCP Server mehr.
Verbesserter "quality of service".
QoS Quality of Service
519
VERGLEICH DER HEADER
Vergleichen wir einmal die "header" der beiden IP-Versionen und beginnen
mit Version "4":
In IPv4 haben wir eine große Menge an einzelnen Feldern. Die Anzahl der
Felder in dem "header", wurde bei IPv6 stark reduziert. Manche wurden
entfernet, andere wurden umbenannt und ein neues Feld ist auch
hinzugekommen: "Flow Label".
520
Eine grobe Auflistung, wofür jedes der Felder in IPv6 verantwortlich ist:
Version Enthält die Zahl "6" für die Version
Traffic Class Ersetzt das IPv4 Feld "type of service". Wir können in
diesem Feld mittels QoS die "Wichtigkeit" des Paketes
definieren - es klassifizieren.
Flow Label Es wird mittels QoS eine Flussnummer "flow label"
eingetragen, welche es ermöglicht, dass der
Paketstrom zwischen einer Quelle und dessen Ziel
bestimmte Anforderungen stellen kann und
Bandbreite reservieren.
Payload Lenght Ist das gleiche, wie die "total length" bei IPv4. Das Feld
wurde lediglich umbenannt.
Next Header Ist ein Äquivalent zu dem IPv4 Feld: "protocol".
Hop Limit Ist ein Äquivalent zu "time to live". Jeder absolvierte
"hop" verringert die Zahl, in diesem Feld um den
521
Faktor eins. Wenn die Zahl null erreicht wird, wird das
Paket verworfen.
Source Address Gleich IPv4
Destination
Address
Gleich IPv4
Data Gleich IPv4
TTL Time to Live
13.1.1 LESBARKEIT ERLEICHTERN
Im Gegensatz zu IPv4, welches eine " 32 " Bit Adresse verwendet, wächst die
IPv6 Adresse auf 128 Bit und wird deshalb nicht mehr dezimal
ausgeschrieben, sondern hexadezimal.
Dadurch ist eine gigantische Menge an Adressen verfügbar und ist speziell
für "route summarization" designt worden. Das bedeutet, dass wir in
unserem Netzwerk weniger Routing Tabellen benötigen und die
Geschwindigkeit dadurch gesteigert wird.
522
Das Ganze klingt für die meisten erst einmal abschreckend und das ist es
auch auf den ersten Blick auch. Sobald ihr aber das Konzept hinter IPv6
verinnerlicht habt, werdet ihr es sehr zu schätzen wissen.
523
DIE LESBARKEIT
Noch bevor wir mit den ganzen Netzwerkkonfigurationen beginnen, möchte
ich erst einmal erklären, wie wir diese Adressen für uns lesbarer machen.
Nehmen wir einmal zwei Beispieladressen aus IPv4 und IPv6:
IPv4: 172.12.123.1
IPv6: 1029:9183:81AE:0000:0000:0AC1:2143:019B
Diese Adresse bereitet mir auf den ersten Blick leichte Kopfschmerzen.
Muss ich ab jetzt immer so lange Adressen schreiben, selbst wenn ich
einfach nur einen Ping absetzen möchte?
Glücklicherweise nicht. Es bleibt mehr Schreibarbeit als bei IPv4, jedoch
können wir die IPv6 Adressen etwas verkürzen.
Hierzu ein paar einfache Regeln:
Ausgeschrieben haben wir immer vier Hexazeichen je Block.
Diese Blöcke werden von einem " : " getrennt .
Es sind immer acht Blöcke.
Ob ein Buchstabe groß oder klein geschrieben ist, ist nicht
relevant.
524
Es gibt die sogenannte "zero compression" (nur einmal innerhalb
einer Adresse möglich).
Es gibt die sogenannte "leading zero compression".
Zero Compression
Bei der "zero compression" werden die Blöcke, welche ausschließlich mit
einer "0" gefüllt sind, nicht geschrieben. Möglich ist dies allerdings nur
einmal innerhalb einer IPv6 Adresse. Ein kleines Beispiel:
Original IPv6 Adresse:
1234:1234:0000:0000:0000:0000:5678:5678
Zero compression IPv6 Adresse:
1234:1234::5678:5678
Das ist der Idealfall für eine "zero compression", sollte es mehrere Blöcke,
welche lediglich aus "0" bestehen, geben, darf nur einer zusammengefasst
werden:
Original IPv6 Adresse:
1234:0000:0000:9876:0000:0000:5678:5678
Zero compression IPv6 Adresse:
525
1234::9876:0000:0000:5678:5678
LEADING ZERO COMPRESSION
Leading zero compression kann mehrfach innerhalb einer IPv6 Adresse
angewendet werden und bezieht sich ausschließlich auf Blöcke, welche mit
"0" beginnen!
Diese beginnenden Nuller dürfen in der Adresse ebenfalls gestrichen
werden. Beide Verfahren, sowohl "zero compression", als auch "leading
zero compression" dürfen gleichzeitig angewendet werden.
Ein kleines Beispiel:
Original IPv6 Adresse:
0123:6547:0000:0000:0000:00987:6547:03214
Leading zero compression IPv6 Adresse:
123:6547:0000:0000:0000:987:6547:3214
Kombination aus beidem:
123:6547::987:6547:3214
Damit können wir in unserer Schreibweise also folgendes streichen:
0123:6547:0000:0000:0000:00987:6547:03214
526
527
FOLGENDE SCHREIBWEIẞEN SIND "ILLEGAL"
Mehr als zwei "zero compression" 1111::2222::3333
Mehr als zwei ":" bei einer "zero compression" 1111:::::2222
Buchstaben "G bis Z" 111Z::H222
13.2 GLOBAL ROUTING PREFIX
EINLEITUNG
Die IPv6 Adresse hat gegenüber der Version "4" einen erheblichen Vorteil
in dem Bereich "subnetting" und "summarization". Das ist dem einfachen
Grund geschuldet, dass IPv4 für diese wichtigen "routing features" nicht
designt wurde. Die IPv6 "global unicast addresses" allerdings schon.
528
VERTEILUNG DER BLÖCKE
Wenn sich eine Organisation einen Block aus IPv6 Adressen bestellt, ist
dieser Block bereits einige Male "ge-subnetted". Der Verlauf sieht, kurz
zusammengefasst, so aus:
IANA Internet Assigned Numbers Authority
Die IANA hält den größten IPv6 Block an Adressen und vergibt "subnets"
aus diesem Block unter Einhaltung von sehr strikten Regeln an:
RIRs Regional Internet Registries
Diese wiederrum "subnetted" die Adressblöcke weiter und vergibt einzelne
"subnets" an die:
ISPs Internet Service Provicers
Welche eine Organisation oder eine Privatperson mit Adressen versorgt.
IANA -> RIRs -> ISPs -> Endkunde
Somit haben wir unseren Block von IPv6 Adressen endlich erhalten und es
liegt nun an uns, diesen in weitere Subnetze zu unterteilen. In diesem
Beispiel verwenden wir einen "global routing prefix" von /48.
529
Ein kleiner Hinweis: der /48 " prefix " ist bei IPv6 so weit verbreitet , dass
viele nur von dem "forty-eights" sprechen.
ETWAS VER- UND ENTWIRRUNG
Gehen wir also davon aus, dass uns folgender "global routing prefix"
zugewiesen wurde:
2001:1111:2222
Bei IPv4 würde die Herangehensweise in etwa so aussehen:
1. IPv6 ist 128 Bit lang.
2. Unser "prefix" ist 48 Bit lang.
3. Also bleiben uns 80 Bits für das Subnetting.
Diese Herangehensweise ist bei IPv6 nicht mehr gültig und das aus einem
guten Grund:
Jede IPv6 Adresse beinhaltet einen " interface identifier ", welcher in der
Regel 64 Bits lang ist.
Der "interface identifier" befindet sich am Ende einer IPv6 Adresse.
Damit hätten wir folgende Ausgangssituation:
1. IPv6 ist 128 Bit lang
2. Der "interface identifier" ist 64 Bit lang
3. Unser "prefix" ist 48 Bit lang
530
4. Damit verbleiben:
128 - 64 - 48 = 16
16 Bits für unser "subnetting"
Der Aufbau unserer IPv6 Adresse wird also folgendermaßen aussehen:
Netzwerkanteil
48 Bits (Prefix)
Subnetanteil
16 Bits
Hostanteil
64 Bits (interface
identifier)
Eine Sache ist uns zum Glück geblieben. Wir können die Anzahl der gültigen
Subnetze genauso wie bei der Version "4" errechnen.
Die Zahl zwei, hoch der "subnetting" Bits
2 Hoch 16 = 65.536 Subnetze
WO FINDE ICH DIE SUBNETZE IN DER ADRESSE
Da wir bereits wissen, dass unsere IPv6 Adresse mit: 2001:1111:2222
beginnt (dem "prefix"), ist der vierte Block bereits unser Subnetz Block:
2001:1111:2222:xxxx
Wichtig: Vergesst nicht, dass wir eine IPv6 Adresse immer im
Hexadezimal-System schreiben.
531
532
Somit sind unsere neunte bis zwölfte Adresse:
2001:1111:2222:0009:: /64
2001:1111:2222:000A:: /64
2001:1111:2222:000B:: /64
2001:1111:2222:000C:: /64
Noch einmal zur Verinnerlichung:
Die /64 Maske beinhaltet unseren 48 Bit "global routing prefix",
gefolgt von dem 16 Bit Subnetz Block.
Abschließend kommt der 64 Bit "interface identifier" - Der Host
Anteil.
Wenn wir einem "interface" eine IPv6 Adresse eintragen wollen, haben wir
zwei Möglichkeiten dies zu tun:
1. Wir können die vollständige Adresse eintragen, oder
2. Lediglich die Subnetz ID (2001:1111:2222:0001:: /64) eintragen. Der
Router ergänzt anschließend selbst den verbleibenden Teil mit dem
"interface identifier".
533
ZUSAMMENFASSUNG DER BLÖCKE
Ich fasse hier noch einmal den Aufbau der Blöcke und deren Herkunft
zusammen, denn wie bereits erwähnt, werden uns einige von diesen fest
zugewiesen.
Teilen wir diese Adresse einmal in ihre Bestandteile und deren Herkunft
auf:
2001:4800:FACE:1000:ABCDE:0010:3100:0001/64
RIRs ISP Face
Company
Subnetting Prefix
2001 4800 FACE 1000 ABCDE:0010:3100:0001/64
534
13.3 AKTIVIEREN VON IPV6
Lab Download
verfügbar
EINLEITUNG
Die, in dieser kleinen Praxis Übung verwendete IPv6 Adresse, lautet:
2001:1111:2222:0001:0000:0000:0000:0001 /64
Wie wir bereits gelernt haben, können wir diese ohne Probleme etwas
leserlicher darstellen:
2001:1111:2222:1::1 /64
Ebenfalls haben wir gelernt, dass die ersten drei Blöcke dieser Adresse,
unser von dem Provider zugewiesene GRP ist und unser Subnetting
innerhalb des vierten Blocks stattfindet.
535
Bevor wir beginnen, möchte ich noch erwähnen, dass es ohne Hindernisse
möglich ist, sowohl eine IPv4 als auch eine IPv6 Adresse auf einem
"interface" zu konfigurieren.
Wir haben noch eine Sache zu erledigen, bevor wir eine IPv6 Adresse
vergeben können und das ist IPv6 zu aktivieren. Der Stand von heute ist,
dass IPv4 auf den Cisco Routern standardgemäß aktiviert und IPv6
deaktiviert ist.
PRAXIS
In diesem Lab gibt es zwei Router: R1 und R2.
R1:
Fast 0/0 | IP-Adresse | 172.12.123.1 /24
R2:
Fast 0/0 | IP-Adresse | 172.12.123.2 /24
Zu Beginn möchte ich das "routing" für IPv6 aktivieren. Das ist der erste Ort,
an dem ihr dies immer aktivieren solltet, denn nur, weil ein " interface" dazu
in der Lage ist eine IPv6 Adresse zu besitzen, kann dieses noch lange nicht
IPv6 auch "routen".
536
Dies ist ein einfacher Befehl und gilt sofort für das globale "routing" des
Routers.
R1(config)#ipv6 unicast-routing
Da wir diesen Schritt erfolgreich umgesetzt haben, begeben wir uns zu den
"interfaces" und sehen uns einmal unsere Konfigurationsmöglichkeiten an:
R1(config-if)#ipv6 address ?
WORD General prefix name
X:X:X:X::X IPv6 link-local address
X:X:X:X::X/<0-128> IPv6 prefix
autoconfig Obtain address using autoconfiguration
dhcp Obtain a ipv6 address using dhcp
Für das Erste beschäftigen wir uns mit der Konfiguration der Normalen -
statischen IPv6 Adresse. Die hierfür vorgesehene Option ist "IPv6 prefix".
Wir hinterlegen also, wie am Anfang von diesem Kapitel notiert, die
komprimierte IPv6 Adresse inklusive dem "prefix"
R1(config-if)#ipv6 address 2001:1111:2222:1::1/64
537
Wichtig: Bei dieser Eingabe dürft ihr zwischen der Adresse und dem Prefix
keinen Leerschritt eingebt! Dieser wird euch als "Invalid input"
zurückgegeben.
R1(config-if)#ipv6 address 2001:1111:2222:1::1 /64
^
% Invalid input detected at '^' marker.
538
13.3.1 VERIFIZIEREN DER IPV6 ADRESSE
Lab Download
verfügbar
Wir setzen unser Lab an der Stelle fort, an der das Letzte beendet wurde:
PRAXIS
Da wir das IPv6 "routing" aktiviert und die IPv6 Adresse eingegeben haben,
aber IOS uns keinerlei Rückmeldung gegeben hat, sollten wir unsere
Konfiguration einmal mit "show" Befehl überprüfen:
R1#show ip interface
FastEthernet0/0 is up, line protocol is up (connected)
Internet address is 172.12.123.1/24
Broadcast address is 255.255.255.255
Address determined by setup command
MTU is 1500 bytes
Helper address is not set
Directed broadcast forwarding is disabled
Outgoing access list is not set
Inbound access list is not set
539
Wie gut zu sehen ist, ist keine Spur von IPv6 in unserem "interface" zu
sehen. Woran liegt das?
Wenn wir in IOS etwas mit IPv6 machen, sei es eine Adresse vergeben oder
uns eine Konfiguration anzusehen, müssen wir immer die Version " v6 " mit
angeben.
R1#show ip?
ip ipv6
R1#show ipv6 interface
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::260:70FF:FEBA:6D01
No Virtual link-local address(es):
Global unicast address(es):
2001:1111:2222:1::1, subnet is 2001:1111:2222:1::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:1
FF02::1:FFBA:6D01
……
540
Für eine übersichtlichere Ausgabe können wir, wie bei der "v4" Ausgabe,
ebenfalls die Option "brief" anfügen:
R1#show ipv6 interface brief
FastEthernet0/0 [up/up]
FE80::260:70FF:FEBA:6D01
2001:1111:2222:1::1
FastEthernet0/1 [administratively down/down]
unassigned
Vlan1 [administratively down/down]
unassigned
13.4 DIE "LINK LOCAL ADDRESS"
SHOW IPV6 INTERFACE
Wenn wir uns noch einmal die Ausgabe aus dem letzten Kapitel ansehen,
finden wir direkt nach der Statusausgabe unseres Interfaces eine so
genannte "link-local address", was diese ist, wo die überhaupt herkommt
und wieso sie benötigt wird, werde ich jetzt einmal aufschlüsseln.
R1#show ipv6 interface
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::260:70FF:FEBA:6D01
541
Eine "link local Address" ist exakt das, was der Name bereits innehat. Es ist
eine, ausschließlich auf dem "local link" verwendete Adresse. Diese
Adressen können nicht das Netzwerk verlassen, da ein Router diese nicht
"forwarded" - gar nicht kann. Die betroffenen Pakete werden als "unicast
messages" versendet, somit ist der einzige Host, der diese verarbeiten
kann, der Empfänger.
Noch einmal als Erinnerung an: 4.2 Öffentliche IP-Adressen
"unicast" - Ein Empfänger.
"multicast" - Eine Gruppe.
"broadcast" - Alle bis zu dem "gateway".
Der Router hat diese "link-local" Adresse anhand ein paar Regeln selbst
erstellt. Ebenfalls wurde die angezeigte Adresse, anhand der bereits
bekannten Regeln komprimiert. Um die Adressen besser zu verstehen,
dekomprimieren wir diese und sehen sie uns vollständig an (128 Bit
Adresse).
Komprimiert FE80::260:70FF:FEBA:6D01
Dekomprimiert FE80:0000:0000:0000:0260:70FF:FEBA:6D01
Wenn ihr diese beiden mit einander vergleicht, wird euch auffallen, dass
diese Komprimierung - Dekomprimierung genau den gleichen Regeln wie
der IPv6 Adresse unterliegt.
542
8 Blöcke
Jeder Block besteht aus 4 Zeichen
AUFBAU DES "LINK-LOCAL"
Der erste Block hat ähnlich, wie bei der IPv6 Adresse auch, eine festgelegte
Zugehörigkeit, die definiert wurde. Hierbei handelt es sich um den "link-
local reserved address block". Dieser hat immer den Wert:
FE80::/10
Das bedeutet für uns, dass die ersten 10 Bits immer gleich sein müssen,
schreiben wir das einmal binär aus:
FE80 = 1111 1110 1000 0000
Damit haben wir im dritten Oktett noch die folgenden
Kombinationsmöglichkeiten:
1000 FE8
1001 FE9
543
1010 FEA
1011 FEB
Daraus ergibt sich, dass jede Adresse, welche mit einer dieser vier
Varianten beginnt, eine "link-local" Adresse ist. Oder?
In der RFC 4291 wurde festgelegt, dass die letzten 54 Bits einer "link-local"
Adresse auf "0" stehen müssen, somit ist die einzige mögliche Adresse:
FE80
Nur Adressen, welche mit FE80 beginnen, sind per Definition die "link-local"
Adressen.
Da die ersten 64 Bits für diese Adressen bereits definiert wurden:
FE80:0000:0000:0000:
Sehen wir uns jetzt einmal die Verwendung der verbleibenden " 64 " Bits an.
Es handelt sich hier wieder IPv6 klassisch um den "interface identifier".
13.4.1 WIE ENTSTEHT DER "INTERFACE IDENTIFIER"
In aller Regel wird diese Zahl anhand der EUI-64 Regeln (ein IEEE Standard)
erstellt. Schauen wir uns diese an:
1. Der Router nimmt die MAC-Adresse des "interfaces".
544
2. Teilt diese in der Mitte.
3. Schreibt in der Mitte "FFFE".
4. Dreht das siebte Bit um.
SCHRITT 1 BIS 3
Um den vierten Schritt kümmern wir uns zum Schluss, sehen wir uns erst
einmal ein Beispiel der ersten drei Schritte an:
MAC-Adresse 11-22-33-aa-bb-cc
Teilung 11-22-33 aa-bb-cc
Einsetzen von FFFE 11-22-33FFFEaa-bb-cc
Schreibweise von IPv6 1122:33FF:FEAA:BBCC
Soweit so gut, der vierte Schritt ist ebenfalls sehr simpel.
SCHRITT 4
Bei der Bitumkehrung nehmen wir uns die ersten beiden Werte der Adresse
und schreiben diese binär auf. Anschließend müssen wir das siebte Bit
umkehren. Eine "1" wird zu einer "0" und umgekehrt.
545
In unserem Beispiel sind die ersten beiden Werte eine eins. Schreiben wir
diese einmal binär aus:
8 4 2 1 8 4 2 1
1. Bit 0 0 0 1
2. Bit 0 0 0 1
Siebtes Bit umgedreht:
8 4 2 1 8 4 2 1
1. Bit 0 0 0 1
2. Bit 0 0 1 1
Damit erhalten wir ein neues Ergebnis:
13
Schreibweise von IPv6 1122:33FF:FEAA:BBCC
Drehen des siebten Bits 13
Ersetzen der ersten beiden Werte 1322:33FF:FEAA:BBCC
546
13.4.2 INTERFACE IDENTIFIER ALS HOST ADRESSE
Wir können die "interface identifier address" ebenfalls als Host Adresse für
die "global unicast address" verwenden. Wenn wir uns noch einmal die IPv6
"show" Ausgabe aus dem Kapitel 13.3.1 Verifizieren der IPv6 Adresse
ansehen, stellen wir fest, dass in dem Host Bereich unserer Adresse einfach
nur eine ":1" eingetragen ist.
Sollten wir wollen, dass in dem Hostanteil unserer IPv6 Adresse der
"interface identifier" hinterlegt ist, ist dies leicht umzusetzen.
Alte Ausgabe der IPv6 Konfiguration (:1) im Hostanteil als Adresse:
R1#show ip?
ip ipv6
R1#show ipv6 interface
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::260:70FF:FEBA:6D01
No Virtual link-local address(es):
Global unicast address(es):
2001:1111:2222:1::1, subnet is 2001:1111:2222:1::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:1
FF02::1:FFBA:6D01
……
547
Im ersten Schritt entfernen wir die IPv6 Adresse wieder von dem
"interface", indem wir ein "no" vor den Befehl setzen:
R1(config)#int fastEthernet 0/0
R1(config-if)#no ipv6 address 2001:1111:2222:1::1/64
Da die alte IPv6 Adresse somit entfernt ist, können wir unsere die neue
Adresse vergeben, dafür lassen wir bei der Eingabe den Hostanteil weg und
fügen mit einer Option, den "interface identifier" hinzu.
R1(config-if)#ipv6 address 2001:1111:2222:1::/64 ?
anycast Configure as an anycast
eui-64 Use eui-64 interface identifier
<cr>
R1(config-if)#ipv6 address 2001:1111:2222:1::/64 eui-64 ?
<cr>
R1(config-if)#ipv6 address 2001:1111:2222:1::/64 eui-64
Das ist auch schon alles, wie bereits gelernt, unterliegt der " interface
identifier" den EUI64 Regeln und wird deshalb auch bei dieser Option
benötigt.
548
Sehen wir uns einmal das Ergebnis an:
R1#show ipv6 interface
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::260:70FF:FEBA:6D01
No Virtual link-local address(es):
Global unicast address(es):
2001:1111:2222:1:260:70FF:FEBA:6D01, subnet is 2001:1111:2222:1::/64 [EUI]
Joined group address(es):
FF02::1
FF02::2
FF02::1:FFBA:6D01
13.5 NEIGHBOR DISCOVERY PROTOCOL - ROUTER FINDEN
NDP Neighbor Discovery Protocol
Das Protokoll NDP ermöglicht es, dem IPv6 Host, dynamisch seine
"Nachbarn" zu finden. Zu beachten ist, dass das Auffinden von einem
Router sich im Prozess gegenüber dem Computer unterscheidet.
Der Prozess beginnt damit, dass der Host über einen " multicast " eine
Aufforderung ("router solicitation") an einen Router - dessen "local link"
sendet.
Der Empfänger hierbei ist:
549
FF02::2
Die "All-IPv6-Routers" Adresse.
Ist euch diese Adresse schon einmal aufgefallen? Schauen wir wieder
einmal zurück in das Kapitel: 13.3.1 Verifizieren der IPv6 Adresse:
R1#show ipv6 interface
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::260:70FF:FEBA:6D01
No Virtual link-local address(es):
Global unicast address(es):
2001:1111:2222:1::1, subnet is 2001:1111:2222:1::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:1
FF02::1:FFBA:6D01
Die "All-IPv6-Routers" Adresse wird jedem Router von CISCO, der IPv6
aktiviert hat, automatisch zugewiesen. Zu finden ist diese in den "Joined
group address(es)". Diese müssen wir also nicht konfigurieren, ihr müsst
euch nur merken, wie sie lautet und wieso diese dort eingetragen ist.
Soviel zur Theorie.
550
Wie läuft dieser Prozess in der Praxis ab:
Der Host sendet einen "multicast" in das Netzwerk an die Adresse FF02::2
und wartet darauf, dass ein Router auf die RS "router solicitation" -
Aufforderung reagiert.
Sobald ein Router diese erhält, sendet er eine RA "router advertisment" an
den Host zurück.
RA Router Advertisment
RS Router Solicitation
551
Wieso hat die Antwort des Routers in dieser Beispielgrafik ein "?" als
Empfänger? Die Erklärung ist, dass es zwei mögliche Antwort Szenarien
gibt. Die Auswahl ist davon abhängig, ob der Host bereits eine IPv6 Adresse
hat oder nicht.
Der Host hat bereits eine IPv6 Adresse. Das ist der Idealfall, denn in
der "router solicitation" ist bereits eine IPv6 für eine Antwort
hinterlegt. Der Router muss jetzt nur noch eine "router advertisment"
Nachricht via " unicast " an den Host senden.
Der anfragende Host hat noch keine IPv6 Adresse. Hier hat die
"router solicitation" eine "source address", welche nur aus Nullen
besteht. Dadurch weiß der Router, dass dieser Host noch keine IPv6
Adresse konfiguriert hat. Die Lösung für dieses Szenario ist, dass der
Router einen " multicast " "router advertisment" an die FF02::1 sendet.
Diese Adresse ist die "All-IPv6-Nodes" Adresse.
R1#show ipv6 interface
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::260:70FF:FEBA:6D01
No Virtual link-local address(es):
Global unicast address(es):
2001:1111:2222:1::1, subnet is 2001:1111:2222:1::/64
Joined group address(es):
FF02::1
552
Das zweite Szenario ist allerdings auch ein laufender Prozess. Ein IPv6
Router sendet nicht nur auf Anfragen eine RA, er sendet diesen "multicast"
an FF02::1 alle 200 Sekunden.
13.6 NEIGHBOR DISCOVERY PROTOCOL - HOST FINDEN
Wir haben uns jetzt damit beschäftigt, wie "neighbor solicitation" und
"neighbor advertisment" im Grunde funktionieren. Hier noch ein kleiner
Hinweis bevor es weitergeht: Dieser Prozess ersetzt in IPv6 das ARP,
welches vollständig entfällt.
Wie wir gelernt haben, fragt ARP via "boradcast" nach MAC Adressen,
wohingegen IPv6 nun direkt nach der IP Adresse sucht.
Früher mit IPv4:
553
IPv6 erfragt mit "neighbor solicitation" die MAC Adressen und verwendet
dabei eine "solicited node multicast address":
SNMA Solicited node multicast address
Das Ganze wirkt erst einmal etwas abschreckend, wird sich aber gleich
aufklären.
Jetzt IPv6:
Was ist jetzt SNMA genau? Es ist ein "multicast", welcher an eine gewisse
Menge an Hosts, beziehungsweise deren "local link" gesendet wird. Dieser
adressiert nur jene, welche die gleichen sechs Hex-Werte am Ende der IPv6
Adresse haben.
Betroffen von dem "multicast" wären damit z. B. alle Adressen mit diesem
Ende:
xxxx:xxxx::xx12:A567
554
Damit kommen wieder einmal auf das Kapitel: 13.3.1 Verifizieren der IPv6 Adresse zurück. Denn dort hatten wir bereits eine solche Adresse gesehen.
R1#show ipv6 interface
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::260:70FF:FEBA:6D01
No Virtual link-local address(es):
Global unicast address(es):
2001:1111:2222:1::1, subnet is 2001:1111:2222:1::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:1
FF02::1:FFBA:6D01
……
Es sind die letzten zwei verbleibenden Einträge in unseren "joined group
address(es)".
Damit hätten wir aufgeklärt, dass diese vier Einträge die folgenden
Funktionen erfüllen:
FF02::1 Adresse für alle Clients
FF02::2 Adresse für alle Router
FF02::1:FF00:1 SNMA global
FF02::1:FFBA:6D01 SNMA link-local
555
Es gilt allerdings noch zu klären, wieso es zwei Adressen für SNMA gibt.
Die erste Adresse ist für den "global unicast" zuständig, wobei die zweiten
für den "link-local" verantwortlich ist. Also haben wir eine externe und
interne SNMA.
Das ist besonders gut bei der zweiten Adresse zu erkennen, da diese die
gleiche Endung hat, wie unsere "link-local address".
IPv6 is enabled, link-local address is FE80::260:70FF:FEBA:6D01
……
FF02::1:FFBA:6D01
ERKENNEN UND ERRECHNEN
Ein paar Regeln wie wir eine SNMA Adresse erkennen und auch
zusammenstellen können.
1. Eine SNMA Adresse beginnt immer mit:
FF02::1:FF
Dekomprimiert:
FF02:0000:0000:0000:0000:0001:FFxx:xxxx
556
2. Nehmt die letzten sechs Zeichen der Dekomprimierten "link-local
address" und setzt diese an das Ende der SNMA. Damit erhaltet ihr
auch schon die "local-link" SNMA.
SNMA Vorlage: FF02:0000:0000:0000:0000:0001:FFxx:xxxx
Local-Link: FE80:0000:0000:000:0260:70FF:FEBA:6D01
SNMA
Dekomprimiert:
FF02:0000:0000:0000:0000:0001:FF BA:6D01
SNMA Komprimiert: FF02::1:FFBA:6D01
3. Nehmt die letzten sechs Zeichen der Dekomprimierten "Global
unicast address" und führt die gleiche Prozedur durch. Damit erhaltet
ihr die "global" SNMA.
SNMA Vorlage: FF02:0000:0000:0000:0000:0001:FFxx:xxxx
Global Unicast
address:
2001:1111:2222:0001:0000:0000:0000:0001
SNMA
Dekomprimiert:
FF02:0000:0000:0000:0000:0001:FF 00:0001
SNMA Komprimiert: FF02::1:FF00:1
557
NS UND NA SWAP
NS Neighbor Solicitation
NA Neighbor Advertisment
In der Praxis sendet der Host einen "multicast" für die Anfrage NS.
Die Antwort NA wird anschließend als "unicast" direkt an den Host
zurückgesendet.
Dieser speichert die Adresse in seiner "neighbor discovery protocol table".
558
13.7 IPV6 UND DHCP
EINLEITUNG
Das DHCP ist eines der Protokolle, welche unsere Arbeit enorm erleichtern.
Wir sind nicht mehr gezwungen an jeden Host zu gehen und diesem eine
passende Adresse für unser Netzwerk zu konfigurieren.
Bisher haben wir mit IPv4 einen Addresspool definiert, welcher einen
festen IP Adressen Bereich definiert hatte, von dem sich die Hosts bedienen
durften. Sehen wir uns in diesem Kapitel einmal die Funktion und den
Prozess von IPv6 in Kombination mit DHCP an.
DHCP ist ein entscheidender Part von IPv6, sogar so entscheidend, dass es
zwei Arten hiervon gibt.
"stateful"
"stateless"
Stateful DHCP
Arbeitet im Großen und Ganzen, wie wir es von IPv4 gewohnt sind.
Ein Host sendet eine DHCP Nachricht - Anfrage in das Netzwerk, in
der Hoffnung, dass er eine Antwort von einem DHCP Server erhält .
559
Der Server empfängt diese und gibt dem Host die " initial
informations " für die DHCP Konfiguration .
Der Host bestätigt diese Antwort, um daraufhin die noch
verbleibenden Konfigurationen, welche auf dem Server
vorkonfiguriert sind, zu erhalten.
Der Server sendet die verbleibenden Informationen und beendet
damit den Prozess.
Somit haben wir insgesamt vier Nachrichten in unserem Netzwerk.
Zwei Nachrichten von dem anfragenden Host.
Zwei Nachrichten von dem DHCP Server.
In der Konfiguration sind ebenfalls Informationen, wie beispielsweise der
DNS Server, enthalten.
Der Server pflegt eine Datenbank, in welcher die Informationen über
verteilte Adressen und die dazugehörigen Clients eingetragen sind.
560
UNTERSCHIEDE
Bezeichnungen der Nachrichten
Bei IPv6 haben sich hier einige Bezeichnungen für die Nachrichten
geändert:
IPv4 IPv6
Discovery Solicity
Offer Advertise
Request Request
Acknowledgement Reply
Gateway Adresse
Ein weiterer Unterschied bei IPv6 ist, dass die Adresse für das Gateway
nicht mehr über DHCP verteilt wird. Diese erhält der Host über das bereits
behandelte NDP 13.5 Neighbor Discovery Protocol - Router finden.
561
STATELESS DHCP
Das "stateless" DHCP ist nicht abhängig von einem Server und damit ein,
von Grund auf neues Konzept. Der Host erstellt sich hier selbst seine IPv6
Adresse.
SLAAC Stateless autoconfiguration
Mit der RS "router solicitation" und der durch den Router empfangenen RA
"router advertisment" generiert der Host sich selbst eine IPv6 Adresse.
Ein kleiner Tipp für die Prüfungen: Wenn nicht explizit das Verfahren
angegeben wird, könnt ihr ohne weiteres davon ausgehen, dass es sich um
"stateful" DHCP im klassischen Sinne handelt.
Praxisbild:
562
Alles, was unser Host bei der "stateless" DHCP Konfiguration benötigt, ist
der 64-bit " prefix " des RA und seinen 64-bit " interface identifier ".
64-Bit - Prefix von RA 64Bit - Interface identifier
Beides kombiniert, ergibt die "stateless" DHCP IPv6 Adresse des Hosts.
13.7.1 IPV6 DUPLICATE ADDRESS DETECTION
EINLEITUNG
DAD Duplicate Address Detection
Bevor ein Host seine selbst erstellte IP Adresse "stateless" DHCP verwenden
kann, muss dieser sicherstellen, dass diese von keinem anderen Host
bereits verwendet wird.
Die "duplicate address detection" - DAD wurde genau für diesen Zweck
erstellt. Es ist eine einfache und schnelle Überprüfung.
Der Host versucht kurz "mit sich selbst" zu reden. Sollte dieser Versuch
erfolgreich sein, gibt es ein Problem - die Adresse wird bereits von einem
anderen Host verwendet.
563
PRAXIS
Wir haben in diesem Kapitel: 13.6 Neighbor Discovery Protocol - Host
finden bereits gelernt, wie ein Host, einen anderen Host mit IPv6 finden
kann.
Der Host sendet also eine NS Nachricht mit seiner selbst erstellen
Adresse in das Netzwerk.
Die "source address" von diesem NS ist hierbei die IPv6 "unspecified
address", welche wie in dem Kapitel 13.5 Neighbor Discovery Protocol
- Router finden bereits erwähnt, leer ist und einfach nur aus "::"
besteht.
Der Host kann die selbst erstellte Adresse noch nicht verwenden, da
DAD dafür noch kein „Okay“ gegeben hat.
Sollte der Host ein NA "neighbor advertisment" zurückerhalten, wird
DAD die Verwendung der selbst erstellten Adresse verweigern.
DAD läuft nicht durchgängig, es wird nur verwendet, wenn ein
"interface" das erste Mal eine IPv6 "unicast address" sich zuweisen
564
möchte, oder wenn ein solches "interface" "down" und wieder "up"
gestellt wird.
13.8 IPV6 ROUTING TABLE
Lab Download
verfügbar
EINLEITUNG
Wir werden jetzt mit den praktischen Labs beginnen. Für alle "static" und
"default - routing" Labs werde ich die gleiche Vorlage verwenden.
Das Lab hat den folgenden Aufbau:
Konfiguration - Adressen der Router:
R1
R1(config)#ipv6 unicast-routing R1(config)#int fast 0/0
R1(config-if)#ipv6 address 2001:2222:3333:1::2/64
565
R1(config-if)#no shut
R2R2(config)#ipv6 unicast-routing
R2(config)#int fast 0/0
R2(config-if)#ipv6 address 2001:2222:3333:1::3/64
R2(config-if)#no shut
R2(config-if)#int fast 0/1
R2(config-if)#ipv6 address 2001:3333:4444:1::3/64
R2(config-if)#no shut
R3R3(config)#ipv6 unicast-routing
R3(config)#int fast 0/0
R3(config-if)#ipv6 add
R3(config-if)#ipv6 address 2001:3333:4444:1::4/64
R3(config-if)#no shut
PRAXIS
Beginnen wir in diesem Lab mit dem Router R1 und sehen uns ohne weitere
Konfigurationen die aktiven Routen mit "show" an:
566
R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
Es wird uns keine Route ausgegeben, da ,wie bereits erwähnt, es
entscheidend ist, die Version bei IPv6 mit anzugeben! Andernfalls wird
IMMER Version "4" verwendet.
R1#show ipv6 route
IPv6 Routing Table - 3 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route, M - MIPv6
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
D - EIGRP, EX - EIGRP external
C 2001:2222:3333:1::/64 [0/0]
via ::, FastEthernet0/0
L 2001:2222:3333:1::2/128 [0/0]
via ::, FastEthernet0/0
L FF00::/8 [0/0]
567
via ::, Null0
Erst einmal werden wir uns nur mit den folgenden "codes" beschäftigen:
C Connected
L Local
S Static
C- Connected
Steht, wie der Name bereits verrät, für unsere verbundene Route - das
"interface" fast 0/0 hat den Status "up/up".
L - Local
Ist neu für uns. "Local" wurde mit IPv6 eingeführt und war davor nicht in
IPv4 verfügbar . Es ist eine Route, die nur einen Host adressiert. Das ist
sofort an der Subnetmaske zu erkennen /128.
Um die Frage zu klären, welchen Host dieser Eintrag adressiert: Es ist immer
der Router selbst.
Es ist die IP Adresse des konfigurierten "interfaces".
568
Wenn wir also eine IPv6 Adresse auf einem "interface" konfigurieren,
erstellen wir zwei Routen in unserer Tabelle. Die Subnetz - Adresse und die
Lokale Adresse des " interfaces " selbst.
Der letzte Eintrag in unserer Tabelle ist eine "multicasting" Adresse. Diese
werden wir erst etwas später besprechen.
EIGENHEIT AUF DEN "INTERFACES"
Um die Eigenheit der "interfaces" zu zeigen, zeige ich euch eine "show"
Ausgabe außerhalb des Labs:
R2#show ipv6 int fast 0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::201:42FF:FE59:E01
No Virtual link-local address(es):
Global unicast address(es):
2001:2222:3333:1::3, subnet is 2001:2222:3333:1::/64
2001:1111:1111:1::1, subnet is 2001:1111:1111:1::/64
Joined group address(es):
FF02::1:FF00:3
FF02::1:FF59:E01
MTU is 1500 bytes
……
569
Ein "interface" kann also mehrere "global unicast address(es)" auf einmal
haben. Das werden wir in diesem Lab zwar nicht weiterverwenden, es ist
aber gut zu wissen und darauf vorbereitet zu sein.
ÜBERSICHT IN DER TABELLE
Die Adressen von IPv6 sind wesentlich länger, haben meist eine
unterschiedliche Länge durch die Komprimierung und es sind automatisch
mehr Einträge in unserer Tabelle, da der L Eintrag immer mit generiert wird.
In unserem Lab haben wir lediglich zwei "interfaces" konfiguriert, nicht
mehr. Auf einem echten Router, mit mehr "interfaces" und Routen wird
diese Ausgabe auf Grund seiner Größe, euch einiges abverlangen:
R2#show ipv6 route
IPv6 Routing Table - 5 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route, M - MIPv6
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
D - EIGRP, EX - EIGRP external
C 2001:2222:3333:1::/64 [0/0]
via ::, FastEthernet0/0
L 2001:2222:3333:1::3/128 [0/0]
via ::, FastEthernet0/0
570
C 2001:3333:4444:1::/64 [0/0]
via ::, FastEthernet0/1
L 2001:3333:4444:1::3/128 [0/0]
via ::, FastEthernet0/1
L FF00::/8 [0/0]
via ::, Null0
Beginnt also spätestens jetzt damit, eure Ausgaben zu filtern.
Wenn ihr beispielsweise lediglich die "Local" Einträge sehen wollt, gebt
folgendes ein (funktioniert nicht im Packet Tracer):
R2#show ipv6 route local
IPv6 Routing Table - 5 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route, M - MIPv6
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
D - EIGRP, EX - EIGRP external
L 2001:2222:3333:1::3/128 [0/0]
via ::, FastEthernet0/0
L 2001:3333:4444:1::3/128 [0/0]
via ::, FastEthernet0/1
L FF00::/8 [0/0]
via ::, Null0
Damit erhaltet ihr eine Liste, welche nur noch die benötigten Routen
enthält. Beachtet, dass sich die Anzahl der "entries" damit nicht ändert.
Diese bezieht sich immer auf die gesamte Anzahl der Routen und
berücksichtigt keine Filter.
571
572
13.9 IPV6 UND PING
Lab Download
verfügbar
DAS PINGEN
Wie bereits angekündigt, verwenden wir wieder dasselbe Lab.
In diesem werden wir einmal das Pingen zwischen den Routern mit IPv6
durchspielen.
R1 auf R2
R3 auf R2
573
PRAXIS
Es gibt drei Arten einen Ping mit IPv6 abzusetzen:
1. Der kürzeste und einfachste:
R1#ping 2001:2222:3333:1::3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:2222:3333:1::3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/0 ms
Wir benötigen also keinerlei Protokoll Angabe und können einfach den
"ping" Befehl verwenden und direkt die IPv6 Adresse anhängen.
2. Etwas länger:
R1#ping ipv6 2001:2222:3333:1::3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:2222:3333:1::3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/0 ms
574
Wer es gerne explizit und konstant hat, kann auch die Version mit angeben.
Das verschafft zwar keinen Vorteil, dafür ist aber die Eingabe in der CLI von
IOS konstant.
3. Erweiterten Ping absetzen
R1#ping
Protocol [ip]: ipv6
Target IPv6 address: 2001:2222:3333:1::3
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:2222:3333:1::3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/3 ms
Wie bei der Version "4" auch, ist es möglich einen erweiterten Ping
abzusetzen. Das ist immer dann hilfreich, wenn bestimmte Parameter
angepasst werden müssen.
575
ALLE VERBINDUNGEN PRÜFEN
Testet den Ping ebenfalls von Router R3 auf R2
R3>ping 2001:3333:4444:1::3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:3333:4444:1::3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/1 ms
576
ICMPV6 TYPEN
ICMP Internet Control Message Protocol
ICMP, was das Protokoll ist, welches für den Ping verwendet wird, hat sich
in der Version für IPv6 stark verändert. Es ist nicht länger nur für das
Absenden und Antworten von Ping Nachrichten zuständig.
IPv6 bringt einige Typen für das ICMP mit sich und darf auf der Firewall auf
keinen Fall geblockt werden. Wieso verrät euch diese Tabelle:
Typ Beschreibung
1 Ziel nicht erreichbar
128 ECHO "request"
129 ECHO "reply"
133 "Router Solicitation"
134 "Router Advertisment"
135 "Neighbor Solicitation"
136 "Neighbor Advertisment"
Solltet ihr auf eurer Firewall das IPv6 ICMP blockieren, wäre das mit dem
Blockieren von ARP in IPv4 gleichzusetzen und das Netzwerk würde zum
Erliegen kommen.
577
13.10 IPV6 STATIC ROUTES
Lab Download
verfügbar
DIE "STATIC ROUTE" TYPEN
Bei IPv6 gibt es drei verschiedene Typen an statischen Routen.
1. Recursive: Es wird lediglich die nächste "hop" Adresse definiert.
2. Directly Connected: Es wird nur das "output interface" definiert.
3. Fully Specified: Es wird die nächste "hop" Adresse und das dafür
verwendete "output interface" definiert.
Verwendet hier wieder das gleiche Lab, wie in den letzten beiden Kapiteln.
578
PRAXIS
Wir beginnen mit einer "recursive static route" auf dem Router R1. Das Ziel
ist es, dass wir einen Ping von einem Ende des Netzwerkes zu dem anderen
Ende senden können.
Vergesst nicht: Die Befehle für IPv6 verlangen, dass ihr die Version mit
angebt.
Los geht’s auf R1:
R1(config)#ipv6 route ?
X:X:X:X::X/<0-128> IPv6 prefix
Wir müssen also als erstes den "prefix" des Zielnetzwerkes angeben - also
entfällt der "interface identifier".
579
R1(config)#ipv6 route 2001:2222:3333:1::1/64 ?
Dialer Dialer interface
Ethernet IEEE 802.3
FastEthernet FastEthernet IEEE 802.3
GigabitEthernet GigabitEthernet IEEE 802.3z
Loopback Loopback interface
Serial Serial
Vlan Catalyst Vlans
X:X:X:X::X IPv6 address of next-hop
Da wir mit einer "recursive static route" beginnen, wählen wir die IPv6
Adresse des nächsten Hobs aus und tragen diese ein.
Unsere Route soll von R1 zu R3 gehen, dafür muss der "traffic" natürlich
erst einmal über R2 laufen. Somit ist dieser unser nächster Hob.
Welche der beiden Adressen von R2 geben wir an jetzt an? Es ist in der
Regel die Adresse, die ich von R1 aus erreichen kann - "pingen".
R1(config)#ipv6 route 2001:3333:4444:1::/64 2001:2222:3333:1::3
580
Das war es auch schon, schauen wir uns einmal unsere "routing table" an.
R1#show ipv6 route
IPv6 Routing Table - 4 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route, M - MIPv6
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
D - EIGRP, EX - EIGRP external
C 2001:2222:3333:1::/64 [0/0]
via ::, FastEthernet0/0
L 2001:2222:3333:1::2/128 [0/0]
via ::, FastEthernet0/0
S 2001:3333:4444:1::/64 [1/0]
via 2001:2222:3333:1::3
L FF00::/8 [0/0]
via ::, Null0
Wer gut aufgepasst hat, dem ist aufgefallen, dass es keine "default static
route" mehr gibt. Diese wurde bei IPv6 gestrichten.
DER WEG ZURÜCK
Natürlich können wir jetzt noch keinen "ping" an R3 absetzen, da uns dieser
nicht antworten kann. Die Pakete werden zwar bei R3 ankommen, der
581
Router weiß allerdings nicht, wie er antworten soll, da dieser das Netzwerk
von R1 nicht kennt. Beginnen wir also mit der Konfiguration von R3 und
verwenden dafür eine "fully specified route".
R3(config)#ipv6 route ?
X:X:X:X::X/<0-128> IPv6 prefix
Wieder geben wir den "prefix" zuerst an, dieses Mal aber von dem
Netzwerk, in dem sich R1 befindet.
R3(config)#ipv6 route 2001:2222:3333:1::/64 ?
Dialer Dialer interface
Ethernet IEEE 802.3
FastEthernet FastEthernet IEEE 802.3
GigabitEthernet GigabitEthernet IEEE 802.3z
Loopback Loopback interface
Serial Serial
Vlan Catalyst Vlans
X:X:X:X::X IPv6 address of next-hop
582
Da die "fully specified route" sich auf das verwendete "output interface"
bezieht, wählen wir unser fast 0/0 "interface" und hängen anschließend
den nächsten "hop" mit an.
R3(config)#ipv6 route 2001:2222:3333:1::/64 FastEthernet 0/0 2001:3333:4444:1::3
Jetzt da wir beide Enden mit "routes" definiert haben, können wir auch
einen Ping auf diese absetzen. Eine "directly connected route" ist das
gleiche, lediglich ohne die Angabe des nächstens "hops".
583
13.10.1 IPV6 STATIC ROUTES MIT LOCAL LINK
Lab Download
verfügbar
Wie in allen Übungen verwenden wir wieder das gleiche Lab:
Wir werden auf den Routern R1 und R3 die "link local" Adresse für eine
Alternative für eine statische Route hinterlegen.
Ebenfalls werde ich euch zeigen, worauf ihr dabei achten müsst.
PRAXIS
Bevor wir mit der Konfiguration auf dem Router R1 beginnen, sehen wir uns
einmal die "local link" Adressen auf dem Router R2 an.
R3#show ipv6 int fastEthernet 0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::20A:41FF:FE2B:6E01
No Virtual link-local address(es):
Global unicast address(es):
584
2001:3333:4444:1::4, subnet is 2001:3333:4444:1::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:4
FF02::1:FF2B:6E01
MTU is 1500 bytes
Nachdem die richtige Adresse für das "interface" zu R1 definiert ist, können
wir diese in einer statischen Route als "recursive static route" eintragen.
R1(config)#ipv6 route 2001:3333:4444:1::/64 FE80::20A:41FF:FE2B:6E01
% Interface has to be specified for a link-local nexthop
Diese Rückmeldung sollte euch hellhörig werden lassen. Sie sagt uns, dass
wir ein " interface " mit angeben müssen, wenn wir eine "local link address"
für den nächsten "hob" angeben.
Somit müssen wir bei dieser Konfiguration eine "fully specified static route"
hinterlegen und keine "recursive static route".
R1(config)#ipv6 route 2001:3333:4444:1::/64 fast 0/0 FE80::20A:41FF:FE2B:6E01
585
Das gleiche müssen wir natürlich noch auf der Gegenseite einrichten.
Beachtet aber, dass ihr die "local link address" von dem "exit interface" zu
R3 angeben müsst.
R2>show ipv6 interface fastEthernet 0/1
FastEthernet0/1 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::201:42FF:FE59:E02
……
R3(config)#ipv6 route 2001:2222:3333:1::/64 fast 0/0 FE80::201:42FF:FE59:E02
13.10.2 IPV6 DEFAULT STATIC ROUTE
Lab Download
verfügbar
Wie in allen Übungen verwenden wir wieder das gleiche Lab:
Wir werden auf dem Router R1 eine "default static route" hinterlegen.
586
PRAXIS
Eine "default static route" wird bei IPv6, bezogen auf die Syntax, wie jede
andre statische Route auch eingetragen. Was sich bei dem Vorgang ändert
ist, dass wir nicht die Adresse des nächsten "hob" angeben, sondern eine
Adresse, welche bis auf das Maximum komprimiert ist - nur aus der Zahl
null besteht.
R1(config)#ipv6 route ::/0 ?
Dialer Dialer interface
Ethernet IEEE 802.3
FastEthernet FastEthernet IEEE 802.3
GigabitEthernet GigabitEthernet IEEE 802.3z
Loopback Loopback interface
Serial Serial
Vlan Catalyst Vlans
X:X:X:X::X IPv6 address of next-hop
587
Um die Eingabe noch als "legal" Befehl abzusenden, benötigen wir lediglich
noch ein "interface", für welches die "default static route" gelten soll.
R1(config)#ipv6 route ::/0 fast 0/0
R1#show ipv6 route
IPv6 Routing Table - 4 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route, M - MIPv6
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
D - EIGRP, EX - EIGRP external
S ::/0 [1/0]
via ::, FastEthernet0/0
C 2001:2222:3333:1::/64 [0/0]
via ::, FastEthernet0/0
L 2001:2222:3333:1::2/128 [0/0]
via ::, FastEthernet0/0
L FF00::/8 [0/0]
via ::, Null0
Im Gegensatz zu IPv4 ist dies keine mit einem "*" gekennzeichnete
Adresse. Die Logik bleibt allerdings die gleiche, da alle Pakete, die nicht in
das eigene Netzwerk gehören, über diese weiter "geroutet" werden.
588
13.10.3 IPV6 HOST STATIC ROUTE
Lab Download
verfügbar
EINLEITUNG
Wie in allen Kapiteln verwenden wir für diese Übung das gleiche Lab:
Wir werden auf dem Router R1 eine "host static route" hinterlegen. Bei
dieser werden die Pakete nicht mehr für ein ganzes Netzwerk "geroutet",
sondern nur noch die Pakete, welche explizit zu dem angegebenen Host
gesendet werden.
Das bedeutet für die Konfiguration, dass wir die IPv6 Adresse von R3
eintragen und die Subnetzmaske auf /128 setzen müssen.
PRAXIS
Beginnen wir auf R1 und fragen direkt unsere Optionen mit der IPv6
Adresse von R3 ab:
589
R1(config)#ipv6 route 2001:3333:4444:1::4/128 ?
Dialer Dialer interface
Ethernet IEEE 802.3
FastEthernet FastEthernet IEEE 802.3
GigabitEthernet GigabitEthernet IEEE 802.3z
Loopback Loopback interface
Serial Serial
Vlan Catalyst Vlans
X:X:X:X::X IPv6 address of next-hop
Es reicht uns bereits das "exit interface" zu R2 anzugeben und die Eingabe
ist ein "legal" Befehl:
R1(config)#ipv6 route 2001:3333:4444:1::4/128 fastEthernet 0/0
590
13.11 SPEZIELLE IPV6 ADRESSEN
AUFLISTUNG
Wie bei IPv4 auch, gibt es bei IPv6 spezielle Adressen und Adressbereiche,
welche fest definiert sind:
Adresse Definition
:: Ist die "source" IP-Adresse bevor ein Host eine DHCP
Adresse erhält
::1 "loopback" Adresse
2000::/3 "global unicast address"
FC00::/7 "unique local unicast range"
FE80::/10 "link local address"
FF00::/8 "multicast range"
FF02::9 RIPng "multicast address"
FF02::A EIGRP "multicast address"
FF02::5 -
FF02::6
OSPF "multicast address"
591
13.12 IPV6 SUBNETTING
SUBNETTING UND IPV6
Mein erster Gedanke zu "subnetting" und IPv6 war, oh nein, das wird der
Horror.
Zugegeben, es ist nicht simpel und verlangt von euch, dass ihr mit Binär-
und Hex-Zahlen umgehen könnt.
Jedoch haben wir das alles in den vorherigen Kapiteln gelernt und wenn ihr
etwas übt, wird euch das "subnetting" in IPv6 nicht schwerfallen.
BEGINNEN WIR MIT DER THEORIE
Wie wir in dem Abschnitt 13.2 Global Routing Prefix gelernt haben, befindet
sich unser "subnetting" Bereich in dem vierten Block der IPv6 Adresse und
hat in der Regel den Wert 1000.
Wenn wir ein "subnetting" mit IPv6 machen, wird kein anderer Block der
Adresse verändert. Somit habt ihr euch ausschließlich auf diesen und
dessen "prefix" zu konzentrieren.
592
Ich gebe euch jetzt einmal eine Beispiel Adresse mit der wir ein
"subnetting" durchspielen.
2001 4800 FACE 1000 1234 5678 9ABC DEAD /64
Noch einmal zur Erinnerung, wir arbeiten ausschließlich mit dem vierten
Block der Adresse. Jetzt zerlegen wir diesen und wandeln ihn in das binäre
Zahlensystem um.
Wert 1 Wert 2 Wert 3 Wert 4
0001 0000 0000 0000
Da dieser Schritt soweit klar sein sollte und immer gleichbleibt, stelle ich
jetzt auch schon die Aufgabe:
Wir haben eine "prefix length" von: "::/52" bekommen und benötigen
mindestens 10 Subnetze.
Um zu wissen, wo wir in unserer Adresse das Rechnen beginnen, müssen
wir zuerst unsere "prefix length" verwenden und unsere Adresse abzählen.
593
Jeder Block der IPv6 Adresse besteht aus 16 " bits " . Diese "bits" zählen wir
nun von links nach rechts bis wir die 52 erreicht haben und ziehen eine
Linie.
16 Bits 32 Bits 48 Bits Vier bits verbleibend
2001 4800 FACE 0001 | 0000 0000 0000
Damit haben wir erfolgreich den bereits gegeben "prefix" abgesteckt.
Nun gilt es herauszufinden, wie wir die 10 Subnetze in diesen Wert
einrechnen können, dies ist sogar relativ simpel. Beachtet, dass hier auch
wieder von links nach rechts gezählt wird.
Wir rechnen also von links nach rechts in dem binären System hoch, bis wir
mindestens den Wert 10 erreichen:
2 4 8 16 = größer als 10
0 0 0 0
Und ziehen nach diesem "bit" ebenfalls eine Linie, denn diese Steckt unsere
neue "prefix length" ab.
16 Bits 32 Bits 48 Bits 56 Bits
2001 4800 FACE 0001 | 0000 | 0000
594
0000
Damit haben wir erfolgreich die "prefix length" für unsere Subnetze
ermittelt: /56
Ebenfalls haben wir bereits die Stelle gefunden, die wir für unsere Subnetze
erhöhen müssen. Diese müssen wir für jedes Subnetz, um den dezimalen
Wert "1" erhöhen, durchführen.
16 Bits 32 Bits 48 Bits Erstes Subnetz
2001 4800 FACE 0001 | 0001 | 0000
0000
2001:4800:FACE:1100:: /56
16 Bits 32 Bits 48 Bits Zweites Subnetz
2001 4800 FACE 0001 | 0010 | 0000 0000
2001:4800:FACE:1200:: /56
16 Bits 32 Bits 48 Bits Drittes Subnetz
2001 4800 FACE 0001 | 0011 | 0000 0000
2001:4800:FACE:1300:: /56
Und so weiter...
595
Ich gratuliere, ihr habt das "subnetting" für IPv6 gelernt!
596
BONUS 13: CHEATSHEET
Abkürzungen:
TTL Time to Live
QoS Quality of Service
IANA Internet Assigned Numbers Authority
RIRs Regional Internet Registries
ISPs Internet Service Provicers
NDP Neighbor Discovery Protocol
RA Router Advertisment
RS Router Solicitation
SNMA Solicited node multicast address
NS Neighbor Solicitation
NA Neighbor Advertisment
SLAAC Stateless autoconfiguration
DAD Duplicate Address Detection
Vorteile IPv6:
Es werden keine "boradcasts" mehr benötigt.
597
Vereinfachung von zusammengelegten Routen "route
summarization".
Vereinfachtes "subnetting".
Kleinere "routing tables".
Wir benötigen keine DHCP Server mehr.
Verbessertes "quality of service"
Header IPv6:
Version Enthält die Zahl "6" für die Version
Traffic Class Ersetzt das IPv4 Feld "type of service". Wir können in
diesem Feld mittels QoS die "Wichtigkeit" des
Paketes definieren - es klassifizieren.
Flow Label Es wird mittels QoS eine Flussnummer "flow label"
eingetragen, welche es ermöglicht, dass der
Paketstrom zwischen einer Quelle und dessen Ziel
bestimmte Anforderungen stellt und Bandbreite
reserviert.
Payload Lenght Ist das gleiche, wie die "total length" bei IPv4. Das
Feld wurde lediglich umbenannt.
Next Header Ist ein Äquivalent zu dem IPv4 Feld: "protocol".
Hop Limit Ist ein Äquivalent zu "time to live". Jeder absolvierte
598
"hop" verringert die Zahl in diesem Feld um den
Faktor eins. Wenn die Zahl null erreicht wird, wird
das Paket verworfen.
Source Address Gleich IPv4
Destination
Address
Gleich IPv4
Data Gleich IPv4
Aufbau der IPv6 Adresse:
Ausgeschrieben haben wir immer vier Hexazeichen je Block.
Blöcke werden von einem " : " getrennt .
Es sind immer acht Bereiche - Blöcke.
Ob ein Buchstabe groß oder klein geschrieben ist, ist nicht relevant.
Es gibt die sogenannte "zero compression" (nur einmal innerhalb
einer Adresse möglich).
Es gibt die sogenannte "leading zero compression).
Komprimierung IPv6 Adresse:
Bei der "zero compression" werden die Blöcke, welche ausschließlich
mit einer "0" gefüllt sind gar nicht geschrieben. Möglich ist dies
allerdings nur einmal innerhalb einer IPv6 Adresse.
599
Leading zero compression kann mehrfach innerhalb einer IPv6
Adresse angewendet werden und bezieht sich ausschließlich auf
Blöcke, welche mit "0" beginnen!
Diese beginnenden Nuller dürfen in der Schreibweise ebenfalls
gestrichen werden. Beide Verfahren, sowohl "zero compression", als
auch "leading zero compression" dürfen gleichzeitig angewendet
werden.
Verteilung der IPv6 "routable addresses"
IANA -> RIRs -> ISPs
"global routing prefix" hat meistens /48 Bits. Ein kleiner Hinweis: der /48
" prefix " ist bei IPv6 so weit verbreitet , dass viele von "forty-eights"
sprechen.
Aufteilung der Adresse:
IPv6 ist 128 Bit lang
Der "interface identifier" ist 64 Bit lang
Unser Prefix ist 48 Bit lang
Damit verbleiben:
16 Bits für unser "subnetting"
600
Netzwerkanteil
48 Bits (Prefix)
Subnetanteil
16 Bits
Hostanteil
64 Bits (interface
identifier)
Was sind "local link addresses"
Es ist eine ausschließlich auf dem "local link" verwendete Adresse.
Diese Adressen können nicht das Netzwerk verlassen.
"link-local reserved address block" hat immer den Wert: FE80::/10
RFC 4291 legt fest, dass die letzten 54 Bit einer "local link" Adresse
immer auf "0" stehen müssen. Damit beginnt jede Adresse mit: FE80
Wie entsteht der "interface identifier"
Der Router nimmt die MAC-Adresse des "interfaces"
Teilt diese in der Mitte
Schreibt in der Mitte FFFE
Umkehren des siebten Bits der Adresse
Schritt 1-3
MAC-Adresse 11-22-33-aa-bb-cc
Teilung 11-22-33 aa-bb-cc
601
Einsetzen von FFFE 11-22-33FFFEaa-bb-cc
Schreibweise von IPv6 1122:33FF:FEAA:BBCC
Schritt 4
8 4 2 1 8 4 2 1
1. Bit 0 0 0 1
2. Bit 0 0 0 1
Siebtes Bit umgedreht:
8 4 2 1 8 4 2 1
1. Bit 0 0 0 1
2. Bit 0 0 1 1
Schreibweise von IPv6 1122:33FF:FEAA:BBCC
Drehen des siebten Bits 13
Ersetzen der ersten beiden Werte 1322:33FF:FEAA:BBCC
Wie funktioniert NDP Router
Host sendet einen Multicast an die "All-IPv6-Routers" Adresse RS:
FF02::2
Die Adresse ist in den "Joined group address(es)" zu finden.
Es gibt zwei mögliche Antworten:
602
Host hat eine IPv6 Adresse - Router sendet via "unicast" seinen RA an
die hinterlegte IPv6 Adresse
Host hat keine IPv6 Adresse - damit hat die RS eine "source-address",
welche nur aus Nuller besteht. Router sendet seinen RA via
"multicast" an FF02::1, der "All-IPv6-Nodes address". Dieser wird
regulär alle 200 Sekunden in das Netzwerk gesendet.
Wie funktioniert NDP Host
Verwendet SNMA als Empfänger. Sendet seine NS als "multicast". Für eine
erfolgreiche Kommunikation müssen die letzten sechs Zeichen der "local
link address" übereinstimmen:
xxxx:xxxx::xx12:A567
SNMA Global setzt sich folgendermaßen zusammen:
SNMA Vorlage: FF02:0000:0000:0000:0000:0001:FFxx:xxxx
Global Unicast
address:
2001:1111:2222:0001:0000:0000:0000:0001
SNMA
Dekomprimiert:
FF02:0000:0000:0000:0000:0001:FF 00:0001
SNMA Komprimiert: FF02::1:FF00:1
SNMA link-local setzt sich folgendermaßen zusammen:
SNMA Vorlage: FF02:0000:0000:0000:0000:0001:FFxx:xxxx
603
Local-Link: FE80:0000:0000:000:0260:70FF:FEBA:6D01
SNMA
Dekomprimiert:
FF02:0000:0000:0000:0000:0001:FF BA:6D01
SNMA Komprimiert: FF02::1:FFBA:6D01
Die Antwort NA wird als "unicast" zurückgesendet und enthält die MAC
Adresse.
Damit wird in IPv6 ARP abgelöst.
DHCP
Es gibt zwei Arten von IPv6 DHCP.
"stateful"
"stateless"
Stateful: Funktioniert großteils, wie bei IPv4 auch lediglich das Gateway
wird nicht mehr übertragen, dies erledigt NDP. Die Bezeichnungen haben
sich geändert:
IPv4 IPv6
Discovery Solicity
Offer Advertise
Request Request
Acknowledgement Reply
604
Stateless: Der Host erstellt sich via SLAAC selbst eine IPv6 Adresse.
Dafür verwendet er den "prefix" der RA und seinen "interface identifier".
64-Bit - Prefix von RA 64Bit - Interface identifier
Duplicate Address Detection
DAD stellt bei "stateless" DHCP sicher, dass die Adresse nicht bereits in
Verwendung ist. Dafür verwendet er NDP ohne eine IPv6 Adresse. Diesen
sendet er an die gerade erstellte IPv6 Adresse. Sollte er eine Antwort
bekommen, verwirft er seine selbst erstellte Adresse wieder.
BEFEHLE:
Aktiviert IPv6 Routing:
R1(config)#ipv6 unicast-routing
Vergibt eine IPv6 Adresse:
R1(config-if)#ipv6 address 2001:1111:2222:1::1/64
Entfernt die IPv6 Adresse:
R1(config-if)#no ipv6 address 2001:1111:2222:1::1/64
Zeigt alle Interfaces mit IPv6 Adressen:
605
R1#show ipv6 interface
Zeigt alle Interfaces mit IPv6 Adressen reduzierte Ansicht:
R1#show ipv6 interface brief
Zeigt ein gewünschtes Interface:
R2>show ipv6 interface fastEthernet 0/1
Zeigt die IPv6 Routen:
R1#show ipv6 route
Erstellt eine IPv6 Adresse anhand des local link:
R1(config-if)#ipv6 address 2001:1111:2222:1::/64 eui-64
Statische Route "recursive":
R1(config)#ipv6 route 2001:3333:4444:1::/64 2001:2222:3333:1::3
Statische Route "fully specified":
R3(config)#ipv6 route 2001:2222:3333:1::/64 FastEthernet 0/0
2001:3333:4444:1::3
Default Route:
R1(config)#ipv6 route ::/0 fast 0/0
Host static Route:
606
R1(config)#ipv6 route 2001:3333:4444:1::4/128 fastEthernet 0/0
607
14. IOS ERWEITERTES WISSEN
14.1 SERVICES IM ALLGEMEINEM
Negativ Beispiele:
In den letzten Kapiteln haben wir eine sehr lange Liste an "services" auf
unserem Router gesehen. Manche von diesen können allerdings auch zu
unserem Nachteil ausgelegt werden. Seid also vorsichtig mit den "services"
die ihr auf den Geräten aktiviert. Hier ein paar Beispiele:
Finger Service:
Dieser Service sammelt die Benutzernamen und Adressen von den
erfolgreich aufgebauten Telnet Verbindungen. Diese können unter
Umständen auch von einem Angreifer abgefangen werden.
IP Boot, UDP und TCP small servers:
Diese "services" werden gerne dafür missbraucht eine DoS Attacke
auszuführen.
DoS Denail of Service
Das soll nicht bedeuten, dass diese auf keinen Fall verwendet werden
dürfen. Es ist in aller Regel immer davon abhängig, wie die Konfiguration
und die Topologie des Netzwerkes aufgebaut ist. Beschäftigt euch mit den
608
Möglichkeiten, sowie Konfigurationen und entscheidet, anhand dieses
Ergebnisses, ob ihr diese "services" für euer Netzwerk verwenden möchtet.
Positiv Beispiele:
Wenn wir uns an das Kapitel: 3.5 Konsolen Port absichern - Benutzer und
Passwort DB zurück erinnern, haben wir bereits den "service" "password
encryption" verwendet. Dieser ist ein Paradebeispiel für einen "must have".
Dieser sollte auf jedem Gerät aktiviert werden.
609
14.2 DER ZEITSTEMPEL
Auf einem echten Router oder Switch werdet ihr den Zeitstempel in aller
Regel aktiviert haben. Wenn ihr mit dem Packet Tracer eure Übungen
macht, werdet ihr feststellen, dass die Standard-Konfiguration dieser
Geräte folgendermaßen aussieht:
R1#show running-config
Building configuration...
Current configuration : 549 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname R1
!
!
!
!
!
ip cef
no ipv6 cef
Der Grund für diese Konfiguration ist, dass die Benachrichtigungen der
Konsole oft im Weg sein können oder gar die Eingaben unterbrechen.
610
Diese vordefinierte Konfiguration ist also nur für ein Lab zum Lernen
geeignet, nicht aber für den produktiven Einsatz.
Lasst euch von der Auflistung des Packet Tracers nicht täuschen, es sind bei
Weitem nicht alle verfügbaren "services" auf einem CISCO Gerät. Hier
einmal eine Auflistung der im Packet Tracer vertretenen:
R1(config)#service ?
dhcp Enable DHCP server and relay agent
nagle Enable Nagle's congestion control algorithm
password-encryption Encrypt system passwords
timestamps Timestamp debug/log messages
Und zum Vergleich noch die Liste von einem echten CISCO Router:
R1(config)#service ?
alignment Control alignment correction and logging
call-home Enable call-home service
compress-config Compress the nvram configuration file
config TFTP load config files
counters Control aging of interface counters
dhcp Enable DHCP server and relay agent
611
disable-ip-fast-frag
Disable IP particle-based fast fragmentation
exec-callback Enable exec callback
exec-wait Delay EXEC startup on noisy lines
finger Allow responses to finger requests
hide-telnet-addresses
Hide destination addresses in telnet command
linenumber enable line number banner for each exec
nagle Enable Nagle's congestion control algorithm
old-slip-prompts Allow old scripts to operate with slip/ppp
pad Enable PAD commands
password-encryption
Encrypt system passwords
prompt Enable mode specific prompt
pt-vty-logging Log significant VTY-Async events
sequence-numbers Stamp logger messages with a sequence number
slave-log Enable log capability of slave IPs
tcp-keepalives-in Generate keepalives on idle incoming networkconnections
tcp-keepalives-out Generate keepalives on idle outgoing networkconnections
612
tcp-small-servers Enable small TCP servers (e.g., ECHO)
telnet-zeroidle Set TCP window 0 when connection is idle
timestamps Timestamp debug/log messages
udp-small-servers Enable small UDP servers (e.g., ECHO)
Es wird sehr deutlich, dass die Funktionen im Packet Tracer sehr
eingeschränkt sind. Meine Erfahrung ist, dass der Packet Tracer spätestens
für den CCNA ungeeignet ist und man, entweder auf echter Hardware üben
und lernen sollte, oder mit einer Emulationssoftware wie GNS3.
DIE LEVEL DES LOGS
Verlassen wir einmal den "global config mode" mit der Tastenkombination
[Strg + C].
R1(config)#
R1#
%SYS-5-CONFIG_I: Configured from console by console
Wir erhalten eine "console message", welche derzeit noch sehr
eingeschränkt ist, da unter anderem "timestamp" deaktiviert ist. Sobald wir
613
diesen Service aktivieren, werden unsere Benachrichtigungen um diese
Funktion erweitert.
Noch eine kurze Aufklärung, was die Information am Anfang der "console
message" bedeutet:
Sie zeigt uns an, auf welchem Level diese Benachrichtigung ausgegeben
wird. Das bedeutet, dass bestimmte Benachrichtigungen in verschiedenen
Leveln ausgegeben werden. Durch diese Unterteilung können wir festlegen,
welche "messages" uns angezeigt werden sollen und welche nicht. Es gibt
insgesamt acht verschiedene Level.
KONFIGURATION DES SERVICES
Beginnen wir damit, dass wir uns die möglichen Optionen für den
"timestamp service" einmal genauer ansehen. Dafür verwende ich nicht den
Packet Tracer, da dieser leider eingeschränkt ist:
R1(config)#service timestamps ?
debug Timestamp debug messages
log Timestamp log messages
<cr>
R1(config)#service timestamps log ?
datetime Timestamp with date and time
614
uptime Timestamp with system uptime
<cr>
R1(config)#service timestamps log datetime ?
localtime Use local time zone for timestamps
msec Include milliseconds in timestamp
show-timezone Add time zone information to timestamp
year Include year in timestamp
<cr>
R1(config)#service timestamps log datetime
R1(config)#
R1#
R1#
*Dec 2 12:42:32: %SYS-5-CONFIG_I: Configured from console by console
Wir haben damit unsere "console message" um das aktuelle Datum (ohne
Jahr) und die aktuelle Uhrzeit erweitert. Da es aktuell immer wichtiger wird
Log-Dateien auch zu archivieren, empfehle ich euch, das Jahr ebenfalls mit
in die Ausgabe zu nehmen.
R1(config)#service timestamps log datetime year
R1(config)#
*Dec 2 2018 12:45:54: %SYS-5-CONFIG_I: Configured from console by console
Eine weitere Empfehlung, die ich aussprechen möchte, ist die Option für
eine Ausgabe der Millisekunden. Das ist gerade im Fall von "debugging"
615
enorm hilfreich, denn auf einem Produktiv-System, passieren mit
Leichtigkeit fünf Dinge "Gleichzeitig" - in einer Sekunde.
R1(config)#service timestamps log datetime year ?
localtime Use local time zone for timestamps
msec Include milliseconds in timestamp
show-timezone Add time zone information to timestamp
<cr>
R1(config)#service timestamps log datetime year msec
R1(config)#
*Dec 2 2018 12:50:33.071: %SYS-5-CONFIG_I: Configured from console by console
616
14.3 KONSOLEN LOGS
EINLEITUNG
Es geht in diesem Kapitel, um die Art und Weise, wie wir auf Konsolen Logs
zugreifen können. Jede dieser Methoden hat einen anderen Befehl für den
Abruf und auch einen anderen Speicherort. Hier einmal die
Zugriffsmöglichkeiten:
Direkt verbunden mit der Konsole
Verbunden über Telnet oder SSH
Verbunden mit einem "syslog server".
Ein Syslog-Server ist für nichts anderes zuständig, als alle Logs von
verschiedenen Geräten zu sammeln und auszuwerten.
Wir werden uns zu Beginn nur mit der ersten Variante der Console
beschäftigen, da Telnet oder SSH auf das gleiche Resultat hinausläuft.
Ebenfalls werden die Ausgaben der Logs etwas anpassen, da die Menge
dieser immer von dem eigenen Bedarf abhängt, wie beispielsweise:
Weniger oder mehr Informationen
617
Weniger sichtbare Informationen in der CLI, aber alle auf einem
"syslog server".
CLI Command Line Interface
Die bestimmten Level an Konsolen Logs.
Wahrscheinlich dürfte bereits klargeworden sein, dass die sichtbare
Ausgabe sich von der gespeicherten Log Datei unterscheiden kann:
Die standard Ausgaben
Es gibt drei Ausgaben, die jedes CISCO Gerät ausgibt. Sogar die simulierten
in dem Packet Tracer.
%SYS-5-CONFIG_I: Configured from console by console
%LINK-3UPDOWN: Interface fast0/0, changed state to up
LINK bezieht sich auf die Quelle der Nachricht
Die Zahl drei bezieht sich auf das Level - die Gewichtigkeit.
"0" das wichtigste Level
"6" das unwichtigste Level
"7" Sind "debugging messages", welche durch Benutzereingaben
entstanden sind.
UPDOWN steht für das Event, das gerade auf dem "interface"
618
eingetreten ist.
%LINEPROTO-5-UPDOWN: Line protocol on Interface fast0/0,
changed state to up
Hier eine Auflistung der verschiedenen Level:
Nummer - Typ Offizielle
Beschreibung
Meine Beschreibung
1. Alarm Das System ist
"down" -
"unusable".
Sehr schlecht, sehr
sehr schlecht.
1. Notfall Sofortiges
Handeln gefragt.
Sehr schlecht.
2. Kritisch Kritisches Event. Aufmerksam werden
und entsprechend
handeln.
3. Fehler Ein Fehler ist
aufgetreten.
Aufmerksam werden
und entsprechend
handeln.
4. Warnung Eine Warnung ist
aufgetreten.
Aufmerksam werden
und entsprechend
619
handeln.
5. Benachrichtigung Relativ normal. Behalte es im Auge,
sollte aber meistens in
Ordnung sein.
6. Information Normal, einfach
nur
Informationen.
Sollte man zur
Kenntnis nehmen.
7. Debugging Debugging
Informationen, die
durch Eingaben
ausgelöst wurden.
Ich habe es selbst
eingegeben. Das ist die
Rückmeldung. Seid
vorsichtig mit der CPU
Belastung während
dem "debugging".
Wenn wir uns die aktuelle Konfiguration bezüglich dem "logging" ausgeben
wollen, können wir dafür den folgenden "show" Befehl verwenden:
R1#show logging
Syslog logging: enabled (0 messages dropped, 2 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)
No Active Message Discriminator.
No Inactive Message Discriminator.
Console logging: level debugging, 30 messages logged,
620
xml disabled, filtering disabled
Monitor logging: level debugging, 0 messages logged, xml
disabled, filtering disabled
Buffer logging: level debugging, 30 messages logged,
xml disabled,
filtering disabled
Exception Logging: size (8192 bytes)
Count and timestamp
logging messages:
disabled
Persistent logging: disabled
No active filter modules.
Aktuell beschäftigen wir uns mit dem "console logging". Dies ist in der
folgenden Tabelle zu sehen:
Das Level auf "debugging" - "logging" ist aktiviert.
Es sind bis jetzt 30 Nachrichten "geloggt".
Es wird keine .xml Datei mit den Logs erstellt.
Es sind keine Filter für das Log aktiv.
621
Solltet ihr einmal vor einem Gerät sitzen, welches "logging" deaktiviert hat,
zeige ich euch einmal, wie ihr das "console logging" aktivieren könnt:
R1(config)#logging ?
Hostname or A.B.C.D
IP address of the logging host
alarm Configure syslog for alarms
buffered Set buffered logging parameters
buginf Enable buginf logging for debugging
cns-events Set CNS Event logging level
console Set console logging parameters
count Count every log message and timestamp last occurance
delimiter Append delimiter to syslog messages
discriminator Create or modify a message discriminator
dmvpn DMVPN Configuration
esm Set ESM filter restrictions
exception Limit size of exception flush output
facility Facility parameter for syslog messages
filter Specify logging filter
history Configure syslog history table
622
host Set syslog server IP address and parameters
message-counter Configure log message to include certain counter value
monitor Set terminal line (monitor) logging parameters
on Enable logging to all enabled destinations
origin-id Add origin ID to syslog messages
persistent Set persistent logging parameters
policy-firewall Firewall configuration
--More--
Für uns ist das "console logging" interessant:
R1(config)#logging console ?
<0-7> Logging severity level
alerts Immediate action needed (severity=1)
critical Critical conditions (severity=2)
debugging Debugging messages (severity=7)
discriminator Establish MD-Console association
emergencies System is unusable (severity=0)
errors Error conditions (severity=3)
filtered Enable filtered logging
623
guaranteed Guarantee console messages
informational Informational messages (severity=6)
notifications Normal but significant conditions
(severity=5)
warnings Warning conditions (severity=4)
xml Enable logging in XML
<cr>
Wir können diesen Befehl direkt so, wie er ist, absenden. Die aufgelisteten
Level helfen uns das gewünschte Level zu definieren. Wenn wir dieses
filtern wollen, können wir, sowohl das Wort, als auch die Zahl angeben und
bestätigen.
624
14.4 BUFFER UND SYSLOG LOGGING
EINLEITUNG
Wir schauen uns in diesem Kapitel zwei mögliche "log" Verfahren an:
Der "syslog server" und das "buffer logging"
BUFFER LOGGING
Schauen wir uns noch einmal die Ausgabe des "show logging" an:
R1#show logging
Syslog logging: enabled (0 messages dropped, 2 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)
No Active Message Discriminator.
No Inactive Message Discriminator.
Console logging:
level debugging, 32 messages logged, xml disabled, filtering disabled
Monitor logging:
level debugging, 0 messages logged, xml disabled, filtering disabled
Buffer disabled, xml disabled, filtering
625
logging: disabled
Standardgemäß ist das "buffer logging" in IOS deaktiviert. Wie wir ein
"logging" aktivieren, haben wir bereits in dem vorherigen Kapitel gelernt.
Lediglich die Befehlsoption ändert sich, da wir in diesem Fall nicht das
"logging" für die Konsole aktivieren möchten, sondern das "buffer logging".
R1(config)#logging buffered
R1(config)#exit
R1#show logging
Syslog logging: enabled (0 messages dropped, 2 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)
No Active Message Discriminator.
No Inactive Message Discriminator.
Console logging:
level debugging, 32 messages logged, xml disabled, filtering disabled
Monitor logging:
level debugging, 0 messages logged, xml disabled, filtering disabled
Buffer logging:
Level debugging, 1 messages logged, xml disabled, filtering disabled
Die Ausgabe des "buffer loggings" findet ihr am Ende der "show" Ausgabe.
626
In der Regel müsst ihr noch einmal die Leertaste oder Enter drücken.
--More--[ENTER] Trap logging: level informational, 36 message lines logged
Logging Source-Interface: VRF Name:
Log Buffer (8192 bytes):
*Dec 2 2018 18:41:28.494: %SYS-5-CONFIG_I: Configured from console by console
DER SYSLOG SERVER
Ein "syslog server" ist ein zusätzliches Gerät, welches diesen "service" für
uns bereitstellt. Um dieses anzubinden, sind einige Konfigurationen in IOS
nötig. Beginnen wir damit uns die Optionen für das "logging" anzusehen:
R1(config)#logging ?
Hostname or A.B.C.D IP address of the logging host
alarm Configure syslog for alarms
buffered Set buffered logging parameters
buginf Enable buginf logging for debugging
cns-events Set CNS Event logging level
627
……
host Set syslog server IP address and parameters
……
R1(config)#logging host ?
Hostname or A.B.C.D IP address of the syslog server
ipv6 Configure IPv6 syslog server
R1(config)#logging host 172.12.123.1
R1(config)#exit
R1#show logging
……
--More--
[ENTER]……
Trap logging: level informational, 39 message lines logged
Logging to 172.12.123.1 (udp port 514, audit disabled,
link up),
2 message lines logged,
0 message lines rate-limited,
0 message lines dropped-by-MD,
xml disabled, sequence number disabled
filtering disabled
Logging Source-Interface: VRF Name:
……
Dadurch ist die einfachste Form des "syslog server loggings" bereits
aktiviert, wir können natürlich noch einstellen, welches Level aktiviert
werden soll.
628
Für diese Konfiguration gibt es die folgenden Optionen:
R1(config)#logging trap ?
<0-7> Logging severity level
alerts Immediate action needed (severity=1)
critical Critical conditions (severity=2)
debugging Debugging messages (severity=7)
emergencies System is unusable (severity=0)
errors Error conditions (severity=3)
informational Informational messages (severity=6)
notifications Normal but significant conditions
(severity=5)
warnings Warning conditions (severity=4)
14.5 WO FINDE ICH MEINE LOGS?
Betrachten wir in diesem Abschnitt einmal praxisorientiert, wie innerhalb
einer Telnet- oder SSH-Verbindung unsere Logs ansehen können und wo
diese zu finden sind. Ich verwende in GNS3 eine Nachbildung des Labs aus
dem Kapitel: 10.7 Telnet und "extended" ACL und baue eine Verbindung
von Host1 zu dem Router R1 auf.
629
PRAXIS
Wie bereits erwähnt, arbeiten wir dieses Mal nicht mit der Konsole selbst,
sondern mit einer Telnet Verbindung:
Ihr werdet feststellen, dass wenn ihr beispielsweise den "global config
mode" mit [STRG + C] verlasst, ihr keinen "log" ausgegeben bekommt.
R1(config)#
R1#
630
Um es verständlicher zu machen, wieso wir keinerlei Ausgaben bekommen,
schauen wir uns noch einmal mit "show" die "logging" Einstellungen an:
R1#show logging
Syslog logging: enabled (0 messages dropped, 0 messages rate-limited,
0 flushes, 0 overruns, xml disabled, filtering disabled)
No Active Message Discriminator.
No Inactive Message Discriminator.
Console logging:
level debugging, 12 messages logged, xml disabled, filtering disabled
Monitor logging:
disabled
Buffer logging:
disabled, xml disabled, filtering disabled
Logging Exception size (4096 bytes)
Count and timestamp logging messages: disabled
Persistent logging: disabled
Was uns hier interessiert, ist das "monitor logging", welches deaktiviert ist.
Wie bei "buffer logging" auch, verwenden wir wieder die gleiche Syntax.
Wichtig: Diese Funktion ist in dem Packet Tracer nicht vorhanden.
R1(config)#logging monitor
631
Jetzt ist das "logging" für die Remote-Verbindung zwar aktiv, wir
bekommen aber immer noch keine Ausgabe in unserer Telnet-Sitzung.
Damit uns diese ausgegeben wird, benötigen wir noch einen weiteren
Befehl. Dieser muss bei jeder Sitzung im "Privilege Exec Mode" ausgeführt
werden.
R1(config)#
[STRG + C]R1#
……
R1#terminal monitor
R1#conf t
R1(config)#
[STRG + C]R1#
%SYS-5-CONFIG_I: Configured from console by vty0 (20.5.1.2)
Der Unterschied ist unter anderem, dass wir nicht mehr "from console by
console" als Ausgabe bekommen. In einer entfernten Sitzung wird die IP
Adresse des Hosts angegeben.
14.6 BANNER AUSGEBEN
In IOS ist es möglich verschiedene Banner anzeigen zu lassen. Diese können
Informationen für die Personen liefert, die auf diesen Geräten arbeiten
632
müssen, oder eine Warnung ausgeben, dass beispielsweise nur
ausgebildetes Personal auf diesen arbeiten darf.
Wir werden drei Arten von Bannern erstellen:
"login banner"
"message banner"
"exec banner"
LOGIN BANNER
Sehen wir uns einmal die Optionen der "banner" Funktion in IOS an:
R1(config)#banner login ?
LINE c banner-text c, where 'c' is a delimiting character
Das "c" repräsentiert einen Charakter, welcher den Start und das Ende der
"banner message" darstellt. Ihr könnt an dieser Stelle auch gerne einen
anderen verwenden, wichtig ist nur, dass ihr diesen für beides verwendet.
633
In meinem Beispiel verwende ich die "#".
R1(config)#banner login # ?
LINE <cr>
R1(config)#banner login #
Enter TEXT message. End with the character '#'.
Administrators only! #
Sehen wir uns den gerade erstellten "banner" an. Als Ausgabe bekommen
wir ihn ausschließlich innerhalb einer Telnet- oder SSH-Sitzung. An der
Konsole ist dieser nicht ersichtlich.
R2#telnet 192.168.2.1
Trying 192.168.2.1 ... Open
Administrators only!
User Access Verification
Password:****
634
MOTD BANNER
Motd Message of the Day
Die Konfiguration für einen "motd banner" ist nahezu identisch, es wird
lediglich die Option "motd" verwendet, nicht "login".
R1(config)#banner motd #
Enter TEXT message. End with the character '#'.
Die Router werden Heute um 22 Uhr gewartet. #
Sehen wir uns noch einmal diesen über eine Telnet Verbindung an:
R2#telnet 192.168.2.1
Trying 192.168.2.1 ... Open
Die Router werden Heute um 22 Uhr gewartet.
Administrators only!
User Access Verification
Wir bekommen beide "banner" ausgegeben und der gerade erstellte "motd
banner" steht über dem "login banner". Dies ist immer der Fall, egal in
welcher Reihenfolge ihr die "banner" erstellt.
Die informativen "banner" stehen oben.
635
EXEC BANNER
Der "exec banner" ist eine Nachricht, die nach einem erfolgreichen Login
erscheint. Dieser ist also im Gegensatz zu dem "login-" und "motd banner"
nicht auf dem Anmeldebildschirm ersichtlich.
R1(config)#banner exec #
Enter TEXT message. End with the character '#'.
Herzlich Willkommen! #
So sehen unsere drei frisch erstellten "banner" in Aktion aus:
R2#telnet 192.168.2.1
Trying 192.168.2.1 ... Open
Die Router werden Heute um 22 Uhr gewartet.
Administrators only!
User Access Verification
Password:****
Herzlich Willkommen!
R1#
636
14.7 CDP UND LLDP
CDP Cisco Discovery Protocol
Das CDP ist hervorragend dafür geeignet uns die benachbarten CISCO
Geräte anzeigen zu lassen.
Es sendet alle 60 Sekunden seine Informationen über ein Interface an
die benachbarten Geräte.
Gehalten wird diese Verbindung in der Standardkonfiguration 180
Sekunden.
Wir haben es in den vergangenen Kapiteln bereits benutzt und sehen es uns
jetzt noch etwas genauer an.
Aktivieren / Deaktivieren "global".
Aktivieren / Deaktivieren auf einem "interface".
Ein paar hilfreiche Tipps.
637
PRAXIS
Sehen wir uns einmal die klassische Ausgabe des Befehls an:
R1#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
D - Remote, C - CVTA, M - Two-port Mac Relay
Device ID
Local Intrfce
Holdtme Capability Platform Port ID
R2 Gig 1/0 153 R 7206VXR Gig 1/0
638
Die meisten dieser Ausgaben sind selbsterklärend, ich möchte sie dennoch
einmal von links nach rechts durchgehen.
Device ID: Ist der Name, den jemand diesem Gerät zugewiesen hat.
Local
Intrfce:
Ist das "exit interface" unseres Gerätes, über das wir mit
dem entfernten Interface eines anderen Switches
verbunden sind.
Holdtme: Ist die "Haltezeit" in Sekunden, die eine CDP Verbindung
gehalten wurde. Der Standardwert ist 180.
Capability: Ist der Geräte-Typ.
Platform: Ist das Modell.
Port ID: Ist das "interface" des entfernten Gerätes, mit welchem
wir verbunden sind.
639
Sollte uns diese vereinfachte Ausgabe von CDP nicht die benötigten
Informationen liefern, da wir beispielsweise auch die IP Adressen
benötigen, können wir den Befehl noch mit einer Option erweitern:
R1#show cdp neighbors detail
-------------------------
Device ID: R2
Entry address(es):
IP address: 192.168.2.2
IPv6 address: 2001:2222:3333:1::2 (global unicast)
IPv6 address: FE80::C802:7FF:FE98:1C (link-local)
Platform: Cisco 7206VXR, Capabilities: Router
Interface: GigabitEthernet1/0, Port ID (outgoing port): GigabitEthernet1/0
Holdtime : 142 sec
Version :
Cisco IOS Software, 7200 Software (C7200-ADVENTERPRISEK9-M), Version 15.2(4)M7, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2014 by Cisco Systems, Inc.
Compiled Thu 25-Sep-14 10:36 by prod_rel_team
advertisement version: 2
Duplex: full
Diese Ausgabe ist bei einem Nachbarn noch leserlich, sollten jedoch viele
Geräte verbunden sein, wird es etwas chaotisch. Leider kann dieser Befehl
die Ausgabe nicht nach "interfaces" oder Geräte-Typen filtern.
640
Für diesen Anwendungsfall gibt es eine weitere Option, welche sich
ausschließlich auf die Device ID bezieht:
R1#show cdp entry R2
CDP IN EINEM PRODUKTIVEN NETZWERK
In vielen produktiven Netzwerken wird CDP deaktiviert, da es nicht nur uns
hilfreiche Informationen über die benachbarten Geräte liefern kann,
sondern auch Angreifern. Jedoch kann uns dieses Protokoll im Falle eines
"troubleshooting" enorm unter die Arme greifen.
Deshalb schauen wir uns einmal an, wie wir CDP auf der "globalen" und auf
der "interface" Ebene aktivieren und deaktivieren. Vergesst nur nicht, die
Konfiguration anschießend auf ihren Ursprung zurück zu stellen.
641
Befehle auf dem "interface":
Aktiviert CDP
R1(config-if)#cdp enableDeaktiviert CDP
R1(config-if)#no cdp enable
Befehle "globally":
Aktiviert CDP
R1(config)#cdp runDeaktiviert CDP
R1(config)#no cdp run
LINK LAYER DISCOVERY PROTOCOL
LLDP Link Layer Discovery Protocol
Für so gut, wie jedes proprietäre Protokoll von Cisco, gibt es auch einen
freien Industrie-Standard, welcher auf Geräten von anderen Herstellen
ähnliche Funktionen bereitstellt.
Es sendet alle 30 Sekunden seine Informationen über ein Interface an
die benachbarten Geräte.
642
Gehalten wird diese Verbindung in der Standardkonfiguration, 120
Sekunden.
Beide Protokolle agieren auf dem "layer" 2.
Das Pardon zu CDP ist in diesem Fall LLDP, das "link layer discovery
protocol".
Das "link layer discovery protocol" ist ebenfalls auf den meisten CISCO
Geräten vertreten und kann mit einem einfachen "show" Befehl abgefragt
werden:
R1#show lldp
% LLDP is not enabled
In aller Regel ist dieses in der Standardkonfiguration deaktiviert und kann
ebenso wie CDP "global" oder auf der "interface" Ebene aktiviert und
deaktiviert werden.
Befehle "globally":
Aktiviert CDP
R1(config)#lldp runDeaktiviert CDP
R1(config)#no lldp run
643
Wenn wir auf mehreren Geräten LLDP aktiviert haben, können wir zu einen
Vergleich uns die "show" Ausgabe noch einmal ansehen:
R1#show lldp neighbors
Capability codes:
(R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device
(W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other
Device ID Local Intf Hold-time Capability Port ID
R2 Fa0/0 120 R Fa0/0
SW1 Fa0/1 120 B Fa0/1
Beide Ausgaben sehen sich sehr ähnlich und haben auch rein funktionell
viel gemeinsam. Ebenfalls die detaillierte Ausgabe ist zum Verwechseln
ähnlich:
R1#show lldp neighbors detail
------------------------------------------------
Chassis id: 0000.0CDE.1301
Port id: Fa0/0
Port Description: FastEthernet0/0
System Name: R2
System Description:
Cisco IOS Software, 1841 Software (C1841-ADVIPSERVICESK9-M), Version 12.4(15)T1, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Wed 18-Jul-07 04:52 by pt_team
Time remaining: 90 seconds
System Capabilities: R
644
Enabled Capabilities: R
Management Addresses - not advertised
Auto Negotiation - supported, enabled
Physical media capabilities:
100baseT(FD)
100baseT(HD)
Media Attachment Unit type: 10
Vlan ID: 1
------------------------------------------------
Chassis id: 00D0.FF06.A901
Port id: Fa0/1
Port Description: FastEthernet0/1
System Name: SW1
System Description:
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(25)FX, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2005 by Cisco Systems, Inc.
Compiled Wed 12-Oct-05 22:05 by pt_team
Time remaining: 90 seconds
System Capabilities: B
……
Der Vorteil von LLDP gegenüber CDP zeigt sich auf der "interface" Ebene.
LLDP ist dazu in der Lage zu differenzieren, ob über einen Port nur Updates
gesendet, empfangen oder beides verfügbar sein soll.
R1(config-if)#lldp ?
receive Enable LLDP reception on interface
transmit Enable LLDP transmission on interface
645
14.8 BACKUP UND RESTORE
Lab Download
Verfügbar
VORAUSSETZUNGEN
Für die, in diesem Lab, behandelte Art des Backups, benötigen wir einen
TFTP Server. Ich habe in dem bereitgestellten Lab einen Server mit der IP
Adresse: 192.168.2.1 angelegt und diesem die TFTP und DNS Dienste
konfiguriert.
BACKUP DER "STARTUP CONFIGURATION"
Starten wir mit einem Backup der "startup configuration".
R1#copy start tftp
Address or name of remote host []? 192.168.2.1
646
Destination filename [R1-confg]? R1-config-heute
Writing startup-config...!!
[OK - 649 bytes]Wir geben in dem ersten Schritt die Adresse des TFTP Servers an und im
zweiten den Namen der Datei. Das war auch schon alles. Ihr solltet
sicherheitshalber immer kontrollieren, ob die Datei auch wirklich auf dem
TFTP Server geschrieben wurde.
647
BACKUP DES "FLASH" SPEICHERS
Sehen wir nun das "flash directory" an:
R1#show flash
System flash directory:
File Length Name/status
3 33591768 c1841-advipservicesk9-mz.124-15.T1.bin
2 28282 sigdef-category.xml
1 227537 sigdef-default.xml
[33847587 bytes used, 30168797 available, 64016384 total]
63488K bytes of processor board System flash (Read/Write)
Hier finden wir den Namen der aktuell verwendeten .bin Datei. Diesen
werden wir für das Backup benötigen, kopiert euch den vollständigen
Namen mit der Dateiendung und speichert ihn zwischen. Jetzt können wir
das Backup starten.
648
R1#copy flash tftp
Source filename []? c1841-advipservicesk9-mz.124-15.T1.bin
Address or name of remote host []? 192.168.2.1
Destination filename [c1841-advipservicesk9-mz.124-15.T1.bin]? Backup-Router-heute.bin
Writing c1841-advipservicesk9-mz.124-15.T1.bin...!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 33591768 bytes]
33591768 bytes copied in 0.546 secs (6459701 bytes/sec)
Der Name für das "image" muss exakt angegeben werden und kann nicht
mit der Autovervollständigung ergänzt werden. Prüfen wir zum Abschluss
noch unseren TFTP Server.
649
DER RESTORE PROZESS
Dieser verläuft gleich mit dem Backup, es wird lediglich die Quelle gedreht.
Wenn wir beispielsweise die "startup configuration" wiederherstellen
möchten, geben wir folgendes in die Befehlszeile ein:
R1#copy tftp startup-config
Address or name of remote host []? 192.168.2.1
Source filename []? R1-config-heute
Destination filename [startup-config]?
Accessing tftp://192.168.2.1/R1-config-heute...
Loading R1-config-heute from 192.168.2.1: !
[OK - 649 bytes]
650
Lasst hierbei den vorgegebenen "destination filename" unverändert.
14.9 IOS LIZENZEN
ANZEIGEN DER INSTALLIEREN LIZENZEN
Die installierten Lizenzen auf den CISCO Geräten können wir uns mit einem
"show" Befehl ausgeben lassen. Dieser unterteilt sich noch einmal in die
folgenden Optionen:
Router#show license ?
all Show license all information
detail Show license detail information
feature Show license feature information
udi Show license udi information
Verwenden wir einmal die Option "feature", da diese eine kurze Übersicht
zu den installierten Lizenzen ausgibt.
Router#show license feature
651
Feature
name
Enforceme
nt
Evaluatio
n
Subscriptio
n
Enable
d
RightToUs
e
ipbasek9 no no no yes no
securityk
9
yes yes no no yes
datak9 yes no no no yes
uck9 yes yes no no yes
Für Prüfungen wird gerne auf die "udi" Option Bezug genommen. Seht euch
diese also sehr gut an. Mit dieser Option werden die Lizenzen selbst
ausgegeben.
Router#show license udi
Device
#
PID SN UDI
*1 CISCO2911/
K9
FTX1524KCZC
-
CISCO2911/
K9:FTX1524KCZC-
INSTALLIEREN EINER LIZENZ
652
Wir haben hier die Möglichkeit noch weitere "features" zu installieren -
aktivieren. Voraussetzung ist selbstverständlich, dass wir eine gültige Lizenz
für dieses "feature" besitzen.
Sehen wir uns einmal an, welche Pakete wir in dem Packet Tracer
installieren können.
Router(config)#license ?
boot license boot config commands
Router(config)#license boot ?
module which module to boot
Router(config)#license boot module ?
c2900 license boot module for c2900
Router(config)#license boot module c2900 ?
technology-package product technology group
Router(config)#license boot module c2900 technology-package ?
securityk9 security technology
uck9 unified communication technology
Router(config)#license boot module c2900 technology-package securityk9 ?
disable disable the technology
<cr>
Wir können am Ende des Befehls also, entweder mit [ENTER] bestätigen
und dieses "feature" aktivieren, oder ein "disable" anhängen und dieses
deaktivieren. Wichtig dabei ist, dass diese Konfiguration erst nach einem
Neustart - "reload" greift.
653
BONUS 14: CHEATSHEET
CDP Cisco Discovery Protocol
LLDP Link Layer Discovery Protocol
Zeitstempel
Der Service ist in der Standard-Konfiguration deaktiviert
no service timestamps log datetime msec
no service timestamps debug datetime msec
Level der Konsolen Logs
Nummer - Typ Offizielle
Beschreibung
Meine Beschreibung
1. Alarm Das System ist
"down" - "unusable".
Sehr schlecht, sehr sehr
schlecht.
1. Notfall Sofortiges Handeln
gefragt.
Sehr schlecht.
2. Kritisch Kritisches Event. Aufmerksam werden und
entsprechend handeln.
3. Fehler Ein Fehler ist
aufgetreten.
Aufmerksam werden und
entsprechend handeln.
654
4. Warnung Eine Warnung ist
aufgetreten.
Aufmerksam werden und
entsprechend handeln.
5. Benachrichtigung Relativ normal. Behalte es im Auge,
sollte aber meistens in
Ordnung sein.
6. Information Normal, einfach nur
Informationen.
Sollte man zur Kenntnis
nehmen.
7. Debugging Debugging
Informationen, die
durch Eingaben
ausgelöst wurden.
Ich habe es selbst
eingegeben. Das ist die
Rückmeldung. Seit
vorsichtig mit der CPU
Belastung während dem
"debugging".
Aufbau eines Konsol Logs:
%LINK-3UPDOWN: Interface fast0/0, changed state to up
LINK bezieht sich auf die Quelle der Nachricht.
Die Zahl drei bezieht sich auf das Level - die Gewichtigkeit.
UPDOWN steht für das Event, das gerade auf dem "interface" eingetreten
ist.
Welches Logging ist wo:
Ist die Ausgabe des Logs unter "show logging".
655
"syslog server" ist ein externer Server, welcher die Logs empfängt speichert
und aufbereitet.
Telnet Konsolen Logs:
Der Konsolen Log wird bei Telnet nicht standardgemäß angezeigt. Es muss
im ersten Schritt das "logging monitor" aktiviert werden. Bei jeder Sitzung
muss jedes Mal im "privilege excec mode" der Befehl: "terminal monitor"
ausgeführt werden für die Anzeige.
Banner ausgeben:
Die wichtigsten Banner Arten:
"login banner"
Wird immer vor der Anmeldung im Terminal angezeigt - z. B. Telnet.
"message banner"
Ist ein informatives Banner und wird ebenfalls im Anmeldebereich
einer Terminal Sitzung ausgegeben. Informative Nachrichten stehen
immer über dem "login banner"
"exec banner"
Wird nach der Anmeldung in der Sitzung als eine Art Begrüßung für
eine erfolgreiche Anmeldung ausgegeben.
CDP Neighbors
Bedeutung der Ausgaben:
656
Device ID: Ist der Name, den jemand dem Gerät zugewiesen hat.
Local
Intrfce:
Ist das "exit interface" unseres Gerätes, über das wir mit
dem entfernten verbunden sind.
Holdtme: Ist die "Haltezeit" in Sekunden, die eine CDP Verbindung
gehalten wurde. Der Standardwert ist 180.
Capability: Ist der Geräte-Typ.
Platform: Ist das Modell.
Port ID: Ist das "interface" des entfernten Gerätes, mit welchem
wir verbunden sind.
Kann auf der "global" und auf der "interface" Ebene aktiviert - deaktiviert
werden.
LLDP
Freier Industriestandard, welcher dem CDP ähnelt. Funktioniert auch
auf nicht CISCO Geräten.
Kann auf der "global" und auf der "interface" Ebene aktiviert -
deaktiviert werden.
Ein großer Vorteil ist, dass auf dem "interface" gefiltert werden kann,
ob über dieses nur Updates gesendet werden sollen oder empfangen.
Muss auf CISCO Geräten erst aktiviert werden.
657
BEFEHLE:
Aktiviert den Zeitstempel mit dem aktuellen Datum:
R1(config)#service timestamps log datetime
Aktiviert den Zeitstempel mit dem aktuellen Datum, inklusive dem Jahr:
R1(config)#service timestamps log datetime year
Aktiviert den Zeitstempel mit dem aktuellen Datum, inklusive dem Jahr und
Millisekunden:
R1(config)#service timestamps log datetime year msec
Zeigt das Logging an:
R1#show logging
Aktiviert das Konsolen Logging:
R1(config)#logging console
Aktiviert das Bufferd Logging:
R1(config)#logging buffered
Setzt einen Syslog-Server für das Logging:
R1(config)#logging host 172.12.123.1
658
Setzt das Logging-Level für den Syslog-Server:
R1(config)#logging trap <0-7>
Aktiviert die Log-Ausgabe für Terminal Sitzungen:
R1(config)#logging monitor
Aktiviert die Ausgabe selbst für Terminal Sitzungen:
R1#terminal monitor
Erstellt einen Login-Banner:
R1(config)#banner login #
Enter TEXT message. End with the character '#'.
Administrators only! #
Erstellt einen Message-of-the-day-Banner:
R1(config)#banner motd #
Enter TEXT message. End with the character '#'.
Die Router werden Heute um 22 Uhr gewartet. #
Erstellt einen Execution-Banner:
R1(config)#banner exec #
Enter TEXT message. End with the character '#'.
Herzlich Willkommen! #
Aktiviert CDP auf "interface" Ebene:
659
R1(config-if)#cdp enable
Deaktiviert CDP auf "interface" Ebene:
R1(config-if)#no cdp enable
Aktiviert CDP auf "global" Ebene:
R1(config)#cdp run
Deaktiviert CDP auf "global" Ebene:
R1(config)#no cdp run
Gibt die Neighbor Details für R2 aus:
R1#show cdp entry R2
Gibt die Neighbor Details für alle aus:
R1#show cdp neighbors detail
Gibt die LLDP Neighbors aus:
R1#show lldp neighbors
Aktiviert LLDP auf "global" Ebene:
R1(config)#lldp run
Deaktiviert LLDP auf "global" Ebene:
R1(config)#no lldp run
660
Gibt alle LLDP Neighbors Details aus:
R1#show lldp neighbors detail
661