Ausgangslage
In einem Filial-Rollout ist es auf Grund der hohen Zahl an Geräten erforderlich, die R&S®NC-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 R&S®NC-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.