Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

So installieren Sie Salt für Junos OS

Sie können Salt Version 3001 (Sodium) oder höher verwenden, um Geräte zu verwalten, auf denen Junos OS ausgeführt wird. Der Salt-Master kann Geräte, auf denen Junos OS ausgeführt wird, über einen Salt-Proxy-Minion verwalten, der entweder auf dem Salt-Master oder einem separaten Server ausgeführt werden kann. Sie benötigen einen Proxy-Diener pro verwaltetem Gerät, und jeder Proxy-Diener benötigt ca. 40 MB bis 100 MB RAM.

Der allgemeine Installationsprozess sieht folgendermaßen aus:

  1. Auf jedem Gerät, auf dem Junos OS ausgeführt wird:

    • Aktivieren Sie NETCONF über SSH.

    • Konfigurieren Sie das Benutzerkonto und die Authentifizierungsmethode, die Salt verwendet, um eine Verbindung mit dem Gerät herzustellen.

  2. Auf dem Salt-Master:

    • Installieren Sie Salt und seine Abhängigkeiten.

    • Definieren Sie die Proxy-Konfiguration für jedes verwaltete Gerät.

    • Starten Sie den Salt-Master-Prozess.

  3. Auf jedem Junos-Proxy-Minion-Server:

    • Installieren Sie Junos PyEZ und die Module und yamlordereddictloader Pythonjxmlease.

    • Installieren Sie Salt und seine Abhängigkeiten, wenn der Server vom Salt-Master getrennt ist.

    • Starten Sie den Junos Proxy-Minion-Prozess für jedes verwaltete Gerät.

  4. Akzeptieren Sie auf dem Salt-Master die Schlüssel für jeden Junos-Proxy-Minion.

  5. (Optional) Aktivieren Sie die Junos-Syslog-Engine (für Salt).

In den folgenden Abschnitten finden Sie Details zu den einzelnen Teilen des Installationsprozesses für einen Server, auf dem Ubuntu 18.04 ausgeführt wird. Wenn Sie ein anderes Betriebssystem verwenden, verwenden Sie die für Ihr Betriebssystem geeigneten Befehle. Wir empfehlen die Verwendung von Python 3.

Konfigurieren des Geräts mit Junos OS

Der Junos Proxy-Minion greift auf Geräten mit Junos OS über das SSH-Protokoll und standardmäßige SSH-Authentifizierungsmechanismen auf den NETCONF-Server zu. Um eine SSHv2-Verbindung mit einem Gerät herzustellen, auf dem Junos OS ausgeführt wird, müssen Sie sicherstellen, dass die folgenden Anforderungen erfüllt sind:

  • Der NETCONF-Dienst über SSH ist auf jedem Gerät aktiviert, auf dem eine NETCONF-Sitzung eingerichtet wird.

  • Die Clientanwendung verfügt über ein Benutzerkonto und kann sich bei jedem Gerät anmelden, auf dem eine NETCONF-Sitzung eingerichtet wird.

  • Für das Anmeldekonto, das von der Clientanwendung verwendet wird, ist ein öffentliches/privates SSH-Schlüsselpaar oder ein textbasiertes Kennwort konfiguriert.

  • Die Clientanwendung kann auf den öffentlichen/privaten Schlüssel oder das textbasierte Kennwort zugreifen.

Wenn Sie SSH-Schlüssel für die Authentifizierung bei dem Gerät verwenden, auf dem Junos OS ausgeführt wird, und die Schlüssel noch nicht vorhanden sind, generieren Sie das öffentliche und private SSH-Schlüsselpaar für den gewünschten Benutzer auf dem Proxy-Minion-Server, und geben Sie alle erforderlichen oder gewünschten Optionen an, z. B.:

So konfigurieren Sie ein Gerät, auf dem Junos OS ausgeführt wird:

  1. Konfigurieren Sie den NETCONF-over-SSH-Dienst.
  2. Konfigurieren Sie das Benutzerkonto und die Authentifizierungsmethode, die Salt verwendet, um eine Verbindung mit dem Gerät herzustellen. Zum Beispiel:
  3. Bestätigen Sie die Konfiguration.
  4. Vergewissern Sie sich, dass das Kennwort oder der SSH-Schlüssel funktioniert, indem Sie sich mit dem konfigurierten Benutzernamen und der Authentifizierungsmethode vom Proxy-Minion-Server aus beim Gerät anmelden.
  5. Wiederholen Sie diesen Vorgang für jedes verwaltete Gerät, auf dem Junos OS ausgeführt wird.

