Ausgangslage
In einem Filial-Rollout ist es auf Grund der hohen Zahl an Geräten erforderlich, die LANCOM Geräte nicht vorkonfigurieren zu müssen. Sie sollen stattdessen in Betrieb gehen, nachdem sie die Konfiguration von einem zentralen LSR-Server erhalten haben, vergleichbar dem "Zero-Touch-Management" bei einem WLC.
Rahmenbedingungen
Damit dieser "Zero-Touch-Rollout" über den Rollout-Agenten des Gerätes funktioniert, sind einige Rahmenbedingungen zu erfüllen:
- Es muss ein zentraler Rollout-Server verfügbar und für die Zero-Touch-Geräte über HTTP/HTTPS erreichbar sein.
- Im Filial-Netz muss DHCP aktiv sein. D. h.,
- ein filialnetz-eigener DHCP-Server ist erreichbar oder
- ein DHCP-Relay-Server im Filialnetz vermittelt die DHCP-Datenpakete zwischen den Geräten im Filialnetz und einem DHCP-Server in der Zentrale.
- Der DHCP-Server muss die DHCP-Option 43 ausliefern können.
Ablauf
Der Konfigurations-Rollout läuft wie folgt ab:
- Das unkonfigurierte Gerät wird an das Filial-Netz angeschlossen.
- Über den DHCP-Server bezieht das Gerät die erforderlichen Verbindungsdaten wie IP-Adresse, Gateway, Netzmaske, DNS-Adresse und die DHCP-Option 43.
- Aus der DHCP-Option 43 dekodiert das Gerät die URL des Rollout-Servers sowie zusätzliche Informationen und konfiguriert damit den Rollout-Agenten des Gerätes.
- Der Rollout-Agent kontaktiert daraufhin den Rollout-Server und führt den Rollout nacheinander in zwei Schritten durch:
- Firmware-Update
- Konfigurations-Update
Der Rollout-Agent erwartet, dass der unter der konfigurierten Firmware-Server-URL erreichbare Rollout-Server eine Firmware im .upx-Format ausliefert, die er anschließend in das Gerät einspielt.
Nach dem Firmware-Update startet das Gerät neu und kontaktiert den Rollout-Server erneut. Der Rollout-Agent prüft, ob die vom Rollout-Server ausgelieferte Firmware bereits installiert ist. Diese Prüfung ist erfolgreich, da das Gerät im ersten Schritt die aktuelle Firmware erhalten hat. Der Rollout-Agent fährt mit dem Update der Konfiguration bzw. dem Download von Skriptdateien fort. Er erwartet, dass der unter der konfigurierten Config-Server-URL erreichbare Rollout-Server ein Skript im .lcs-Format ausliefert, das er anschließend auf in das Gerät einspielt.
Die DHCP-Option 43
Die DHCP-Option 43 ist herstellerspezifisch, d. h., jeder Hersteller kann selbst entscheiden, wie er diese Option strukturiert und welche Informationen er darin kodiert. Die Option kann mehrere sogenannter Sub-Typen enthalten, die die Daten detaillierter strukturieren.
Für den Rollout-Agenten des Gerätes sind die folgenden Sub-Typen spezifiziert:
- Sub-Type 1: Config-Server-URL
- Die Angabe der Server-Adresse ist in den folgenden Formaten möglich:
- HTTP, HTTPS, TFTP
- IP-Adresse, FQDN
- https://rollout:443/
- tftp://10.1.1.1
- http://10.1.1.2/test
Anmerkung:Handelt es sich beim Rollout-Server um einen LSR, muss der Adresse das Präfix lsr: vorangestellt sein, z. B. lsr:https://rollout:443/. Anschließend baut der Rollout-Agent die korrekte LSR-Rollout-URL aus den Sub-Types 5 und folgende zusammen. Entsprechend sind die Sub-Types ab 5 nur bei der Verwendung dieses Präfixes von Bedeutung.
Handelt es sich beim Rollout-Server um keinen LSR, ist die Angabe der URLs für Config-Server und Firmware-Server von Hand und unter Verwendung von Variablen notwendig.
- Sub-Type 2: Firmware-Server-URL
- Wie bei Sub-Type 1, allerdings erwartet der Rollout-Agent, dass der unter dieser Adresse erreichbare Rollout-Server auf seine Anfrage hin eine Firmware-Datei mit der Erweiterung .upx sendet.
- Sub-Type 3: HTTP-Username
- Enthält den Usernamen für die HTTP-Authentifizierung in der URL (entsprechend http://username:password@server)
- Sub-Type 4: HTTP-Password
- Enthält das Passwort für die HTTP-Authentifizierung in der URL (entsprechend http://username:password@server)
- Sub-Type 5: LSR-Projektnummer
- Enthält die im Rollout-Server für das erforderliche Rollout-Projekt gespeicherte Projektnummer.
- Sub-Type 6: Zusätzliche URL-Parameter für LSR-Keyword
- Der Rollout-Agent fügt diesen Inhalt an die konstruierte LSR-URL an (z. B. ?approval=yes).
- Sub-Type 7: Reboot-Time
- Gibt die Wartezeit in Minuten für den Restart des Gerätes nach dem Update durch den Rollout-Server an.
- Sub-Type 8: Request-Interval
- Gibt den Intervall in Minuten an, in dem der Rollout-Agent seine Anfragen an den Rollout-Server sendet.
- Sub-Type 9: TAN
- Dieser Eintrag enthält die Rollout-TAN.
- Sub-Type 10: Gerätenummer
- Enthält die Gerätenummer des zu aktualisierenden Gerätes.
- Sub-Type 11: Request-Delay
- Enthält die Zeit in Minuten, die der Rollout-Agent zwischen Request 1 und Request 2 wartet.
- Sub Type 12: Request-Random
- Diese Einstellung verhindert, dass alle am Rollout beteiligten Geräte zeitgleich beim LSR-Server eine Konfiguration anfordern. Die folgenden Angaben sind möglich:
- 0
- Die Anfragen erfolgen immer mit fest eingestellten Zeitangaben.
- 1
- Legen Sie mit diesem Eintrag fest, dass die Anfrage nach einem Rollout zufällig erfolgt.
- Sub-Type 13: Omit-Certificate-Check
- Dieser Wert legt fest, ob der Rollout-Agent die Überprüfung des Rollout-Server-Zertifikats überspringen soll.
Anmerkung: Fehlt dieser Sub-Type oder ist sein Inhalt leer, nimmt der Rollout-Agent den Wert "0" an und prüft somit das Server-Zertifikat.
Variablen
In den URLs sind alle Variablen verwendbar, die die LCOS-Konsole beinhaltet. Diese Variablen lassen sich in der Konsole über den Befehl printenv ausgeben.
Die Angabe der Variablen in den URLs erfolgt mit vorangestelltem "$" (z. B. $__SERIALNO).
Erzeugung der DHCP-Option 43
Die Erzeugung der DHCP-Option 43 erfolgt auf Grundlage der RFC 2132, Abschnitt 8.4.
Die DHCP-Option 43 kann beim DHCP-Server eines LANCOM Gerätes ebenfalls hinzugefügt werden. Siehe hierzu DHCP-Optionen.
Bei Verwendung eines ISC DHCPd DHCP-Server kann die Option 43 passend mit dem folgenden Konfigurationsabschnitt beispielhaft erzeugt werden:
- Innerhalb der allgemeinen Konfiguration
option space Rollout; option Rollout.config-server code 1 = text; option Rollout.firmware-server code 2 = text; option Rollout.HTTP-Username code 3 = text; option Rollout.HTTP-Password code 4 = text; option Rollout.Projectnumber code 5 = text; option Rollout.AdditionalParams code 6 = text; option Rollout.RebootTime code 7 = text; option Rollout.RequestInterval code 8 = text; option Rollout.Tan code 9 = text; option Rollout.Devicenumber code 10 = text; option Rollout.RequestDelay code 11 = text; option Rollout.RequestRandom code 12 = text; option Rollout.OmitCertCheck code 13 = text;
- Innerhalb der Subnetz-spezifischen Konfiguration
vendor-option-space Rollout; option Rollout.config-server "LSR:https://10.200.50.1:443"; option Rollout.firmware-server "LSR:https:// 10.200.50.1:443"; option Rollout.HTTP-Username "RolloutUser"; option Rollout.HTTP-Password "Secret"; option Rollout.Projectnumber "1"; option Rollout.RebootTime "300"; option Rollout.RequestDelay "20"; option Rollout.RequestRandom "0"; option Rollout.OmitCertCheck "2";
Andere DHCP-Server (z. B. der Microsoft DHCP-Server) lassen keine Definition der Option 43 in der Konfiguration zu. Hier muss die vom Server als Option 43 auszuliefernde Bytefolge vorgefertigt in die Konfiguration eingefügt werden.