Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

NETCONF- und Shell-Sitzungen über erweitertes ausgehendes HTTPS

ZUSAMMENFASSUNG Clientanwendungen können NETCONF-Sitzungen (Network Configuration Protocol) und Shell-Sitzungen über erweitertes ausgehendes HTTPS auf unterstützten Junos-Geräten einrichten.

Grundlegendes zu NETCONF- und Shell-Sitzungen über erweitertes ausgehendes HTTPS

Vorteile von NETCONF- und Shell-Sitzungen gegenüber ausgehendem HTTPS

  • Aktivieren Sie NETCONF oder Shell-Clientanwendungen, um Geräte zu verwalten, auf die nicht über andere Protokolle zugegriffen werden kann.

  • Aktivieren Sie die Remoteverwaltung von Geräten mithilfe der zertifikatbasierten Authentifizierung für den ausgehenden HTTPS-Client.

Übersicht über NETCONF- und Shell-Sitzungen über ausgehendes HTTPS

Sie können NETCONF- und Shell-Sitzungen über ausgehendes HTTPS zwischen unterstützten Junos-Geräten und einem Netzwerkmanagementsystem einrichten. Mit einer NETCONF- oder Shell-Sitzung über ausgehendes HTTPS können Sie Geräte remote verwalten, auf die über andere Protokolle wie SSH möglicherweise nicht zugegriffen werden kann. Dies kann z. B. der Fall sein, wenn sich das Gerät hinter einer Firewall befindet und die Firewall oder ein anderes Sicherheitstool diese Protokolle blockiert. HTTPS hingegen verwendet einen Standardport, der in den meisten Umgebungen in der Regel ausgehend zulässig ist.

Auf unterstützten Geräten enthält das Junos-Software-Image eine Juniper Extension Toolkit (JET)-Anwendung, die das Einrichten einer NETCONF- oder Shell-Sitzung über ausgehendes HTTPS unterstützt. Die JET-Anwendung verwendet das gRPC-Framework, um eine Verbindung mit dem ausgehenden HTTPS-Client herzustellen, der aus einem gRPC-Server besteht, der auf dem Netzwerkmanagementsystem ausgeführt wird. gRPC ist ein sprachunabhängiges Open-Source-RPC-Framework (Remote Procedure Call). Abbildung 1 veranschaulicht die Einrichtung des ausgehenden HTTPS in seiner einfachsten Form.

Abbildung 1: NETCONF- und Shell-Sitzungen über ausgehendes HTTPS NETCONF and Shell Sessions over Outbound HTTPS

In diesem Szenario fungiert der gRPC-Server als NETCONF/Shell-Client, und die JET-Anwendung ist der gRPC-Client und der NETCONF/Shell-Server. Der gRPC-Server lauscht auf Verbindungsanforderungen am angegebenen Port, der standardmäßig Port 443 ist. Sie konfigurieren die JET-Anwendung als Erweiterungsdienst. Die relevanten Verbindungs- und Authentifizierungsinformationen werden an das Skript übergeben. Während das Skript ausgeführt wird, versucht es automatisch, eine Verbindung mit dem gRPC-Server auf dem konfigurierten Host und Port herzustellen.

Die JET-Anwendung und der gRPC-Server stellen eine persistente HTTPS-Verbindung über eine TLS-verschlüsselte gRPC-Sitzung her. Die JET-Anwendung authentifiziert den gRPC-Server mithilfe eines digitalen X.509-Zertifikats, und wenn die Authentifizierung erfolgreich ist, wird die angeforderte NETCONF- oder Shellsitzung über diese Verbindung eingerichtet. Die NETCONF-Vorgänge und Shellbefehle werden unter den Kontoberechtigungen des Benutzers ausgeführt, der für die Erweiterungsdienstanwendung konfiguriert ist.

