Cisco running-config sichern

Wer schon mal mit Cisco Geräten gearbeitet hat, wird das Problem kennen! Die Komponente wird nach langen Konfigurationen neu gestartet – Ups! Die running_config wurde nicht in den Speicher geschrieben… Der Aufwand von Stunden wurde somit innert Sekunden zerstört. Hätte man doch nur die Konfiguration vorweg mal gesichert…

Doch da kann Abhilfe geschaffen werden!
Um auf einfache Art und Weise die Konfiguration von einer Cisco Netzwerkkomponente zu sichern bietet sich TFTP an. Wer es etwas sicherer mag, der könnte natürlich auch FTP verwenden, jedoch wenn der Server nur für diese eine Funktion verwendet wird, so ist dies nicht zwingend nötig und verursacht nur mehr Aufwand.

Alles was ich dazu brauche ist neben meinen Netzwerkkomponenten ein TFTP-Server, wobei ich mich für Debian entschieden habe. Hierzu könnte aber auch Ubuntu, RedHat oder andere Distributionen verwendet werden. Mit TFTPD32 gibt es sogar eine Version für windowsbasierte Systeme.

Dazu muss zuerst der Server installiert werden:

1
apt-get install tftpd

Nun noch den Ordner für TFTP einstellen und schon fast fertig. Dazu kann in der Datei /etc/inetd.conf der letzte Punkt unter TFTP angepasst werden, auf was auch immer es euch beliebt :):

1
tftp  dgram   udp     wait    nobody  /usr/sbin/tcpd  in.tftpd /tftpboot

Danach muss auf den entsprechenden Ordner noch die passenden Zugriffsrechte vergeben werden:

1
chmod -R 777 /usr/sbin/tcpd/

Nun kann auf dem Switch die Konfiguration übertragen werden:

1
2
3
4
5
6
7
8
9
Router#copy running-config tftp:
Address or name of remote host []? 192.168.1.1
Destination filename [Router-confg]? routerconf
 
Writing running-config...!!
[OK - 463 bytes]
 
463 bytes copied in 0.008 secs (57000 bytes/sec)
Router#

Damit aber das nicht immer manuell gemacht werden muss, wird der Befehl zeitgesteuert immer wieder ausgeführt.

Dafür kann Kron verwendet werden, welche seit IOS Version 12.3.1 integriert ist. Leider sind alle IOS im Packet Tracer noch mit älteren Versionen ausgestattet, wodurch dies ohne Hardware nicht so einfach getestet werden kann.

Eingerichtet wird Kron aber wie folgt:

1
2
3
kron policy-list backupconfig
cli copy running-config tftp://172.16.1.9
cli routerconf

Danach muss der Kron getimet werden. Wer das ganze tatsächlich als Ersatz für ein Vergessenes Write Memory einsetzen will, sollte natürlich einen kleineren Zeitabstand wählen:

1
2
kron occurrence week in 7:1:30 recurring
policy-list backupconfig

Nun kann man sich die gespeicherten Kron-Jobs anzeigen lassen:

1
show kron schedule

Wenn nun etwas schief gehen soll oder sonst etwas, so kann eine Konfiguration wieder zurück gespielt werden:

1
2
3
4
5
6
7
8
9
10
11
12
13
Router#copy tftp: running-config
Address or name of remote host []? 192.168.1.1
Source filename []? routerconf
Destination filename [running-config]? 
 
Accessing tftp://192.168.1.1/routerconf...
Loading routerconf from 192.168.1.1: !
[OK - 463 bytes]
 
463 bytes copied in 0.006 secs (77166 bytes/sec)
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#

Ganz zum Schluss das Festschreiben der Konfiguration nicht vergessen 😉

Ganz nützlich ist diese Funktion auch, wenn man mehrere gleiche oder ähnliche Netzwerkkomponenten mit gleicher oder nur leicht abgeänderter Konfiguration in Betrieb nehmen möchte.
Dazu muss lediglich die Konfiguration weg kopiert, mit einem Texteditor bearbeitet werden und dann auf die passenden Komponenten wieder aufgespielt werden.

Wer es gerne auch ausprobieren möchte, der kann dieses kurz mit dem Cisco Packet Tracer durchspielen:

2 Kommentare bei „Cisco running-config sichern

  1. Warum schreibst Du die Running-config? Das ist die die im RAM steht. Viel wichtiger ist die Startup-config! DIE wird beim neustart geladen und dann als running-config kopiert. Wenn Änderungen im Konfig Modus gemacht werden also immer entweder mit dem Befehl ‚end‘ oder manuel mit ‚write‘ (funktioniert nur ausserhalb des Konfig-Modus) runterschreiben. So kommen die Änderungen dann auch in die Startup-Konfig.

    1. Wie im Artikel bereits geschrieben, geht es nicht darum eine Sicherung zu erstellen, falls eine Komponente kaputt geht, sondern einem vergessenen „wr mem“ entgegen zu wirken. Denn dagegen hilft nach einem „reload“ sonst nichts mehr!

      Und ich habe es gerade ausprobiert, ein „end“ ersetzt keinen „wr mem“. Nach einem Neustart der Komponente sind die Änderungen trotzdem verloren!

      Und wo „wr mem“ funktioniert weiss ich, danke 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.