Automatische Konfiguration und automatisches Firmwareupdate eines Motorola AP6532

Dem aufmerksamen Leser wird auffallen, dass der Inhalt dieser Seite sehr ähnlich zu dem Artikel über das Autoprovisioning von Motorola AP5131 Accesspoints ist. Dies kommt daher, dass das Verfahren sehr ähnlich ist und nur einige Konfigurationsparameter angepasst werden müssen.

Sobald man vor der Aufgabe steht mehrere Accesspoints zu verwalten kommen Gedanken an ein zentrales Management auf. Erhältlich sind sehr viele proprietäre Softwareprodukte, die, wahrscheinlich auf Grund ihres riesigen Funktionsumfangs, auch richtig viel Geld kosten.
Beschränkt sich der Bedarf allerdings auf eine zentrale Konfigurationsverwaltung, sowie darauf Firmwareupdates für einen einzelnen Accesspointtyp zentral verteilen zu können, sind derartige Lösungen allerdings Overkill.
Für die Umsetzung der oben aufgezählten Anforderungen genügt es einen Server um DHCP und TFTP Fuktionalität zu erweitern. Das unten beschriebene Vorgehen funktioniert problemlos bei Motorola AP6532 Accesspoints und das sogar so, dass werksneue Accesspoints mit Factory- Defaults einfach ans Netz angesteckt werden müssen. Auf die Konfiguration des TFTP Servers will ich hier nicht weiter eingehen, da diese zum einen trivial ist und zum anderen viele sehr gute Anleitungen im Netz existieren. Im Beispiel unten ist unterhalb des TFTPROOT Verzeichnisses ein Verzeichnis ap5131 angelegt, in dem sowohl die Firmware als auch die Konfigurationsdatei des APs liegen. Als DHCP Server kommt ein ISC DHCP Server zum Einsatz. Dieser wird ähnlich des folgenden Beispiels konfiguriert:
default-lease-time 3600;
max-lease-time 7200;
 
ddns-update-style ad-hoc;
update-static-leases on;
 
log-facility local7;
 
#
# accesspoints
#
option ap-ftp-servername code 186 = text;
option ap-firmware-filename code 187 = text;
option ap-config-filename code 188 = text;

subnet 172.180.0.0 netmask 255.255.252.0 {
        range 172.180.0.1 172.180.0.149;
        option subnet-mask 255.255.252.0;
        option domain-name-servers 172.180.0.252, 172.180.0.253;
        option broadcast-address 172.180.0.255;
        option routers 172.180.0.254;
        option ntp-servers 172.180.0.252;
        ddns-updates on;
        next-server 172.180.0.251;
        deny unknown-clients;
        deny bootp;
}


# WLAN
group {
        option domain-name "wlan.domain.tld";
        option ap-firmware-filename = "ap6532/AP6532-5.6.0.0-056R.img";
        option ap-config-filename = "ap6532/config-300.txt";
        option ap-ftp-servername = "tftp://172.180.0.251";
        ddns-domainname "wlan.domain.tld";
        ddns-rev-domainname "in-addr.arpa";
        default-lease-time 3600;

        host ap301 {
                hardware ethernet b4:c7:99:12:34:56;
                ddns-hostname ap301;
        }
        host ap302 {
                hardware ethernet b4:c7:99:67:78:90;
                ddns-hostname ap302;
        }

In den Zeilen 1 und 2 werden Standardwerte für die Lease- Zeiten vorgegeben. In 4 und 5 werden die globalen Parameter für eine dynamische Registrierung der vergebenen Adressen in einem DNS- Server gesetzt.
Zeile 7 steuert das Logging und leitet dieses auf die Facility 7.
In 12 bis 14 wird das Mapping für Motorola spezifische Parameter durchgeführt.
Nun folgt die Definition des Netzbereiches, sowie verschiedener Grundeinstellungen, die für alle später definierten Gruppen identisch sein sollen. Hierzu zählen die DNS- Server, das Default- Gateway, sowie auch der TFTP- Server, der nach dem Start kontaktiert werden soll. Der DHCP- Server reagiert nur auf Anfragen von Clients, die in den Gruppendefinitionen aufgeführt sind (deny unknown clients).
Die Gruppierung an sich erfolgt zum einen aus Gründen der Übersichtlichkeit und zum anderen auf Grund von Bequemlichkeit. Werte, die für mehrere Accesspoints gleicher Funktionalität, z.B. für alle APs der Cafeteria gelten sollen, müssen so nur einmal definiert werden. So auch der Pfad und der Name der Konfigurationsdatei und der Firmware, sowie der Domainname der DNS- Zone, in der der AP eingetragen werden soll.
Die Zeilen 40 bis 47 enthalten die exemplatische Definition von zwei APs. Hier erfolgt die statische Zuordnung des Namens zum Accesspoint selbst. Die Angabe des ddns-hostname ist notwendig, da die automatische Bestimmung nur sehr selten funktioniert. Die Konfiguration des DHCP- Servers muss beim Erweitern des Netzes um einen weiteren AP lediglich um einen Block nach dem vorliegenden Muster aus den Zeilen 40-47 erweitert werden. Nach einem Reload der Konfiguration kann der neue AP angesteckt werden und das Autoprovisioning startet.
Äquivalent dazu kann man in Anlehnung an die Zeilen 31 bis 47 eine neue Gruppe definieren. Den Wert für die Lease- Time in Zeile 38 sollte man im Livebetrieb unbedingt nach oben setzen- für Tests ist er jedoch vollkommen in Ordnung. Benötigt man für einzelne Accesspoints eine spezielle Konfiguration, so lässt sich dies dadurch bewerkstelligen, dass man innerhalb der Host- Definition eine Zeile mit "option ap-config-filename = PFAD/DATEI" einfügt. Die Registierung erfolgt im aufgeführten Beispiel in einem Windows- DNS was den fehlenden Schlüssel erklärt. Die "Bedienungsanleitung" für das Ganze ist kurz und knackig:
Zum Firmwareupdate eine Firmwaredatei in das angegebene Verzeichnis auf den TFTP- Server legen und die APs z.B. über POE neu starten oder einfach den Ablauf der Leasezeit abwarten.
Identisch dazu läuft das Ändern von Konfigurationen ab. Entscheidend ist zu wissen, dass der AP beim Starten und bei jeder Lease- Erneuerung auf dem TFTP- Server "nachsieht" ob sich eine der angegebenen Dateien geändert hat. Nur wenn eine Änderung erfolgt ist wird die Datei, ob Konfiguration oder Firmware, auch übertragen.