Die ausgehende HTTPS-Verbindung verwendet ein digitales X.509-Zertifikat, um den gRPC-Server zu authentifizieren. Ein digitales Zertifikat ist ein elektronisches Mittel zur Überprüfung Ihrer Identität durch einen vertrauenswürdigen Dritten, der als Zertifizierungsstelle oder Zertifizierungsstelle (Certification Authority, CA) bezeichnet wird. Eine Zertifizierungsstelle stellt digitale Zertifikate aus, mit denen durch Zertifikatsvalidierung eine sichere Verbindung zwischen zwei Endpunkten hergestellt werden kann. Der X.509-Standard definiert das Format für das Zertifikat. Zum Einrichten einer NETCONF- oder Shell-Sitzung über ausgehendes HTTPS auf unterstützten Junos-Geräten muss der gRPC-Server über ein gültiges X.509-Zertifikat verfügen.

Erweitertes ausgehendes HTTPS bietet Unterstützung für:

  • Herstellen einer Verbindung mit mehreren ausgehenden HTTPS-Clients

  • Konfigurieren mehrerer gRPC-Sicherungsserver für jeden ausgehenden HTTPS-Client

  • Einrichten mehrerer, gleichzeitiger NETCONF- und Shell-Sitzungen mit einem bestimmten Client

  • Authentifizieren des ausgehenden HTTPS-Clients mit selbstsignierten oder von einer Zertifizierungsstelle signierten digitalen X.509-Zertifikaten

  • Authentifizieren des Junos-Geräts mithilfe eines gemeinsamen geheimen Schlüssels

Verbindungs-Workflow für Sitzungen über erweitertes ausgehendes HTTPS

In einer NETCONF- oder Shell-Sitzung über ausgehendes HTTPS fungiert der gRPC-Server, der auf dem Netzwerkmanagementsystem ausgeführt wird, als NETCONF/Shell-Client, und die JET-Anwendung auf dem Junos-Gerät ist der gRPC-Client und der NETCONF/Shell-Server. Sie können mehrere ausgehende HTTPS-Clients konfigurieren und Sie können einen oder mehrere gRPC-Sicherungsserver für jeden Client konfigurieren. Die JET-Anwendung stellt jeweils nur eine Verbindung mit einem gRPC-Server in der Serverliste des Clients her.

Der gRPC-Client und -Server führen die folgenden Aktionen aus, um eine NETCONF- oder Shellsitzung über ausgehendes HTTPS einzurichten:

  1. Der gRPC-Server lauscht auf eingehende Verbindungen am angegebenen Port oder, wenn kein Port angegeben ist, am Standardport 443.

  2. Der gRPC-Client initiiert eine TCP/IP-Verbindung mit dem konfigurierten gRPC-Server und -Port. Wenn Sie einen ausgehenden HTTPS-Client mit einem oder mehreren gRPC-Sicherungsservern konfigurieren, versucht der gRPC-Client, eine Verbindung mit jedem Server in der Liste herzustellen, bis er eine Verbindung herstellt.

  3. Der gRPC-Client sendet eine TLS-Nachricht, um den TLS-Handshake ClientHello zu initiieren.

  4. Der gRPC-Server sendet eine ServerHello Nachricht und das zugehörige Zertifikat.

  5. Der gRPC-Client überprüft die Identität des gRPC-Servers.

  6. Der gRPC-Client sendet die Geräte-ID und den gemeinsamen geheimen Schlüssel, die für diesen ausgehenden HTTPS-Client konfiguriert sind, an den gRPC-Server.

  7. Der ausgehende HTTPS-Client fordert eine NETCONF- oder Shell-Sitzung an, und der gRPC-Server verwendet die Geräte-ID und den gemeinsamen geheimen Schlüssel, um das Junos-Gerät zu authentifizieren. Wenn die Authentifizierung erfolgreich ist, wird die Sitzung eingerichtet.

  8. Wenn eine NETCONF-Sitzung angefordert wird, tauschen Server und Client NETCONF-Nachrichten <hello> aus.

  9. Die NETCONF- oder Shellclientanwendung führt Vorgänge nach Bedarf aus.

Der gRPC-Client initiiert eine weitere TCP/IP-Verbindung mit demselben gRPC-Server, und der gRPC-Client und -Server wiederholen den Vorgang, wodurch der ausgehende HTTPS-Client mehrere NETCONF- und Shellsitzungen mit dem Netzwerkgerät einrichten kann.

