====== 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"