Informationen zum Aktivieren von NETCONF auf einem Gerät, auf dem Junos OS ausgeführt wird und zum Erfüllen der Anforderungen für das Einrichten einer SSH-Sitzung finden Sie im Entwicklerhandbuch für das NETCONF-XML-Verwaltungsprotokoll.

Einrichten des Salt-Masters

Der Salt-Master ist der Hauptsteuerungsserver, der einen oder mehrere Knoten oder Minions verwaltet. SaltStack empfiehlt, einen Salt-Master auf einem dedizierten Management-Server oder einer virtuellen Maschine (VM) zu installieren. Sie müssen Salt Version 3001 (Sodium) oder höher installieren, um Geräte mit Junos OS zu verwalten.

So installieren und konfigurieren Sie einen Salt-Master:

  1. Installieren Sie die Salt-Abhängigkeiten und den Salt-Master auf dem Salt-Masterserver.

    Um einen Salt-Master zu installieren, installieren Sie entweder manuell die Pakete und Abhängigkeiten für Ihre Plattform oder führen Sie das Salt-Bootstrap-Skript aus.

    Wenn Sie beispielsweise das Bootstrap-Skript verwenden möchten, um die Python 3-Pakete für einen Salt-Master zu installieren, geben Sie die folgenden Befehle ein:

  2. Passen Sie die Salt-Master-Konfigurationsdatei, die sich normalerweise unter /etc/salt/master befindet, für Ihre Umgebungen an.
    Anmerkung:

    Ausführliche Informationen zum Anpassen der Salt-Masterkonfigurationsdatei finden Sie unter https://docs.saltproject.io/en/latest/ref/configuration/master.html.

  3. Erstellen Sie die erforderliche Verzeichnisstruktur, wie in der Salt-Masterkonfigurationsdatei definiert.
  4. Definieren Sie die Proxy-Konfiguration, indem Sie für jedes verwaltete Gerät eine Pillar-Datei erstellen, die den Hostnamen oder die IP-Adresse des entsprechenden verwalteten Geräts mit Junos OS und die entsprechenden Verbindungs- und Authentifizierungsparameter für dieses Gerät angibt proxytype: junos.

    Weitere Informationen zur Proxy-Konfiguration finden Sie unter salt.proxy.junos .

    Anmerkung:

    Informationen zum sicheren Speichern sensibler Daten in Salt finden Sie unter https://docs.saltproject.io/en/latest/topics/best_practices.html#storing-secure-data.

  5. Erstellen Sie die Pillar-Top-Datei, definieren Sie für jedes verwaltete Gerät einen Proxy-Minion-Namen, und ordnen Sie ihn der Pillar-Datei zu, die die Proxy-Konfiguration für dieses Gerät enthält.

    Im folgenden Beispiel wird der Junos-Proxy-Minion, der als "router1" identifiziert wird, der Datei router1-proxy.sls zugeordnet.

  6. Starten Sie den Salt-Master-Prozess, falls er noch nicht ausgeführt wird.
    Anmerkung:

    Um den Prozess zur Fehlerbehebung im Debugmodus zu starten, verwenden Sie sudo salt-master -l debug.

Einrichten des Junos Proxy Minion Servers

Sie müssen die folgende Software auf einem Proxy-Minion-Server installieren, der Geräte mit Junos OS verwaltet:

  • Salt-Software

  • Junos PyEZ-Bibliothek von Juniper Networks

  • jxmlease und yamlordereddictloader Python-Module

Der Junos Proxy-Minion verwendet die Junos PyEZ-Bibliothek, um eine Verbindung mit dem NETCONF-Server des Geräts herzustellen und Verwaltungsaufgaben auszuführen.

Anmerkung:

Wenn Sie die Salt-Master- und Junos-Proxy-Minions auf demselben Server ausführen, ist der Minion-Hostname in diesem Abschnitt identisch mit dem Salt-Master-Hostnamen im vorherigen Abschnitt.