Einrichten von NETCONF- und Shell-Sitzungen über erweitertes ausgehendes HTTPS

Sie können die JET-Anwendung, die im Junos-Software-Image enthalten ist, verwenden, um NETCONF- und Shell-Sitzungen über ausgehendes HTTPS zwischen Netzwerkmanagementsystemen (Network Management Systems, NMS) und unterstützten Junos-Geräten einzurichten. Die JET-Anwendung, die als Erweiterungsdienst konfiguriert ist, initiiert eine Verbindung zu einem gRPC-Server, der auf einem NMS ausgeführt wird, und stellt eine persistente HTTPS-Verbindung über eine TLS-verschlüsselte gRPC-Sitzung her. Die NETCONF- oder Shell-Sitzung läuft über diese HTTPS-Verbindung. In diesem Szenario ist der gRPC-Server der NETCONF/Shell-Client, und die JET-Anwendung ist der gRPC-Client und der NETCONF/Shell-Server.

Die folgende Hard- und Software ist für die Einrichtung von Sitzungen über erweitertes ausgehendes HTTPS erforderlich:

  • Netzwerkmanagementsystem mit Python 3.5 oder höher

  • Gerät mit Junos OS Evolved oder Gerät mit Junos OS mit aktualisiertem FreeBSD Release 20.3 oder höher, das auch JET-Anwendungen unterstützt

    Hinweis:

    Informationen zu unterstützten Geräten finden Sie unter Funktions-Explorer.

Abbildung 2 veranschaulicht das Setup, auf das in den folgenden Aufgaben verwiesen wird. Der Name der Verwaltungsschnittstelle auf dem Junos-Gerät variiert je nach Plattform und Betriebssystem.

Abbildung 2: NETCONF über ausgehende HTTPS-Topologie NETCONF over Outbound HTTPS Topology

Bevor Client und Server eine NETCONF- oder Shellsitzung über ausgehendes HTTPS einrichten können, müssen Sie die in den folgenden Abschnitten beschriebenen Anforderungen erfüllen:

Abrufen eines X.509-Zertifikats für den gRPC-Server

Die ausgehende HTTPS-Verbindung verwendet ein X.509-Zertifikat mit öffentlichem Schlüssel, um die Identität des gRPC-Servers zu authentifizieren, der im Netzwerkmanagementsystem ausgeführt wird. Der gRPC-Stack unterstützt das X.509 v3-Zertifikatformat.

Die Anforderungen für das Zertifikat des gRPC-Servers sind:

  • Das Zertifikat kann selbstsigniert oder von einer Zertifizierungsstelle (Certificate Authority, CA) signiert sein.

  • Das Zertifikat muss entweder den Hostnamen des gRPC-Servers im Feld Allgemeiner Name (CN) oder die IP-Adresse des gRPC-Servers im Feld SubjectAltName (SAN) IP-Adresse definieren. Das Junos-Gerät muss denselben Wert verwenden, um die Verbindung zum Server herzustellen. Wenn das Zertifikat das Feld "IP-Adresse" "SubjectAltName" definiert, ignoriert das Gerät das Feld "Allgemeiner Name" während der Authentifizierung.

  • Das Zertifikat muss PEM-codiert sein und die Erweiterung .crt verwenden.

  • Das Zertifikat und sein Schlüssel müssen server.crt bzw. server.key heißen.

