Inhaltsverzeichnis

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

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"