Erst lesen, dann sichern, dann prüfen, zuletzt ändern
Vom Inventar über Backups in Git und Soll-Ist-Prüfungen bis zum ersten Playbook, das Switches ändert, mit Check-Modus, Review und Rollback.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Kurz gesagt
Netzwerkautomatisierung mit Ansible gelingt, wenn du in vier Stufen vorgehst und jede erst verlässt, wenn sie stabil läuft. Zuerst liest du Inventar und Fakten, dann sicherst du Konfigurationen versioniert in Git, danach prüfst du die Ist-Konfiguration gegen einen Sollstand. Erst zuletzt rollst du Änderungen per Playbook aus, mit Vorschau, Review und Rückweg. Die ersten drei Stufen ändern kein einziges Gerät und liefern trotzdem sofort Nutzen. Für Cisco IOS nutzt Ansible die Collection cisco.ios über die SSH-Verbindung ansible.netcommon.network_cli.
Stand dieser Seite: 25.10.2026
01 Worum es geht
Zweihundert Switches, ein Wochenende und ein Skript, das alles auf einmal ändern sollte
Viele Automatisierungsprojekte im Netz beginnen mit einer großen Aufgabe: Ein neues VLAN muss auf allen Access-Switches angelegt werden, ein NTP-Server ändert sich, ein Sicherheitsbefund verlangt eine geänderte SNMP-Konfiguration auf jedem Gerät. Jemand schreibt ein Skript, testet es an einem Switch und lässt es am Samstag gegen alle laufen. Bei dreißig Geräten bricht es ab, weil deren Softwarestand einen Befehl anders erwartet, und am Montag weiß niemand genau, welche Switches im alten und welche im neuen Zustand sind.
Nach so einem Wochenende gilt Automatisierung im Team als Risiko, und die nächste Änderung wird wieder per Hand gemacht. Dabei lag das Problem nicht am Werkzeug, sondern an der Reihenfolge. Wer Geräte ändert, bevor er weiß, welche Geräte mit welcher Software es gibt, bevor ein Backup jedes Geräts existiert und bevor er Abweichungen messen kann, automatisiert blind.
Der zweite Stolperstein ist die Werkzeugfrage. Ansible, Python mit Netmiko oder NAPALM, ein Controller wie Catalyst Center: Jede Option hat Fürsprecher, und die Diskussion verzögert den Anfang um Monate. Die Antwort hängt weniger von Vorlieben ab als von der Frage, wer die Automatisierung später pflegt und wie viel Logik sie braucht.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
02 Schritt für Schritt
Sieben Schritte vom leeren Repository zur ersten automatischen Änderung
Die Schritte setzen ein Testgerät oder ein Labor voraus und einen Rechner mit Ansible, der die Geräte per SSH erreicht. Jeder Schritt endet mit einem Ergebnis, das im Repository liegt oder im Team vorgeführt werden kann.
- 1
Spielregeln festlegen: Repository, Zugang, Labor
Lege ein Git-Repository für Inventar, Playbooks und Vorlagen an und vereinbare, dass Änderungen nur per Merge Request mit Review hineinkommen. Richte auf den Geräten ein eigenes Konto für die Automatisierung ein, damit Anmeldungen im Log unterscheidbar sind. Kennwörter landen nicht im Klartext im Repository, sondern verschlüsselt mit Ansible Vault oder in einem Passwortmanager. Stelle ein Testgerät oder virtuelle Switches bereit, auf denen jede neue Rolle zuerst läuft.
Ergebnis: Ein Repository mit README, Branch-Regeln und verschlüsselten Zugangsdaten sowie ein erreichbares Testgerät.
- 2
Inventar anlegen und die Verbindung testen
Installiere die Collections cisco.ios und ansible.netcommon und lege ein Inventar mit Gruppen nach Rolle und Standort an. Die Verbindungsvariablen stehen laut Ansible-Dokumentation in den Gruppenvariablen: ansible_connection als ansible.netcommon.network_cli, ansible_network_os als cisco.ios.ios und für den Enable-Modus ansible_become mit der Methode enable. Teste mit einem einfachen show-Befehl über cisco.ios.ios_command gegen alle Geräte und notiere, welche nicht erreichbar sind.
Ergebnis: Ein Inventar, gegen das ein lesendes Playbook auf allen Geräten ohne Fehler durchläuft, und eine Liste der Ausnahmen mit Grund.
- 3
Stufe 1: Fakten sammeln und einen Bericht erzeugen
Mit cisco.ios.ios_facts liest du je Gerät unter anderem ansible_net_model, ansible_net_serialnum, ansible_net_version und ansible_net_hostname. Schreibe die Werte in eine CSV-Datei oder gleiche sie mit der Source of Truth ab. Mit gather_network_resources liest das Modul zusätzlich strukturierte Daten wie Interfaces, VLANs oder statische Routen, die du in späteren Stufen für Prüfungen brauchst.
Ergebnis: Ein automatisch erzeugter Bericht über alle Geräte mit Modell, Seriennummer und Softwarestand, der wöchentlich neu entsteht.
- 4
Stufe 2: Konfigurationen täglich in Git sichern
Das Modul ansible.netcommon.cli_backup holt die laufende Konfiguration über network_cli und legt sie in einem Verzeichnis deiner Wahl ab. Ein Job auf dem Automatisierungsrechner oder in der CI-Pipeline startet das Playbook nachts und committet die Dateien. Zeilen, die sich bei jeder Abfrage ändern, etwa der Zeitstempel der letzten Änderung, filterst du vor dem Commit heraus, sonst entsteht jede Nacht ein Diff ohne Inhalt.
Ergebnis: Ein Repository mit einer Datei je Gerät und einer täglichen Commit-Historie, in der echte Änderungen als Diff sichtbar sind.
- 5
Stufe 3: Soll-Ist-Prüfung für die wichtigsten Standards
Beginne mit wenigen, klar definierten Standards: NTP-Server, Syslog-Ziel, SNMP-Version, AAA-Server, Login-Banner. cisco.ios.ios_config vergleicht mit diff_against: intended die laufende Konfiguration gegen eine Sollvorlage, ohne das Gerät zu ändern; die Abweichungen siehst du beim Lauf mit --diff. Alternativ liest du Ressourcen mit state: gathered und prüfst sie mit ansible.builtin.assert. Das Ergebnis ist eine Liste der Geräte, die vom Standard abweichen.
Ergebnis: Ein Prüfbericht je Standard mit abweichenden Geräten, der nach jedem Lauf kürzer werden soll.
- 6
Stufe 4: die erste Änderung mit Vorschau und Review
Wähle eine Änderung mit kleinem Risiko, etwa ein neues VLAN auf den Access-Switches eines Standorts, und nutze ein Resource-Modul wie cisco.ios.ios_vlans mit state: merged. Lass dir mit state: rendered zuerst die CLI-Befehle erzeugen, die das Modul senden würde, ohne das Gerät zu berühren. Führe das Playbook dann am Testgerät und an einem produktiven Gerät mit --check und --diff aus. Die Änderung geht als Merge Request ins Repository und wird von einem zweiten Teammitglied freigegeben.
Ergebnis: Ein freigegebener Merge Request mit Playbook, gerenderten Befehlen und dem Ergebnis des Testlaufs.
- 7
In Wellen ausrollen und den Rückweg bereithalten
Rolle die Änderung mit serial in kleinen Gruppen aus, beginnend mit zwei Geräten, und prüfe nach jeder Welle Erreichbarkeit und Funktion. Vor dem Lauf liegt ein frisches Backup vor. Für riskante Änderungen nutzt du auf IOS XE configure replace mit dem Parameter time: Wird die Änderung nicht innerhalb der Frist mit configure confirm bestätigt, setzt das Gerät laut Cisco die vorherige Konfiguration wieder ein. Speichere erst nach erfolgreicher Prüfung in die Startkonfiguration.
Ergebnis: Alle Zielgeräte im neuen Zustand, belegt durch einen erneuten Lauf der Soll-Ist-Prüfung ohne Abweichung.
03 Was du mitnimmst
Was ein schrittweiser Einstieg bringt
Jede Stufe liefert einen Nutzen, den das Team im Alltag spürt, bevor die nächste beginnt. So wächst das Vertrauen in die Automatisierung im selben Tempo wie ihr Umfang.
Vier Stufen der Netzwerkautomatisierung
- 01 Stufe 1: Inventar und Fakten (nur lesen)
- 02 Stufe 2: Backups versioniert in Git
- 03 Stufe 3: Soll-Ist-Prüfung
- 04 Stufe 4: Änderungen per Playbook
- 05 Review, Wellen, Rollback
Sofort ein vollständiges Inventar
Ein Playbook mit cisco.ios.ios_facts liefert für jedes Gerät Modell, Seriennummer und Softwarestand. Damit ist die Frage, welche Switches von einer Sicherheitsmeldung betroffen sind, in Minuten beantwortet, ohne ein Gerät zu verändern.
Jede Konfiguration mit Historie
Tägliche Backups in ein Git-Repository zeigen jede Änderung als Diff mit Datum. Undokumentierte Änderungen fallen auf, und vor einem Eingriff liegt immer ein aktueller Stand bereit.
Abweichungen messen statt vermuten
Eine Soll-Ist-Prüfung zeigt, welche Geräte vom Standard abweichen, etwa bei NTP, Logging, SNMP oder Banner. Das ist zugleich die Liste der Geräte, an denen eine spätere automatische Änderung anders wirken würde als erwartet.
Änderungen mit Vorschau und Review
Erst wenn die ersten drei Stufen laufen, ändern Playbooks Geräte. Jede Änderung wird vorher als Vorschau erzeugt, im Team geprüft und zuerst an wenigen Geräten ausgerollt. Ein Fehler betrifft dann zwei Switches, nicht zweihundert.
Eine begründete Werkzeugwahl
Du weißt, wann Ansible mit seinen Modulen genügt und wann ein Python-Skript mit Netmiko oder NAPALM die bessere Wahl ist, und kannst beide kombinieren, statt eine Grundsatzdebatte zu führen.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Warum der Einstieg nur lesend sein sollte
Ein lesendes Playbook kann im schlimmsten Fall eine SSH-Sitzung belegen. Ein schreibendes kann die Management-Schnittstelle abschalten, ein VLAN auf einem Trunk entfernen oder die Startkonfiguration überschreiben. Die Ansible-Dokumentation warnt beim Zustand overridden ausdrücklich, dass du dir damit den Zugang zum Gerät nehmen kannst, etwa wenn die Konfiguration des Management-Interfaces überschrieben wird.
Die lesenden Stufen haben einen zweiten Zweck: Sie zeigen, wie heterogen das Netz wirklich ist. Unterschiedliche Softwarestände, Plattformen mit abweichender Befehlssyntax, Geräte ohne SSH oder mit veralteten Schlüsselverfahren und vergessene Ports im Status err-disabled fallen beim Lesen auf. Jeder dieser Funde wäre beim ersten schreibenden Lauf zu einem Fehler geworden.
Stufe 1 und 2 als Code: Inventar, Fakten, Backup
Das Inventar trennt Geräte nach Plattform und Rolle, die Gruppenvariablen enthalten die Verbindungsdaten. Die Werte für Benutzer und Kennwort kommen aus einer Vault-Datei. Mit ansible-inventory --graph prüfst du, ob die Gruppen so aufgebaut sind, wie du denkst.
Das Backup-Playbook ist bewusst schlicht. Wer das Backup zusätzlich als Teil eines späteren Änderungs-Playbooks braucht, kann bei cisco.ios.ios_config die Option backup setzen; das Modul sichert dann vor der Änderung die vollständige laufende Konfiguration.
# inventory/hosts.yml
all:
children:
ios:
children:
access_muc:
hosts:
sw-muc-e1:
ansible_host: 10.0.10.11
sw-muc-e2:
ansible_host: 10.0.10.12
# group_vars/ios.yml
ansible_connection: ansible.netcommon.network_cli
ansible_network_os: cisco.ios.ios
ansible_user: svc-ansible
ansible_password: "{{ vault_ios_password }}"
ansible_become: true
ansible_become_method: enable
ansible_become_password: "{{ vault_ios_enable }}"
# fakten.yml
- name: Softwarestand erfassen
hosts: ios
gather_facts: false
tasks:
- name: Fakten lesen
cisco.ios.ios_facts:
gather_subset: min
- name: Zeile für den Bericht
ansible.builtin.debug:
msg: "{{ inventory_hostname }};{{ ansible_net_model }};{{ ansible_net_serialnum }};{{ ansible_net_version }}"
# backup.yml
- name: Konfigurationen sichern
hosts: ios
gather_facts: false
tasks:
- name: Running-Config ablegen
ansible.netcommon.cli_backup:
dir_path: /srv/netz-configs/ios
filename: "{{ inventory_hostname }}.cfg" Backups in Git ohne Rauschen
Ein Backup-Repository ist nur nützlich, wenn ein Diff eine echte Änderung bedeutet. Cisco-Konfigurationen enthalten Kommentarzeilen mit dem Zeitpunkt der letzten Änderung und des letzten Speicherns, auf älteren Plattformen auch Zeilen wie ntp clock-period, die sich ohne Zutun ändern. Entferne solche Zeilen vor dem Commit mit einem kleinen Filter, dann zeigt die Historie nur noch, was jemand tatsächlich konfiguriert hat.
Weil die Dateien Kennwort-Hashes, SNMP-Communities und Schlüssel enthalten, gehört das Repository in einen geschützten Bereich mit wenigen Leserechten. Spiegle es nicht in öffentliche oder breit freigegebene Plattformen. Ist doch einmal ein Geheimnis in einer Datei gelandet, die zu viele sehen, reicht Löschen im nächsten Commit nicht, weil es in der Historie bleibt.
#!/bin/sh
set -eu
cd /srv/automation
ansible-playbook -i inventory/hosts.yml backup.yml
cd /srv/netz-configs
sed -i -e '/^! Last configuration change/d' \
-e '/^! NVRAM config last updated/d' \
-e '/^ntp clock-period/d' ios/*.cfg
git add -A
git diff --cached --quiet || git commit -m "Backup $(date +%F)" Stufe 3: Abweichungen vom Standard sichtbar machen
Die Soll-Ist-Prüfung braucht eine Definition des Solls. Für den Anfang reicht eine Vorlage mit den Zeilen, die auf jedem Gerät gleich sein müssen. ios_config vergleicht die laufende Konfiguration mit dieser Vorlage, wenn du diff_against auf intended setzt, und zeigt die Unterschiede beim Lauf mit --diff. Laut Dokumentation ändert dieser Aufruf das Gerät nicht.
Für Prüfungen mit Logik, etwa ob jeder Access Port BPDU Guard hat oder ob kein Trunk VLAN 1 als Native VLAN nutzt, sind die strukturierten Daten der Resource-Module besser geeignet. Mit state: gathered bekommst du die Konfiguration als Datenstruktur und prüfst sie mit assert. Das Ergebnis lässt sich als Bericht ausgeben und in einen wöchentlichen Lauf einbauen.
- name: Standardkonfiguration prüfen
hosts: ios
gather_facts: false
tasks:
- name: Laufende Konfiguration gegen Sollvorlage vergleichen
cisco.ios.ios_config:
diff_against: intended
intended_config: "{{ lookup('ansible.builtin.template', 'soll/basis.j2') }}"
- name: VLANs strukturiert lesen
cisco.ios.ios_vlans:
state: gathered
register: vlans
- name: VLAN 30 muss vorhanden sein
ansible.builtin.assert:
that: "30 in (vlans.gathered | map(attribute='vlan_id') | list)"
fail_msg: "VLAN 30 fehlt auf {{ inventory_hostname }}"
# Aufruf: ansible-playbook -i inventory/hosts.yml compliance.yml --diff Stufe 4: Änderungen mit Resource-Modulen, Check-Modus und Review
Resource-Module wie ios_vlans, ios_interfaces oder ios_l2_interfaces beschreiben den gewünschten Zustand als Daten. Der Zustand merged ergänzt die vorhandene Konfiguration, replaced ersetzt die genannten Objekte, overridden ersetzt alles der Ressource, deleted entfernt. Für den Einstieg ist merged die sichere Wahl, weil nichts verschwindet, was nicht im Playbook steht.
Bevor ein Playbook ein Gerät ändert, durchläuft es drei Prüfungen. state: rendered erzeugt die Befehle offline, sodass ein Kollege sie im Merge Request lesen kann. Der Lauf mit --check und --diff gegen ein Gerät zeigt, was sich dort ändern würde, sofern das Modul den Check-Modus unterstützt. Und serial begrenzt die Zahl der Geräte, die gleichzeitig geändert werden.
- name: VLAN 30 für Telefonie anlegen
hosts: access_muc
gather_facts: false
serial: 2
tasks:
- name: VLAN setzen
cisco.ios.ios_vlans:
config:
- vlan_id: 30
name: VOICE
state: active
state: merged
- name: In die Startkonfiguration schreiben, wenn geändert
cisco.ios.ios_config:
save_when: modified
# Vorschau an einem Gerät
# ansible-playbook -i inventory/hosts.yml vlan30.yml --check --diff --limit sw-muc-e1 Ansible oder Python mit Netmiko und NAPALM
Ansible, Netmiko und NAPALM sind keine Gegensätze, sondern Werkzeuge für unterschiedliche Ebenen. Netmiko ist eine Python-Bibliothek, die SSH-Sitzungen zu Netzgeräten vieler Hersteller vereinfacht: Befehle senden, Ausgaben lesen, Konfigurationszeilen schicken. NAPALM legt eine einheitliche Schnittstelle über mehrere Plattformen, mit Gettern für Fakten und Funktionen zum Laden, Vergleichen, Übernehmen und Zurückrollen von Konfigurationen. Für Cisco IOS nutzt der NAPALM-Treiber selbst Netmiko und setzt laut Dokumentation einen aktivierten SCP-Server und ein konfiguriertes Archiv voraus.
Die Entscheidung folgt zwei Fragen: Wer pflegt den Code, und wie viel Logik steckt darin? Ein Netzwerkteam ohne Programmiererfahrung kommt mit Ansible weiter, weil Playbooks lesbar sind und die Module Idempotenz mitbringen. Sobald eine Aufgabe Schleifen über Daten aus mehreren Systemen, Fehlerbehandlung mit Wiederholungen oder eigene Berichte braucht, wird Python übersichtlicher. Viele Teams kombinieren beides und rufen aus Ansible eigene Python-Module oder Skripte auf.
| Kriterium | Ansible mit cisco.ios | Python mit Netmiko | Python mit NAPALM |
|---|---|---|---|
| Einstieg ohne Programmierkenntnisse | gut, YAML und fertige Module | mittel, Python-Grundlagen nötig | mittel, Python-Grundlagen nötig |
| Idempotente Änderungen | Resource-Module bringen sie mit | selbst zu programmieren | über Vergleich und Commit von Kandidaten |
| Vorschau und Rollback | rendered, --check, --diff; Rollback über Backup oder Geräteeigenschaften | selbst zu bauen | compare_config, discard_config und rollback eingebaut |
| Mehrere Hersteller | je Plattform eigene Collection | breite Geräteunterstützung über SSH | Kerntreiber für IOS, IOS XR, NX-OS, Junos und EOS |
| Komplexe Logik und Datenquellen | möglich, wird schnell unübersichtlich | voller Sprachumfang | voller Sprachumfang |
Prüfpunkte und Rollback
Ein automatischer Lauf braucht dieselben Sicherungen wie eine Änderung von Hand, nur konsequenter. Vor jedem schreibenden Lauf liegt ein Backup vor, das nicht älter als der Lauf ist. Es gibt einen Zugang zu den Geräten, der nicht von der Änderung abhängt, etwa ein Out-of-Band-Netz oder Konsolenserver. Und es ist vorher festgelegt, woran du erkennst, dass eine Welle erfolgreich war.
Für den Rückweg auf IOS XE gibt es zwei Mechanismen. Mit configure replace und einer gesicherten Datei setzt du die Konfiguration auf einen früheren Stand zurück. Mit dem Parameter time stellt das Gerät die vorherige Konfiguration selbst wieder her, wenn du die Änderung nicht rechtzeitig mit configure confirm bestätigst; das schützt vor dem Fall, dass du dich mit einer Änderung aussperrst. NAPALM nutzt für IOS denselben Mechanismus, um bei Fehlern automatisch zurückzurollen.
-
Vor dem Lauf liegen ein frisches Backup und ein freigegebener Change vor, und der Out-of-Band-Zugang ist getestet.
-
Die erste Welle umfasst ein Testgerät und ein produktives Gerät mit geringer Bedeutung.
-
Nach jeder Welle prüfst du Erreichbarkeit, Nachbarschaften und die betroffene Funktion.
-
Schon ein fehlgeschlagenes Gerät stoppt den Lauf, deshalb hältst du max_fail_percentage oder serial klein.
-
Nach dem Lauf wiederholst du die Soll-Ist-Prüfung und nutzt erst dann save_when.
! Vor der Änderung: aktuellen Stand lokal ablegen
copy running-config flash:vor-change.cfg
! Neue Konfiguration mit Bestätigungsfrist von 10 Minuten einspielen
configure replace flash:neu.cfg time 10
! ... prüfen, dann bestätigen
configure confirm
! Sofort zurück auf den alten Stand
configure replace flash:vor-change.cfg Dazu passende Kurse
Wer zuerst die Netzgrundlagen festigen und dann automatisieren will, wählt Netzwerktechnik-Kurse bis zur Automatisierung mit Python und Ansible.
Merge Requests, Pipelines und Versionierung sind für Netzwerkteams oft neu, und genau das behandeln die DevOps-Kurse zu Git, CI und Infrastructure as Code.
Für Cisco-Umgebungen mit Controllern und APIs bieten die Cisco-Trainings zu Programmierbarkeit und Automatisierung den passenden Einstieg.
04 Konkrete Kurse
Wo du genau das übst
- Netzwerkautomatisierung mit Python, NAPALM und Ansible
- Das automatisierbare Netzwerk: Praxis-Schulung
- NetBox-Schulung: IPAM, DCIM und Network Automation
- Einführung in die Automatisierung von Cisco-Lösungen
Weitere Kurse aus diesem Bereich
- Wireless LAN Training: Planung, Aufbau und Konfiguration
- Netzwerktechnik Grundkurs
- TCP/IP Grundkurs
- Hardware Grundkurs: Installieren und Konfigurieren
- IPv6-Schulung: Dual Stack sicher betreiben
- Ansible Kompaktkurs
- Proxmox Grundkurs: KVM, LXC, Storage und Backup
- Ansible für Fortgeschrittene: Kein Playbook-Chaos
Preise, Orte und Buchung für alle Kurse des Bereichs findest du im Katalog: Alle Netzwerktechnik-Schulungen mit Terminen.
Stimmen aus den Kursen
Was Teilnehmende über die Kurse in diesem Bereich sagen
Durch den 1 zu 1 Kurs konnten meine Fragen und Ziele optimal bearbeitet werden.
Hervorragender Referent, der kurzweilig und sehr strukturiert durch den Kurs geführt hat und keine Fragen offen gelassen hat.
Vielen Dank, Seminar war informationsreich, verständlich, persönlich sehr angenehm.
05 Fragen
Häufige Fragen
Deine Frage ist nicht dabei? Stell sie uns direkt, wir antworten dir persönlich.
Welche Ansible-Collection brauche ich für Cisco IOS?
Muss auf den Switches etwas installiert werden?
Wie verhindere ich, dass ein Playbook alle Switches gleichzeitig kaputt macht?
Ist ios_config oder ein Resource-Modul besser?
Brauche ich eine Source of Truth, bevor ich automatisiere?
Wann ist Python mit Netmiko oder NAPALM die bessere Wahl?
Passt thematisch dazu
Auf der Serverseite stellt sich dieselbe Frage; der Linux-Bereich zeigt, wo ein Shell-Skript reicht und wo Ansible übernehmen sollte.
Wer die Begriffe noch einmal kompakt nachlesen will, findet Ansible mit Inventory, Playbook und Modulen kurz erklärt im Glossar.
Landet ein Kennwort oder Schlüssel doch einmal im Backup-Repository, erklärt eine eigene Seite, wie du ein versehentlich eingechecktes Geheimnis aus der Git-Historie entfernen kannst.
Quellen
- Ansible Documentation, IOS Platform Options (network_cli, become enable)
- Ansible Documentation, cisco.ios.ios_config module
- Ansible Documentation, ansible.netcommon.cli_backup module
- Ansible Documentation, Network Resource Modules (merged, replaced, overridden, rendered, gathered)
- NAPALM Documentation, IOS driver notes
- Netmiko, Projekt und Dokumentation (GitHub)
- Cisco, System Management Configuration Guide, Cisco IOS XE 17.x: Configuration Replace and Configuration Rollback
Deine Ansprechpartner
Du bist dir nicht sicher, welcher Kurs oder welches Level zu dir passt? Wir beraten dich persönlich und kostenlos.
Yves Hoppe
Weiterbildung & Beratung
Hilft dir, aus dem Netzwerktechnik-Programm den passenden Kurs für deinen Stand zu finden.
Norbert Jansen
Beratung & Inhouse
Plant mit dir Inhouse-Trainings, die auf eure Abläufe und euren Datenbestand zugeschnitten sind.
Das erste Playbook nicht allein am Produktivnetz schreiben
In den Kursen zur Netzwerkautomatisierung bei cmt baust du Inventar, Backups, Prüfungen und Änderungs-Playbooks Schritt für Schritt auf. Vor Ort oder Live-Online begleiten dich unsere Trainerinnen und Trainer von der ersten Verbindung bis zum Rollout mit Rückweg.
Verwandte Themen
- Netzwerkdokumentation, die aktuell bleibt: was hineingehört und wer sie pflegt
- Cisco-IOS-Befehle verstehen: Modi, show-Befehle und Konfiguration sicher speichern
- Catalyst Center oder Meraki: On-Premises-Steuerung oder Cloud-Dashboard für das Cisco-Netz
- Cisco-Zertifizierungen im Überblick: Stufen, Tracks und welcher Weg zu welcher Rolle passt