So verwenden Sie OpenSSL, um ein Zertifikat zu erhalten:

  1. Generieren Sie einen privaten Schlüssel, und geben Sie die Schlüssellänge in Bits an.
    Hinweis:

    Wir empfehlen die Verwendung von 3072 Bit oder mehr für die Größe des privaten Schlüssels. Die Schlüssellänge sollte 4096 Bit nicht überschreiten.

  2. Wenn Sie eine Verbindung mit der IP-Adresse des gRPC-Servers herstellen, aktualisieren Sie die Datei openssl.cnf oder eine entsprechende Konfigurationsdatei, um die subjectAltName=IP Erweiterung mit der Adresse des gRPC-Servers zu definieren.
  3. Generieren Sie eine Zertifikatsignieranforderung (Certificate Signing Request, CSR), die den öffentlichen Schlüssel der Entität und Informationen zu ihrer Identität enthält.
  4. Generieren Sie das Zertifikat, indem Sie einen der folgenden Schritte ausführen:
    • Senden Sie die CSR an eine Zertifizierungsstelle, um ein X.509-Zertifikat anzufordern, und stellen Sie die Konfigurationsdatei bereit, die alle zusätzlichen Erweiterungen enthält.

    • Signieren Sie die CSR mit einer Zertifizierungsstelle, um das Clientzertifikat zu generieren, und fügen Sie die -extfile Option hinzu, wenn Sie auf Ihre Konfigurationsdatei und Erweiterungen verweisen müssen.

    • Signieren Sie die CSR mit dem Serverschlüssel, um ein selbstsigniertes Clientzertifikat zu generieren, und fügen Sie die -extfile Option hinzu, wenn Sie auf Ihre Konfigurationsdatei und Erweiterungen verweisen müssen.

  5. Vergewissern Sie sich, dass das Feld "Allgemeiner Name" und die Erweiterungen, falls angegeben, korrekt sind.

Einrichten des gRPC-Servers

Für das Netzwerkmanagementsystem wird folgende Software benötigt:

  • Python 3.5 oder höher

Das Netzwerkmanagementsystem und die JET-Anwendung auf dem Junos-Gerät verwenden das gRPC-Framework, um eine persistente HTTPS-Verbindung über eine TLS-verschlüsselte gRPC-Sitzung herzustellen. Auf dem Netzwerkmanagementsystem muss der gRPC-Stack installiert sein und ein gRPC-Server ausgeführt werden, der am angegebenen Port auf die Verbindungsanforderung lauscht. Juniper Networks stellt die erforderlichen Protodefinitionsdateien und Beispieldateien für gRPC-Serveranwendungen im Juniper Networks-Repository netconf-https-outbound auf GitHub bereit.

In diesem Abschnitt wird der gRPC-Server auf einem Netzwerkmanagementsystem unter Ubuntu 18.04 eingerichtet. Wenn Sie ein anderes Betriebssystem verwenden, verwenden Sie die für Ihr Betriebssystem geeigneten Befehle.

So richten Sie den gRPC-Server auf einem Netzwerkmanagementsystem unter Ubuntu 18.04 ein:

  1. Installieren Sie pip für Python 3.
  2. Installieren Sie das grpcio Paket.
  3. Installieren Sie das grpcio-tools Paket.
    Hinweis:

    Wenn Installationsfehler für die Pakete or grpcio auftreten, versuchen Sie, die grpcio neueste Version zu installieren.

  4. Wechseln Sie zum Juniper GitHub-Repository unter https://github.com/Juniper/netconf-https-outbound, und wählen Sie das Verzeichnis aus, das der Version entspricht, die auf dem Junos-Gerät ausgeführt wird.

    Release

    Verzeichnis

    Junos OS Version 20.3R1 oder höher

    20.3

    Junos OS Evolved Version 22.4R1 oder höher

    Junos-Evolved/22.4

  5. Laden Sie die Anwendungs- und Protodateien im GitHub-Verzeichnis in das Verzeichnis auf dem Netzwerkmanagementsystem herunter, in dem sich das Zertifikat des gRPC-Servers befindet.
    1. Wählen Sie jede Datei aus, klicken Sie auf die Schaltfläche "Raw" und kopieren Sie die URL für die Datei.

    2. Laden Sie die Datei herunter, indem Sie die URL mit dem Download-Tool Ihrer Wahl verwenden, wget z. B. oder curl.

  6. Verwenden Sie den Protokollpuffer-Compiler, , um jede Proto-Definitionsdatei zu kompilieren und Python-Code zu generieren, protocder zwei Ausgabedateien für jede Proto-Datei erzeugt.

    Zum Beispiel:

  7. Starten Sie den gRPC-Server, und geben Sie den Port für die Verbindung an, wenn er sich vom Standardport 443 unterscheidet.
    Hinweis:

    Möglicherweise müssen Sie das Skript mit Root-Berechtigungen ausführen, um an Port 443 zu lauschen.

