Cisco IOS Konfigurationsgrundlagen
Dieser Artikel soll eine Kurzeinweisung in die Konfigurationsgrundlagen von Cisco IOS geben. Die vorgestellten Praktiken gelten allerdings nur für hinreichend neue Releases (11 oder neuer).
Erstinbetriebnahme
Die Grundkonfiguration erfolgt seriell mit den Einstellungen 9600-N-8-1. Die Konsolenschnittstelle ist bis auf wenige Ausnahmen als RJ-45-Steckverbindung ausgeführt. Dazu wird das passende Konfigurationskabel benötigt.
Ein Router ohne Konfiguration bootet das IOS vom Flashspeicher und versucht auf seine Konfiguration zuzugreifen. Gibt es diese nicht, fragt IOS nach, ob man den Konfigurationsassistenten starten möchte.
Erscheint stattdessen eine Loginaufforderung, so muss zuerst eine sogenannte Password Recovery durchgeführt werden, siehe Abschnitt Weblinks.
Struktur
Außer am Loginprompt kann der Benutzer jederzeit ein Fragezeichen eingeben, um eine kontextabhängige Hilfe zum jeweiligen Modus zu erhalten. Die Hilfefunktion berücksichtigt auch Kommandos mit mehreren Parametern, sodass der Benutzer jederzeit Kenntnis über die erforderliche Syntax erhalten kann.
Mit Hilfe der Tabulatortaste können begonnene Kommandos vervollständigt werden, sofern die eingegebene Buchstabenfolge eindeutig ist.
Die grundlegende Struktur sieht aus wie folgt:
- Prompt
→ Login- Unprivilegierte Kommandozeile
→ enable- Privilegierte Kommandozeile
→ configure- Konfigurationsmodus
→ interface …- Subkontext (Interface, Line, usw.)
- ← exit
- ← end
- Konfigurationsmodus
- ← disable
- Privilegierte Kommandozeile
- ← logout
- Unprivilegierte Kommandozeile
Am Loginprompt muss sich der Benutzer vor dem Zugriff auf die Kommandozeile (Cisco-Sprech: exec) erst authentisieren. Je nach Konfiguration kann der Zugriff auf Adressebene restriktiert sein oder der Login ist benutzerlos (nur mit Passwort) möglich. Ebenso ist es möglich, dass auf der seriellen Konsole keine Authentifizierung konfiguriert wurde, während Zugriffe per Telnet/ssh authentisiert werden müssen. Der Prompt endet in einem Größerzeichen.
Auf dieser Ebene können Benutzer nichtadministrative Aufgaben erledigen, wie z. B. die momentane Exec-Sitzung in eine PPP-Sitzung umwandeln, auf der Kommandozeile mittels Ping und Traceroute Netzwerkdiagnosen durchführen oder sich per Telnet/ssh weiterverbinden.
Aus diesem Modus kann der Benutzer mit exit oder logout die Sitzung schließen und für einen erneuten Login bereit machen.
In den privilegierten Modus gelangt man mit dem Enable-Passwort. Dieses ist in der Konfiguration entweder im Klartext oder als MD5-Hash hinterlegt (enable password
bzw. enable secret
. Je nach Konfiguration muss kein Enable-Passwort eingegeben werden, um direkt vom Loginprompt in den privilegierten Modus zu gelangen. Der Prompt endet in einer Raute.
Die zwei häufigsten Gründe, in den privilegierten Modus zu wechseln, ist die Ausgabe der Konfiguration oder die Absicht, die Konfiguration zu ändern. Ebenso ist es möglich, mit reload das Gerät erneut zu starten.
Aus diesem Modus kann der Benutzer mit disable wieder in den nichtprivilegierten Modus wechseln, oder mit exit, logout, usw. schließen und für einen erneuten Login bereit machen.
Im privilegierten Modus kann in den Konfigurationsmodus gewechselt werden. Das Kommando erwartet als Parameter eine Konfigurationsquelle. In den allermeisten Fällen ist das terminal, also per Kommandozeileneingabe. Der Prompt ändert sich auf (configure) vor der Raute.
In diesem Modus können generische Parameter der Konfiguration zur Laufzeit geändert werden.
Aus diesem Modus kann der Benutzer mit end oder exit wieder in den privilegierten Modus wechseln.
Im Subkontext-Konfigurationsmodus werden spezifische Parameter konfiguriert. Bei Betrachten einer bestehenden Konfiguration ist dies an einer Einrückung der Parameter erkennbar.
Aus diesem Modus kann der Benutzer mit exit wieder in den globalen Konfigurationsmodus zurückwechseln oder mit end zurück in den privilegierten Modus.
Aus dem Konfigurationsmodus heraus kann kurzzeitig durch ein vorangestelltes do
in den normalen Modus umgeschaltet werden, z. B. um direkt ein write
der Konfiguration auf den Permanentspeicher zu forcieren.
Konfiguration
Zu beachten ist: Manche Parameter werden bei Änderung überschrieben (z. B. das enable-secret, da es nur eines geben kann). Andere Parameter werden wie eine Liste ergänzt (z. B. ntp server). Das Entfernen von Konfigurationseinstellungen kann in den allermeisten Fällen durch wiederholen der exakten Konfigurationszeile mit einem vorangestellten no erreicht werden.
IOS-Geräte haben zwei Konfigurationen:
- Running-Config ist die derzeit aktive Konfiguration.
- Startup-Config ist die gespeicherte Konfiguration für den nächsten Bootvorgang.
Die Ausgabe erfolgt mit show, also
show startup-config
bzw.
show running-config
Die Konfiguration kann im privilegierten Modus gespeichert werden:
write memory
Hat man einen Fehler gemacht, kann durch einen Reboot des Gerätes die gespeicherte Konfiguration reaktiviert werden.
reload
Vor einem Eigentümerwechsel des Gerätes, ist es zweckmäßig, die Konfiguration vorher zu löschen und den Auslieferungszustand damit herzustellen:
erase nvram
Die Konfiguration der Geräte ist Text. Beim Bootvorgang des Gerätes wird die gespeicherte Konfiguration abgearbeitet, als würde sie per Hand nach und nach eingegeben. Eine Sicherung der Konfiguration kann daher problemlos mit einem Texteditor angefertigt werden.
Minimale Konfiguration für Remotezugriff
Je nachdem ist es etwas umständlich, ein zurückgesetztes oder neues IOS-Gerät nur seriell konfigurieren zu können. Eine minimale Konfiguration für den Zugriff via Telnet sieht beispielsweise wie folgt aus:
interface VLan1 ip address 192.168.196.100 255.255.255.0 no shutdown ! ip route 0.0.0.0 0.0.0.0 Vlan1 192.168.196.1 ! enable secret blahblubb ! line vty 0 4 password blahblubb !
Als Interface muss ein Layer-3-Interface genommen werden. Bei einigen Modellen ist ein Switchmodul (mit Layer-2-Interfaces) eingebaut, welches hintendran zu einem Layer-3-VLan-Interface zusammengefasst wird. Falsch machen kann man eigentlich nichts. Wenn man versucht, einem Switchport eine IP-Adresse zu verpassen, antwortet IOS mit einer entsprechenden Meldung auf der Konsole. Eine Übersicht über die vorhandenen Schnittstellen mit ihren Kurznamen liefert ein
show interface description