Einleitung
In diesem Dokument wird beschrieben, wie Flash-Beschädigungen an Cisco IOS Access Points (AP) behoben werden.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Grundkenntnisse in folgenden Bereichen verfügen:
- AireOS Wireless LAN-Controller (WLC)
- Lightweight APs
- Python 2.7 (nichts höher)
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
- Cisco Aironet 1040, 1140, 1250, 1260, 1600, 1700, 2600, 2700, 3500, 3600, 3700, 700, AP Access Points der Serien 801 und AP802 für Innenbereiche
- Cisco Aironet Wireless Access Points der Serien 1520 (1522, 1524), 1530, 1550 (1552), 1570 und Industrial Wireless Access Points der Serie 3700 für den Außen- und Industriebereich
Hinweis: Bei Wave1-AP-Modellen wie 1700/2700/3700 und 2600/3600 ist die Prävalenz aufgrund des Flash-HW-Typs wesentlich höher als bei anderen AP-Typen.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
Nach FN70330 - Cisco IOS AP aufgrund eines Flash-Beschädigungsproblems, aufgrund einer Reihe von Software-Fehlern und eines AP im normalen Betrieb gestrandet, kann das Flash-Dateisystem auf einigen Cisco IOS APs im Laufe der Zeit beschädigt werden. Dies zeigt sich insbesondere, wenn ein Upgrade auf den WLC durchgeführt wurde, jedoch nicht unbedingt auf dieses Szenario beschränkt.
Der WAP arbeitet und bedient den Client in diesem nicht leicht erkennbaren Problemzustand.
Lösung
Vor WLC-Upgrade beheben
Identifizierung der betroffenen APs im Netzwerk und deren Behebung vor einem Upgrade Sie müssen den WLAN-Poller ausführen.
Achtung: Lesen Sie vor dem Upgrade das gesamte Dokument.
WLAN-Abfragelogik
Bei jeder Ausführung des Skripts wird überprüft, ob ein AP-Flash-Speicher verfügbar ist.
Wenn darauf zugegriffen werden kann, wird der Befehl fsck flash ausgeführt:
Wenn alles in Ordnung ist, fahren Sie mit dem nächsten Access Point fort.
- oder den Befehl bis zu viermal wiederholen. Tritt ein Fehler auf, kann das Skript dies im Abschlussbericht melden, und dieser Access Point kann wiederhergestellt werden.
wenn sie nicht zugänglich ist
- das Skript kennzeichnet AP auf seinem Abschlussbericht und dieser AP ist berechtigt, wiederhergestellt zu werden.
Wenn darauf zugegriffen werden kann, kann der Access Point MD5-Werte auf kritische Dateien überprüfen.
Wenn alle Werte stimmen, fahren Sie mit dem nächsten Access Point fort.
- Andernfalls kann das Skript dies im Abschlussbericht melden, und dieser Access Point kann wiederhergestellt werden.
Das Skript muss dreimal ausgeführt werden.
- Ausgeführt
- Das Skript erstellt die MD5-Datenbank basierend auf dem MD5-Prüfsummenwert für jede Datei auf dem Access Point. Der endgültige MD5-Wert für eine bestimmte Datei ist derjenige, der über die gleiche AP-Familie auf dem WLC mehr Treffer hat.
- Ausgeführt
- Das Skript vergleicht MD5-Prüfsummenwerte mit der Datenbank. Wenn der Wert übereinstimmt, ist die Datei in Ordnung, wenn nicht, dann wird AP markiert, um beim dritten Lauf wiederhergestellt zu werden.
- Ausgeführt
- Das Skript löst den Befehl test capwap image capwap nur für die APs aus, die in den beiden vorherigen Schritten markiert wurden.
Hinweis: Diese Wiederherstellungsmethode bewirkt, dass der Access Point neu geladen wird, sobald das Image heruntergeladen und installiert wurde. Stellen Sie sicher, dass Sie es in einem Wartungsfenster ausführen.
Installieren/Vorbereiten des WLAN-Abfrageprozesses
1. Laden Sie das WLAN Poller-Tool herunter.
Hinweis: Wenn Sie die neueste Version des WLAN Poller-Tools über den vorherigen Link herunterladen, können Sie die Schritte 2 und 3 überspringen. In dieser Version können alle erforderlichen Komponenten für das WLAN Poller-Tool automatisch installiert werden. Wenn Sie über eine ältere Version (.rar) des WLAN Poller verfügen, führen Sie die nächsten Schritte 2 und 3 aus.
2. Verschieben Sie die Datei in einen bestimmten Ordner, in dem Sie die WLAN-Poller-Dateien speichern möchten.
3. Anweisungen zur Installation des Skripts finden Sie unter dem nächsten Link:
Für eine Schritt-für-Schritt-Anleitung auf Windows 10-Maschine klicken Sie hier.
Für eine schrittweise Anleitung zu MAC OS klicken Sie hier.
4. Bereiten Sie die Datei config.ini vor.
Sobald die Installation abgeschlossen ist und Dateien generiert werden. Sie müssen die Datei config.ini bearbeiten.
WLC/AP-Verbindungsmodus angeben:
; config global mode for WLC and AP connection: "ssh" or "telnet"
mode: ssh
ap_mode: ssh
Geben Sie WLC/AP-Anmeldeinformationen an:
; set global WLC credentials
wlc_user: <wlc_user>
wlc_pasw: <wlc_pasw>
; set global AP credentials
ap_user: <ap_user>
ap_pasw: <ap_pasw>
ap_enable: <ap_enable>
Für die Flash-Prüfung/-Wiederherstellung sind dies die Optionen.
Verwenden Sie zum Identifizieren betroffener APs Folgendes:
; ap file system checks (WARNING: recover can force Cisco IOS image download and AP reload)
ap_fs_check: True
ap_fs_recover: False
So stellen Sie Access Points wieder her:
; ap file system checks (WARNING: recover can force Cisco IOS image download and AP reload)
ap_fs_check: True
ap_fs_recover: True
WLC-Informationen angeben
In diesem Beispiel lautet der Name des WLC 2504-WLC. Diese Informationen finden Sie auf der Seite WLC Monitor (WLC-Monitor).
; WLC sections must be named as [WLC-<wlcname>]
[WLC-2504-Rafis]
active: True
ipaddr: <wlc-ip-addr>
Sie können mehrere WLCs hinzufügen. Kopieren Sie dazu die vorherige Syntax mit den neuen WLC-Informationen, und fügen Sie sie ein.
Hinweis: Sie müssen keine AP-Liste angeben. Das Skript nimmt den AP vom WLC auf.
WLAN-Poller ausführen
Aus dem Verzeichnis, in dem die Konfigurationsdateien erstellt wurden (vorheriger Abschnitt, Schritt 3). Verwenden Sie den folgenden Befehl: wlanpoller --cli-logging .
Nach Abschluss des Skripts wird die folgende Zusammenfassung bereitgestellt:
============================================================
Summary
============================================================
Total APs : 1
Processed APs : 1
Failed APs : 0
============================================================
Errors
============================================================
AP MD5 checksum mismatch : 2
AP FSCK recover : 1
============================================================
Hinweis: Denken Sie daran, dass das Skript zweimal ausgeführt werden muss, um genaue Informationen darüber zu erhalten, wie viele Access Points betroffen sind.
WLAN-Abfrageausgabe
Auf dem Pfad, auf dem das Skript ausgeführt wurde. Es erstellt diese Dateien.
- ap_md5_db.json: MD5-Datenbank
- Ordnerprotokoll
- Es speichert alle Ausgabeanzeigen des WLAN-Pollers auf dem Terminal.
- Ordnerdaten
- Es gliedert die Berichte in folgenden Pfad: <Jahr> / <Monat> / <Tag>
Datei: <timestamp>_ap_fs.csv - Zusammenfassung der auf den APs ausgeführten Prüfungen und ihrer Ergebnisse.
Spaltenbeschreibung
- ap_name: Name des AP
- ap_type: AP-Modell.
- ap_uptime: Betriebszeit für den Access Point (Tage).
- ap_ios_ver: Cisco IOS-Version
- fs_free_bytes: Anzahl der freien Bytes im Flash-Dateisystem.
- flash_issue: True, wenn eine Flash-Beschädigung festgestellt wurde.
- fs_zero_size: True, wenn das Flash-Dateisystem "-" - (Dateisystem anzeigen - Befehl) angezeigt wird.
- fsck_fail: True, wenn die Überprüfung des Dateisystems fehlgeschlagen ist. - (fsck flash: - Befehl).
- fsck_busy: Ist das Gerät oder die Ressource wirklich besetzt, wenn es blinkt.
- fsck_recover: True, wenn ein Fehler auf fsck aufgetreten ist, aber er wird im nächsten fsck behoben.
- fsck_attempts: Anzahl der Versuche von fsck, den AP wiederherzustellen (max. 4)
- md5_fail: True, wenn md5 mindestens eine Datei von der in der Datenbank gespeicherten Datei unterscheidet.
- rcv_trigger: True, wenn AP versuchte, das Image vom WLC herunterzuladen, wenn das Problem erkannt wurde und die Wiederherstellung aktiviert wurde.
Datei: <timestamp>_ap_md5.csv Details der MD5-Prüfsummenwerte aller Dateien (auf allen APs).
Spaltenbeschreibung
- ap_name: Name des AP
- ap_type: AP-Modell.
- ap_uptime: Betriebszeit für den Access Point (Tage).
- Dateiname: Name der Cisco IOS-Image-Datei.
- md5_hash: md5-Wert für Dateiname.
- is_good: Der Wert "True md5" entspricht dem in db gespeicherten Wert. Falsche MD5-Nichtübereinstimmung für diese Datei festgestellt.
- is_zero_bytes: Wahr, wenn Dateiname 0 Bytes basierend auf md5checksum hat, sodass die Datei falsch ist.
- md5_error: Fehlermeldung beim Abrufen des md5-Werts, wenn es nicht möglich war, md5 für den Dateinamen abzurufen.
Hinweis: Es kann Szenarien geben, in denen das Wiederherstellungsskript des WLAN-Abfrageprozesses bestimmte Access Points nicht wiederherstellen kann und diese Access Points im Bericht als ausgefallen gekennzeichnet bleiben. In diesen Szenarien wird die manuelle AP-Wiederherstellung über Telnet/SSH/Konsole in die AP-CLI empfohlen. Öffnen Sie einen TAC-Serviceticket, wenn Sie Hilfe bei diesem Prozess benötigen. Verknüpfen Sie alle vom WLAN-Poller generierten Ausgaben mit dem Gehäuse.
Verseilter AP
Bei SSH-/Telnet-Verbindung
Sie können die folgenden Schritte durchführen, um AP wiederherzustellen:
- Stoppen des automatischen Neustarts
AP# debug capwap console cli
AP# debug capwap client no-reload
- Bei Erfolg Flash formatieren, dann können Sie mit dem nächsten Schritt fortfahren, sonst beenden.
AP# format flash:
- Laden eines Wiederherstellungsabbilds Recovery-Image finden Sie hier.
archive download-sw /overwrite tftp://<IP address>/<file name>
- Überprüfen Sie MD5 auf dem geladenen Wiederherstellungsabbild, wenn Sie mit dem nächsten Schritt fortfahren
AP# verify /md5 flash:/<image directory>/<image file>
Auf der Cisco Webseite können Sie den CLI-Wert mit dem Wert vergleichen.
- Setzen Sie die Boot-Variable auf das neu heruntergeladene Wiederherstellungsabbild:
AP#show boot
AP(config)#boot system flash:/RCV/RCV-image
Wenn AP-Standardstatus
Sie können es wie zuvor versuchen, jedoch über die Boot-Befehle. Hier sind die Befehle, die Sie verwenden können:
ap: tftp_init
ap: ether_init
ap: flash_init
ap: format flash:
ap: set IP_ADDR <IP Address>
ap: set NETMASK <mask>
ap: set DEFAULT_ROUTER < default router >
ap: tar -xtract tftp://<IP address>/<file name> flash:
ap: set BOOT flash:/<file name>
ap: boot
SSH/Telnet nicht möglich
Bounce-Switch-Port, einige Male, überprüfen, ob dies hilft.
Schritt für Schritt Anleitung zur Installation von WLAN Poller unter Windows 10
Hinweis: Wenn Sie die neueste Version des WLAN Poller-Tools herunterladen, können Sie diesen Abschnitt überspringen.
- Laden Sie Python 2.7.14 von diesem Link herunter und installieren Sie es.
- Laden Sie den C++-Compiler für Python für Windows-Clients über diesen Link herunter, und installieren Sie ihn.
- Sobald es installiert ist, gehen Sie zu Systemeinstellungen in Ihrer Systemsteuerung und wählen Sie Erweiterte Systemeinstellungen (stellen Sie sicher, dass alle Windows-Terminals geschlossen sind):
- Wählen Sie im daraufhin angezeigten Fenster Umgebungsvariablen aus.
- Wählen Sie dort die Path-Variable aus den Systemvariablen aus, und klicken Sie auf Bearbeiten.
- Fügen Sie in diesem Fenster den Pfad zum Basisverzeichnis, in dem Sie Python 2.7.14.0 installiert haben, und den Pfad C:\<Basisverzeichnis>\Scripts hinzu, sodass die Befehlszeile des Laptops Python-Befehle erkennt. Klicken Sie auf Neu und fügen Sie den Pfad manuell hinzu.
Schließen Sie alle Einstellungsfenster und die geöffneten Terminals (Eingabeaufforderung), falls vorhanden.
- Überprüfen Sie, ob pip installiert ist, öffnen Sie ein neues Terminal, und geben Sie pip —version ein:
Eine weitere Möglichkeit ist, zu überprüfen, ob es eine Datei namens pip oder pip2 oder pip2.7 auf dem Ordner: C:\Python27\Scripts :
- Wenn alles in Ordnung ist, gehen Sie zum Abschnitt Upgrade pip, Schritt 8.
- Wenn Sie eine Fehlermeldung erhalten oder Sie den Ordner/die Dateien nicht finden, lesen Sie weiter.
Pip installieren
- Schließen Sie das Terminal, und installieren Sie die Pipeline über den nächsten Link.
- Laden Sie die Datei get-pip.py herunter und speichern Sie sie. Suchen Sie auf der Website nach:
- Kopieren Sie die Datei get-pip-py in den Ordner C:\Python27.
Hinweis: Wenn Sie den Inhalt von der Website kopieren und einfügen, stellen Sie sicher, dass es nicht die Erweiterung py.txt, überprüfen Sie dies mit einem Verzeichnis auf dem Ordner C:\Python27, wenn dies geschieht, benennen Sie die Datei vom Terminal um.
Benennen Sie die Datei mit dem folgenden Befehl um:
- Im gleichen Ordner C:\Python27 führen Sie python get-pip.py aus.
- Aktualisieren Sie PIP mit dem nächsten Befehl auf die neueste Version: pip install —upgrade pip.
- Mit den vorherigen Schritten können Sie alle erforderlichen Pakete installieren. Öffnen Sie nun eine Befehlszeile für Windows und gehen Sie zu dem Verzeichnis, in dem Sie die .tar.gz WLAN-Poller-Datei gespeichert haben (verwenden Sie: cd <Pfad zum Verzeichnis>).
- Installieren Sie das Skript mit dem Befehl pip install wlanpoller-0.7.1.dev90_md5rcv.tar.gz.
- Erstellen Sie ein neues Verzeichnis, in dem Sie alle WLAN-Poller-Informationen speichern möchten.
- Navigieren Sie in der Befehlszeile zu diesem Verzeichnis, und führen Sie den Befehl wlanpoller —generate-configs aus, um die Setup-Variablen und Konfigurationsdateien zu erstellen, die für die Ausführung des Skripts erforderlich sind:
Klicken Sie hier, um die Datei config.ini zu öffnen.
Schritt für Schritt Anleitung zur Installation von WLAN Poller auf MacBook
Hinweis: Wenn Sie die neueste Version des WLAN Poller-Tools herunterladen, können Sie diesen Abschnitt überspringen.
Auf dem MAC-Betriebssystem ist bereits Python installiert. Um die restlichen Pakete zu installieren, gehen Sie wie folgt vor:
- Wechseln Sie zu dem Ordner, in dem sich der WLAN-Poller befindet: file: cd.
- Sobald dort führen Sie diesen Befehl: sudo pip install wlanpoller-<version>.tar.gz . Dazu benötigen Sie das Sudo-Passwort (MACBook Admin-Passwort).
- Erstellen Sie ein neues Verzeichnis, um alle Dateien zu organisieren, die das Skript erstellen kann.
- mkdir <Verzeichnisname>
- cd <Verzeichnisname>
- Führen Sie den nächsten Befehl aus, damit das Skript alle Verzeichnisse/Dateien vorbereitet, die zum Ausführen des Skripts erforderlich sind: wlanpoller —generate-configs.
Klicken Sie hier, um mit der Datei config.ini fortzufahren.
WLAN-Abfrageeinschränkungen
- WLAN Poller wurde nur für Windows 10 64 Bit Systeme und Apple MacBook Version 10.11 oder höher getestet.
- Wenn Sie die neuere Version des WLANPoller-Tools nicht verwenden, wird auf den älteren Versionen nur die Version Python 2.7 unterstützt.
- Wenn AP-Namen Sonderzeichen enthalten, werden bei der Skriptausführung wie die nächsten Fehler angezeigt.
- Der Benutzer muss die Sonderzeichen manuell aus dem AP-Namen entfernen, um das Problem zu beheben.
Zugehörige Informationen