Der gRPC-Server lauscht auf unbestimmte Zeit am angegebenen Port auf eingehende Verbindungen. Nachdem Sie das Junos-Gerät für die Verbindung mit dem gRPC-Server konfiguriert haben und eine Verbindung und eine Sitzung hergestellt wurden, können Sie je nach Bedarf NETCONF-Vorgänge oder Shellbefehle ausführen.

Konfigurieren des Benutzerkontos für den NETCONF- oder Shell-Benutzer

Um eine NETCONF- oder Shell-Sitzung über ausgehendes HTTPS einzurichten, müssen Sie lokal auf dem Junos-Gerät ein Benutzerkonto erstellen. Sie verwenden dieses Konto, um die NETCONF- oder Shell-Vorgänge auf dem Gerät für diese Sitzung auszuführen. Die JET-Anwendung wird mit den für dieses Konto konfigurierten Berechtigungen ausgeführt.

So erstellen Sie ein Benutzerkonto auf einem Junos-Gerät:

  1. Konfigurieren Sie die Anweisung mit einem eindeutigen Benutzernamen, und fügen Sie die Anweisung ein, um eine Anmeldeklasse anzugeben, die über die Berechtigungen verfügt, die user class für alle Aktionen erforderlich sind, die vom Benutzer ausgeführt werden sollen. Zum Beispiel:
  2. (Optional) Konfigurieren Sie die uid and-Anweisungen full-name , um eine eindeutige Benutzer-ID und den Namen des Benutzers anzugeben.
  3. Bestätigen Sie die Konfiguration, um das Benutzerkonto auf dem Gerät zu aktivieren.
  4. Wiederholen Sie die vorhergehenden Schritte auf jedem Junos-Gerät, auf dem der Client NETCONF- oder Shell-Sitzungen über ausgehendes HTTPS einrichten muss.

Konfigurieren der ausgehenden HTTPS-Clients

Erweitertes ausgehendes HTTPS ermöglicht es Ihnen, mehrere ausgehende HTTPS-Clients auf Hierarchieebene [edit system services outbound-https] zu konfigurieren und mehrere gRPC-Sicherungsserver für jeden Client zu konfigurieren. Die JET-Anwendung stellt jeweils nur eine Verbindung mit einem gRPC-Server in der Serverliste des Clients her.

Bevor Sie das Gerät konfigurieren, benötigen Sie die folgenden Informationen:

  • Der Port, an dem der gRPC-Server auf Verbindungen lauscht.

  • Der Inhalt des Felds "IP-Adresse" "SubjectAltName" oder, falls kein solches Feld vorhanden ist, der Inhalt des Felds "Allgemeiner Name" (CN) im Zertifikat des gRPC-Servers.

  • Der Inhalt des Zertifikats des gRPC-Servers, wenn es selbstsigniert ist, oder der Inhalt der Zertifizierungsstellenzertifikate, wenn das Serverzertifikat mithilfe einer Zertifikatkette authentifiziert wird.

