====== Automatisierung der Access Point Aktualisierung via ZTP ======
In diesem Beitrag beschreibe ich die automatisierte Aktualisierung des Alcatel-Lucent Enterprise Wireless Operating System (AWOS) auf Stellar APs via Zero-Touch-Provisioning (ZTP). Ich gehe davon aus dass diese APs bisher nicht am Netzwerk angebunden waren. Sollte dies nicht der Fall sein, können diese APs per "ssudo firstboot" (via support-Benutzer SSH) in den Auslieferungszustand zurückgesetzt werden. Bitte beachten dass diese APs natürlich nicht die Option 138 bekommen dürfen, die den Enterprise-Modus aktivieren würde. Nach der Aktualisierung kann der AP via oben beschriebenen Kommando wieder in den Auslieferungszustand (allerdings mit aktualisierter Firmware) zurückgesetzt werden.
===== AP =====
* DHCP Server (zwingend)
* HTTPS Server (optional)
* HTTP Server (zwingend)
* TFTP Server (zwingend)
==== dhcpd.conf (isc-dhcp-server) ====
=== Beispiel anhand eines Netzwerk Scopes ===
#
# Classify Stellar Wireless AP as STELLAR
#
class "STELLAR" {
match if substring (option vendor-class-identifier, 0, 4) = "HAP.";
}
subnet 192.168.10.0 netmask 255.255.255.0 {
option routers 192.168.10.1;
option broadcast-address 192.168.10.255;
option domain-name-servers 192.168.10.1;
option domain-name "vlan10.home";
option ntp-servers 192.168.10.1;
default-lease-time 6000;
max-lease-time 72000;
# Pool for STELLAR
pool {
allow members of "STELLAR";
range 192.168.10.10 192.168.10.20;
# Option 66
option tftp-server-name "192.168.2.1";
# Option 67 (instruction file to download via tftp)
option bootfile-name "hap_instruction.ini";
}
pool {
range 192.168.10.21 192.168.10.50;
allow unknown-clients;
}
}
=== Beispiel anhand einzelner Hosts ===
# Express
subnet 192.168.15.0 netmask 255.255.255.0 {
range 192.168.15.100 192.168.15.200;
option subnet-mask 255.255.255.0;
option routers 192.168.15.254;
option broadcast-address 192.168.15.255;
default-lease-time 6000;
max-lease-time 72000;
}
host ap1101 {
hardware ethernet 34:e7:0b:00:12:70;
#fixed-address 192.168.10.12;
fixed-address 192.168.15.97;
option host-name "ap1101";
# Option 66
option tftp-server-name "192.168.2.1";
# Option 67 (instruction file to download via tftp)
option bootfile-name "hap_instruction.ini";
}
host ap1231 {
hardware ethernet dc:08:56:00:2a:50;
fixed-address 192.168.15.98;
option host-name "ap1231";
# Option 66
option tftp-server-name "192.168.2.1";
# Option 67 (instruction file to download via tftp)
option bootfile-name "hap_instruction.ini";
}
Instruction Datei muss via DHCP (Offer) Option 67 angeflogen kommen. **Die Namen der Dateien können nicht geändert werden!**
In Option 66 muss der Server stehen (IP für TFTP).
==== hap_instruction.ini ====
imgdesc:"http://192.168.2.1/stellar/hap_imgdesc.ini"
imgurlhead:"http://192.168.2.1/stellar/img/"
conf:""
Da wir in diesem Fall keine Konfiguration übertragen wollen, wurde dies absichtlich leer gelassen!
==== hap_imgdesc.ini ====
config model 'AP1101'
option version '3.0.2.2078'
option filename 'OAW-AP1101_3.0.2.2078.bin'
option md5 '00616c4df579ce32b234b20949dfb5f2'
config model 'AP1221'
option version '3.0.2.2078'
option filename 'OAW-AP1220_3.0.2.2078.bin'
option md5 'fd07ce46a9c6dbab1584580e2ff2e117'
config model 'AP1231'
option version '3.0.2.2078'
option filename 'OAW-AP1230_3.0.2.2078.bin'
option md5 '3877d3be90747e0926d5a00cf7a6585e'
config model 'AP1251'
option version '3.0.2.2078'
option filename 'OAW-AP1250_3.0.2.2078.bin'
option md5 'ce8aaf54e7b8993a20f3ecfcaf946f81'
===== Verzeichnisstruktur TFTP Server =====
benny@shiva:~$ ls -lR /srv/tftp/
/srv/tftp/:
total 4
-rw-r--r-- 1 root root 147 May 2 23:12 hap_instruction.ini
===== Verzeichnisstruktur Webserver =====
benny@shiva:~$ ls -lR /var/www/html/stellar/
/var/www/html/stellar/:
total 16
-rw-r--r-- 1 root root 252 Sep 6 2017 hap_conf.ini
-rw-r--r-- 1 root root 611 May 2 21:38 hap_imgdesc.ini
drwxr-xr-x 2 root root 4096 May 2 17:42 img
/var/www/html/stellar/img:
total 102744
-rw-r--r-- 1 benny benny 14221387 May 2 18:53 OAW-AP1101_3.0.2.2078.bin
-rw-r--r-- 1 benny benny 22676362 May 2 18:53 OAW-AP1220_3.0.2.2078.bin
-rw-r--r-- 1 benny benny 24118162 May 2 18:53 OAW-AP1230_3.0.2.2078.bin
-rw-r--r-- 1 benny benny 22414218 May 2 18:53 OAW-AP1250_3.0.2.2078.bin
===== Ausgaben im Log (Debian) =====
# tail -f /var/log/daemon.log
May 3 12:46:21 shiva atftpd[4931]: Serving hap_instruction.ini to 192.168.15.97:34143
# tail -f /var/log/apache2/access.log
192.168.15.97 - - [03/May/2018:12:46:21 +0200] "GET /stellar/hap_imgdesc.ini HTTP/1.1" 200 815 "-" "curl/7.40.0"
192.168.15.97 - - [03/May/2018:12:46:22 +0200] "HEAD /stellar/hap_imgdesc.ini HTTP/1.1" 200 204 "-" "curl/7.40.0"
192.168.15.97 - - [03/May/2018:12:46:22 +0200] "GET /stellar/img/OAW-AP1101_3.0.2.2078.bin HTTP/1.1" 200 14221639 "-" "curl/7.40.0"
192.168.15.97 - - [03/May/2018:12:46:25 +0200] "HEAD /stellar/img/OAW-AP1101_3.0.2.2078.bin HTTP/1.1" 200 252 "-" "curl/7.40.0"