So richten Sie einen Junos-Proxy-Minion entweder auf dem Salt-Master-Server oder einem separaten Server ein:

  1. Installieren Sie den Python-Paket-Manager für dieselbe Python-Version, die Salt verwendet.
  2. Installieren Sie Junos PyEZ(junos-eznc) unter derselben Python-Version, die auch Salt verwendet.

    Plattformspezifische Anforderungen, vorausgesetzte Software und Installationsanweisungen finden Sie unter:

  3. Installieren Sie die Module und yamlordereddictloader Python jxmlease unter derselben Python-Version, die Salt verwendet.
  4. Wenn der Proxyminion-Server vom Salt-Master-Server getrennt ist, installieren Sie Salt und seine Abhängigkeiten auf dem Server.

    Um Salt zu installieren, installieren Sie entweder manuell die Pakete und Abhängigkeiten für Ihre Plattform oder führen Sie das Salt-Bootstrap-Skript aus.

    Um beispielsweise das Bootstrap-Skript zum Installieren der Python 3-Pakete für Salt zu verwenden, geben Sie die folgenden Befehle ein:

  5. Konfigurieren Sie den master Parameter in der Datei /etc/salt/proxy mit dem Hostnamen oder der IP-Adresse des Salt-Masters, damit der Proxy-Minion-Prozess den Salt-Master finden kann.

    Wenn der Salt-Master- und der Proxy-Minion-Prozess auf demselben Server ausgeführt werden, können Sie stattdessen angeben localhost .

  6. Starten Sie den Junos Proxy-Minion-Prozess für jedes Gerät, auf dem Junos OS ausgeführt wird, und schließen Sie die -d Option ein, ihn als Daemon auszuführen.

    Die Proxy-IDs sollten mit denen übereinstimmen, die in der Pillar-Top-Datei auf dem Salt-Master definiert sind.

    Anmerkung:

    Wenn beim Starten des Proxy-Prozesses ein AttributeError: 'module' object has no attribute 'SSL_ST_INIT' Fehler auftritt, müssen Sie möglicherweise das OpenSSL-Paket auf Ihrer Plattform aktualisieren.

    Anmerkung:

    Um den Prozess zur Fehlerbehebung im Debugmodus zu starten, verwenden Sie sudo salt-proxy --proxyid=router1 -l debug.

Der Proxy-Minion stellt eine Verbindung mit dem Salt-Master her und sendet seinen öffentlichen Schlüssel. Der Salt-Master muss den Schlüssel akzeptieren, bevor der Salt-Master und der Proxy-Diener kommunizieren können.

Autorisieren der Proxy-Minion-Schlüssel auf dem Salt-Master

Salt verwendet öffentliche Schlüssel für die Authentifizierung beim Salt-Masterprozess. Standardmäßig autorisiert der Salt-Master keine Minion- oder Proxy-Minion-Schlüssel. Sie müssen die Schlüssel akzeptieren, bevor Sie die entsprechenden Geräte verwalten können.

Sie können die Schlüssel manuell akzeptieren, wie in diesem Abschnitt beschrieben. Wenn Sie wissen, dass die eingehenden Schlüssel kein Sicherheitsrisiko darstellen, z. B. wenn der Salt-Master- und der Salt-Proxy-Prozess auf demselben Server ausgeführt werden, können Sie alternativ die auto_accept: True Option in die Salt-Master-Konfigurationsdatei aufnehmen, um alle eingehenden Schlüssel automatisch zu akzeptieren. Aus Sicherheitsgründen ist diese Option standardmäßig deaktiviert.

So listen Sie die ausstehenden Schlüssel auf und akzeptieren sie:

  1. Zeigen Sie den Status des öffentlichen Schlüssels der Proxy-Minions an.
  2. Akzeptieren Sie den Schlüssel für jeden Junos-Proxy-Minion.
    Trinkgeld:

    Verwenden Sie die -A Option, um alle ausstehenden Schlüssel zu akzeptieren, z. B sudo salt-key -A. . .

Überprüfen der Verbindung mit dem verwalteten Gerät