So konfigurieren Sie einen ausgehenden HTTPS-Client:

  1. Navigieren Sie zur Hierarchie des ausgehenden HTTPS-Clients, und definieren Sie einen Bezeichner, der den ausgehenden HTTPS-Client eindeutig identifiziert.
  2. Definieren Sie die Gerätekennung, bei der es sich um eine benutzerdefinierte Zeichenfolge handelt, die der gRPC-Server verwendet, um das Junos-Gerät während des Sitzungsaufbaus zu identifizieren und zu authentifizieren.
  3. Definieren Sie eine Zeichenfolge für den gemeinsamen geheimen Schlüssel, bei der es sich um eine benutzerdefinierte Zeichenfolge handelt, die der gRPC-Server verwendet, um das Junos-Gerät während des Sitzungsaufbaus zu authentifizieren.

    Das Gerät speichert die Shared Secret-Zeichenfolge als verschlüsselten Wert in der Konfigurationsdatenbank.

  4. (Optional) Definieren Sie die Methode, die zum Wiederherstellen einer getrennten ausgehenden HTTPS-Verbindung verwendet wird, als sticky oder in-order.
  5. (Optional) Definieren Sie die Zeit in Sekunden, die der gRPC-Client zwischen den Versuchen wartet, eine Verbindung mit der Serverliste des ausgehenden HTTPS-Clients herzustellen.
  6. Konfigurieren Sie den Hostnamen oder die IPv4-Adresse für einen oder mehrere gRPC-Server und den Port, an dem der Server auf ausgehende HTTPS-Verbindungsanforderungen lauscht.

    Der Hostname oder die IP-Adresse muss mit dem Wert des Feldes "Common Name" (CN) bzw. des Feldes "SubjectAltName" (IP-Adresse) im Zertifikat dieses gRPC-Servers übereinstimmen.

  7. Konfigurieren Sie für jeden gRPC-Server die Anweisung mit den Zertifikatinformationen, die für trusted_cert die Authentifizierung des Servers erforderlich sind.
    • Wenn das Zertifikat des Servers selbstsigniert ist, konfigurieren Sie den Inhalt des Zertifikats des gRPC-Servers, server.crt, und lassen Sie alle Zeilenumbrüche weg.

    • Wenn das Zertifikat des Servers mithilfe einer Zertifikatskette authentifiziert wird, verketten Sie alle Zwischenzertifizierungsstellen und Stammzertifizierungsstellenzertifikate in dieser Reihenfolge, entfernen Sie alle Zeilenumbrüche, und konfigurieren Sie die resultierende einzelne Zeichenfolge.

    Hinweis:

    Um den Wert für die Anweisung einfach zu generieren, können Sie die trusted_cert entsprechenden Zertifikate in der erforderlichen Reihenfolge verketten und alle Zeilenumbrüche entfernen, z. B. mit einem Befehl ähnlich dem folgenden:

  8. Wiederholen Sie die vorherigen Schritte für jeden ausgehenden HTTPS-Client, der das Junos-Gerät verwaltet.
  9. Bestätigen Sie die Konfiguration.
Hinweis:

Wenn der ausgehende HTTPS-Erweiterungsdienst bereits ausgeführt wird und Sie einen ausgehenden HTTPS-Client hinzufügen, löschen oder ändern und die Konfiguration bestätigen, müssen Sie den Dienst nicht neu starten, damit die Änderungen wirksam werden. Sie werden automatisch abgeholt.

Konfigurieren des ausgehenden HTTPS-Erweiterungsdiensts auf Junos-Geräten

Junos-Versionen, die NETCONF- und Shell-Sitzungen über ausgehendes HTTPS unterstützen, enthalten eine JET-Anwendung und unterstützende Dateien im Software-Image. Tabelle 1 beschreibt die Dateien, die sich im Verzeichnis /var/ db/scripts/jet auf dem Gerät befinden.

Tabelle 1: JET-Dateien für Sitzungen über erweitertes ausgehendes HTTPS

Datei

Beschreibung

nc_grpc_app.pyc

JET-Anwendung, die das gRPC-Framework verwendet, um eine persistente HTTPS-Verbindung mit einem gRPC-Server herzustellen, der auf dem Netzwerkmanagementsystem ausgeführt wird.

nc_grpc_app_lib.pyc

Erforderliche Bibliotheken