Nachdem Sie die Schlüssel auf dem Salt-Master akzeptiert haben, rufen Sie die test.ping Ausführungsfunktion auf, um den Proxy-Minion über den Nachrichtenbus anzupingen und zu überprüfen, ob der Minion aktiv ist und kommuniziert. Sie können einen Ziel-Diener angeben oder verwenden '*' , um alle Minions anzupingen.

Im folgenden Beispiel wird das Gerät mit Junos OS angepingt, das dem Junos-Proxy-Minion router1 zugeordnet ist.

Im folgenden Beispiel werden alle Minions angepingt, die der Salt-Master verwaltet:

Im folgenden Beispiel wird die junos.cli Funktion verwendet, um den show version Befehl auf dem angegebenen Gerät auszugeben, auf dem Junos OS ausgeführt wird:

Anmerkung:

Wenn der Fehler 'junos' __virtual__ returned False: The junos or dependent module could not be loaded: junos-eznc or jxmlease or yamlordereddictloader or proxy could not be loadedauftritt, sind Junos PyEZ oder die jxmlease yamlordereddictloader oder-Module möglicherweise nicht auf dem Junos-Proxy-Minion-Server installiert, oder der Junos-Proxy-Minion-Prozess wird möglicherweise nicht ausgeführt oder kann sich nicht beim Gerät authentifizieren.

(Optional) Konfigurieren der Junos Syslog-Engine

Die Junos Syslog-Engine (für Salt) kann für die ereignisbasierte Statusverwaltung von Geräten verwendet werden, auf denen Junos OS ausgeführt wird. Wenn Sie die Junos Syslog-Engine aktivieren, überwacht sie Syslog-Ereignisse, extrahiert die Ereignisinformationen, übersetzt sie in das Salt-Format und veröffentlicht sie auf dem Salt-Ereignisbus. Um die Junos-Syslog-Engine zu aktivieren, müssen Sie die Junos-Syslog-Engine auf dem Salt-Master konfigurieren, und Sie müssen auch das Gerät, auf dem Junos OS ausgeführt wird, so konfigurieren, dass Syslog-Ereignisse an den konfigurierten Port auf dem Salt-Server gesendet werden.

Anmerkung:

Die Junos Syslog-Engine kann auch auf dem Proxy-Minion-Server ausgeführt werden.

So aktivieren Sie die Junos-Syslog-Engine auf dem Salt-Master:

  1. Installieren Sie den Python-Paket-Manager für dieselbe Python-Version, die Salt verwendet.
  2. Installieren Sie das Modul und twisted das pyparsing Python-Modul für dieselbe Python-Version, die Salt verwendet.
  3. Konfigurieren Sie die Junos Syslog-Engine im engines Abschnitt in der Salt-Master-Konfigurationsdatei und konfigurieren Sie den Port, an dem die Engine auf Ereignisse wartet.
  4. (Optional) Konfigurieren Sie den topic Parameter so, dass er die Felder angibt, die nach dem jnpr/syslog/ Thementitel des Ereignisses angezeigt werden, wenn es im Ereignisbus veröffentlicht wird.
  5. (Optional) Konfigurieren Sie den daemon Parameter so, dass die Engine angewiesen wird, nur die Ereignisse zu abonnieren und zu veröffentlichen, die von bestimmten Junos OS-Prozessen generiert werden.
  6. Starten Sie den Salt-Masterprozess neu, um die neue Konfiguration anzuwenden.

So konfigurieren Sie das Gerät, auf dem Junos OS ausgeführt wird, so, dass Syslog-Ereignisse an den Host gesendet werden, auf dem die Junos Syslog-Engine ausgeführt wird:

  1. Konfigurieren Sie den Hostnamen oder die IP-Adresse des Servers, auf dem die Junos Syslog-Engine ausgeführt wird, und konfigurieren Sie den Port, auf dem sie lauscht.

  2. Konfigurieren Sie die zu sendenden Ereignistypen.

    • Um alle Ereignisse zu senden, konfigurieren Sie any any sie so, dass alle Einrichtungen und alle Schweregrade der Nachricht angegeben werden.

    • Wenn Sie nur bestimmte Ereignisse senden möchten, konfigurieren Sie die Einrichtung und den Schweregrad der zu erfassenden Ereignisse, z. B.:

  3. Bestätigen Sie die Konfiguration.