So konfigurieren Sie das Junos-Gerät für Sitzungen über ausgehendes HTTPS:

  1. Stellen Sie sicher, dass die JET-Anwendung und die zugehörigen Dateien auf dem Gerät vorhanden sind.
  2. Wechseln Sie in den Konfigurationsmodus.
  3. Aktivieren Sie das Gerät, um unsignierte Python 3-Anwendungen auszuführen.
  4. Konfigurieren Sie Durchwahldienstbenachrichtigungen für die Loopbackadresse.
  5. Navigieren Sie zur Hierarchie der Erweiterungsdienstanwendung.
  6. Konfigurieren Sie die Anwendung so, dass sie im Hintergrund als dämonisierter Prozess ausgeführt wird.
  7. Konfigurieren Sie die Anwendung so, dass sie beim normalen Beenden respawnt.
  8. Konfigurieren Sie den Verwendungsnamen, unter dessen Rechten die Anwendung ausgeführt wird und die NETCONF-Operationen und Shell-Befehle ausgeführt werden.
  9. Bestätigen Sie die Konfiguration.

    Wenn Sie die Konfiguration bestätigen, bewirkt die Option, dass die daemonize Anwendung automatisch gestartet wird.

  10. Vergewissern Sie sich, dass die Anwendung ausgeführt wird.

Nachdem die Anwendung erfolgreich gestartet wurde, protokolliert sie Meldungen in der Datei outbound_https.log.

Hinweis:

Wenn die Anwendung nicht automatisch gestartet wird, nachdem Sie die Konfiguration bestätigt haben, überprüfen Sie die Protokollmeldungen zu dieser Anwendung, um das Problem zu beheben. Geben Sie den show log jet.log Befehl unter Junos OS ein. Geben Sie in Junos OS Evolved die show trace application cscript Befehle und show log messages ein.

Starten Sie die NETCONF- oder Shell-Sitzung

Der gRPC-Server, der auf dem Netzwerkmanagementsystem ausgeführt wird, fungiert als NETCONF/Shell-Client, und die JET-Anwendung auf dem Junos-Gerät fungiert als gRPC-Client und NETCONF/Shell-Server. Nachdem Sie den gRPC-Server und die JET-Anwendung gestartet haben, versucht die JET-Anwendung, eine Verbindung mit dem gRPC-Server am angegebenen Port herzustellen. Wenn die Verbindung erfolgreich ist, authentifiziert der gRPC-Client den gRPC-Server. Wenn die Serverauthentifizierung erfolgreich ist, können Sie eine oder mehrere NETCONF- oder Shellsitzungen anfordern.

Bevor Sie beginnen, benötigen Sie die folgenden Informationen:

  • Die Geräte-ID und die Zeichenfolge für den gemeinsamen geheimen Schlüssel, die für den ausgehenden HTTPS-Client konfiguriert sind

So richten Sie eine NETCONF- oder Shell-Sitzung über erweitertes ausgehendes HTTPS ein:

  1. Wenn Sie den gPRC-Server noch nicht gestartet haben, starten Sie im Netzwerkmanagementsystem den Server, und geben Sie den Port für die Verbindung an.
  2. Um eine oder mehrere Sitzungen mit einem Junos-Gerät einzurichten, führen Sie das Skript request_session.py aus. Geben Sie den Sitzungstyp sowie die Geräte-ID und den gemeinsamen geheimen Schlüssel an, die Sie für diesen ausgehenden HTTPS-Client auf dem Junos-Gerät konfiguriert haben. Zum Beispiel:
    • Um eine CSH-Sitzung anzufordern, was die Standardeinstellung ist, müssen Sie keinen Sitzungstyp angeben.

    • Um eine NETCONF-Sitzung anzufordern, fügen Sie die -s netconf Option hinzu.

    Wenn der Server das Junos-Gerät erfolgreich authentifiziert, wird die angeforderte Sitzung gestartet.

  3. Überprüfen Sie die Ausgabe, um sicherzustellen, dass die Sitzung eingerichtet wurde.
    • Shell-Sitzungen sollten die csh session is started Ausgabe anzeigen, zum Beispiel:

    • NETCONF-Sitzungen sollten die NETCONF-Funktionen wie folgt anzeigen:

  4. Führen Sie bei Bedarf NETCONF- oder Shell-Operationen durch.
  5. Wenn Sie mit der Sitzung fertig sind, geben Ctrl+CSie .
  6. Wenn Sie die ausgehende HTTPS-Verbindung nicht mehr verwenden, können Sie die Erweiterungsdienstanwendung auf dem Junos-Gerät beenden, indem Sie die entsprechende Hierarchie in der Konfiguration löschen oder deaktivieren und dann die Änderung übernehmen.