Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Ansibleを使用して実行しているJunos OSへの接続

まとめジュニパーネットワークスの Ansible モジュールを使用すると、SSH、telnet、シリアル コンソール接続を使用して、Junos OSを実行しているデバイスに接続できます。

ジュニパーネットワークスするデバイスの管理に使用できる Ansible モジュールJunos OS。Ansible Galaxy ジュニパーネットワークスホストされているこの収集と役割を通じて、新しいモジュール juniper.device Juniper.junos が配布されています。これらのモジュールは、さまざまなプロトコルや Ansible 接続Junos OS実行しているデバイスに接続できます(この資料で説明)。

接続方法の概要

Ansibleジュニパーネットワークスを使用すると、SSH、telnet、またはシリアルコンソール接続を使用して、Junos OSを実行しているデバイスに接続できます。端末やラップトップがデバイスのコンソール ポートに物理的に接続されている場合、シリアルコンソール接続を使用するJunos OS。SSHまたは telnetを使用して、デバイスの管理インターフェイス、またはデバイスのコンソール ポートに直接接続されたコンソール サーバーに接続できます。

工場出荷時のデフォルト設定を持つ新しいデバイスまたはゼロ化されたデバイスには、コンソール接続を使用したアクセスが必要です。そのため、Ansible を使用して、デバイスに直接接続している場合はシリアル コンソール接続を使用するか、デバイスに直接接続されたコンソール サーバーから telnet または SSH を使用して、まだリモート アクセス用に設定されていないデバイスを設定できます。

デフォルトでは、ジュニパーネットワークスモジュールはSSHを使用してデバイスに接続します。telnet またはシリアル コンソール接続を使用するには、モジュールのパラメーターを適切 mode な値に設定します。デバイスに telnet を設定するには、引数を mode 以下に設定します "telnet" 。シリアル コンソール接続を使用するには、引数を mode 以下に設定します "serial"表 1 は、接続モード、特定パラメーターのデフォルト値、必要な Junos OS 構成、その接続モードのサポートが最初に導入されたリリースをまとめたデータ です Juniper.junos 。最初 juniper.device のリリースでは、すべての接続モードがサポートされます。

1:Ansible モジュールのジュニパーネットワークスモード

接続モード

引数の mode

デフォルト ポート

必須Junos OS構成

最初にサポートされるリリース( Juniper.junos )

NETCONF over SSH(デフォルト)

830

[edit system services]
netconf {
    ssh;
}

1.0.0

シリアル コンソール接続

serial

/dev/ttyUSB0

2.0.0

コンソール サーバー経由の SSH

22

2.2.0

実行されているデバイスへの Telnet Junos OS

telnet

23

[edit system services]
telnet;

1.4.0

2.0.0 で追加されたデフォルト ポート

コンソール サーバーを介した Telnet

telnet

23

1.4.0

注:

telnet または NETCONF over SSH を使用して管理インターフェイスにアクセスする前に、まず階層レベルで適切なサービスを [edit system services] 有効にする必要があります。telnet はクリアテキスト パスワードを使用するため(このため、潜在的なセキュリティー脆弱性が発生する可能性があります)、SSH を使用することをお勧めします。

ジュニパーネットワークス モジュールを実行して Junos OS を実行しているデバイスを管理する場合、リモート デバイスは、特定のプロトコルに適した認証情報を使用して Ansible ユーザーを認証できる必要があります。詳細については、「 デバイスで Ansible モジュールを実行するユーザーの認証 」を参照Junos OS。

このジュニパーネットワークス モジュールは、Junos OS を実行するデバイスに接続する際、ローカル(タスク単位)接続、永続的(プレイごとの)接続など、さまざまな Ansible 接続に対応します。Ansible接続により、Ansibleがプレイ中のタスクごとにホストへの独立した接続を確立するかどうか、または、プレイ中のすべてのタスクに持続するホストへの単一接続を確立するかどうかを判断します。Ansible接続の指定について、詳しくは ローカルおよび永続的 Ansible 接続について を参照してください

ローカルおよび永続的 Ansible 接続について

このジュニパーネットワークス モジュールは、Junos OS を実行しているデバイスでは Python を必要としません。デバイスとのインターフェースとして、NETCONF 上で Junos PyEZ と Junos XML API を使用します。そのため、Python がインストールされている Ansible コントロール ノードJunos OSデバイスで操作を実行するには、モジュールをローカルで実行する必要があります。プレイブックに含め、モジュールを connection: local ローカルで実行できます。を使用すると、Ansible は、ホスト上で操作を実行するプレイの各タスクについて、ホストへの個別の接続 connection: local を確立します。

収集 juniper.device モジュールは、ホスト connection: juniper.device.pyez への持続的接続の確立もサポートしています。永続的な接続を使用すると、Ansible は依然として制御ノード上でローカルでモジュールを実行しますが、各ホストへの単一の接続のみを確立して維持します。ただし、実際のタスクのすべての実行を継続します。ホストへの持続的な接続を確立する方が、プレイ中のタスクごとにホストへの独立した接続を確立するよりも、複数のタスクを実行する方が効率的です。

表 2 は 、Ansible 接続と、Ansible 接続をサポートするコンテンツ セットをまとめた形式です。

表 2:複数のモジュールでサポートされる ansible ジュニパーネットワークス

Ansible 接続

説明

コンテンツ セットのサポート

connection: local

Ansible制御ノード上でモジュールをローカルに実行しますが、ホスト上で操作を実行するプレイ中の各タスクについて、ホストへの個別の接続を確立します。

juniper.deviceコレクション

Juniper.junos役割

connection: juniper.device.pyez

Ansibleコントロールノード上でモジュールをローカルに実行しますが、ホストへの持続的な接続を確立して、実際のすべてのタスクの実行を継続します。

juniper.deviceコレクション

注:

Ansible に変更を行 connection: local いました。そのため、収集モジュールを使用する場合は、プレイブックで使用することをお勧めします juniper.device 。Ansibleが後のリリースでローカル接続のサポートを削除した場合でも問題が発生しないようにしてください connection: juniper.device.pyez

を使用すると、Ansible によって各モジュールのホストへの個別の接続が確立されます。つまり、モジュールの引数リストにモジュール固有の接続および認証パラメーターを定義 connection: local できます。対照的に、使用すると、接続が発生しているタスクすべてで継続するため、すべてのモジュールの接続および認証パラメーターをグローバルに connection: juniper.device.pyez 定義する必要があります。SSH設定ファイルや Ansibleインベントリ ファイルなど、その他の方法で提供する以外に、プレイのセクションでパラメーターを vars: 定義することもできます。詳細については、「 デバイスで Ansible モジュールを実行するユーザーの認証 」をJunos OS。

次のプレイブックでは、プレイ中のすべてのタスクに使用される各ホストへの持続的な接続を確立します。ユーザーの認証情報は Ansible Vault ファイルに保存され、プレイのセクションに定義 vars: されています。

SSHを使用したデバイスへの接続

Ansibleジュニパーネットワークスは、SSHを使用して、デバイスで実行されているデバイスに接続Junos OS。デバイスの管理インターフェイスでSSHを使用してNETCONFセッションを確立するか、デバイスのコンソール ポートに直接接続されたコンソールサーバーとのSSH接続を 確立 できます。SSH サーバーは、「デバイスで Ansible モジュールを実行するデバイスの認証」で説明されているとおり、標準的な SSH 認証メカニズムを使用してユーザーを認証できる必要Junos OS。SSH 上で NETCONF セッションを確立するには、「 管理ノード向け Ansibleの設定 」 に説明されている要件を満Junos OS必要があります。

ジュニパーネットワークス モジュールは、パラメーターが異なる設定ファイルを指定しない限り、~/.ssh/config のデフォルト SSH 設定ファイル(存在する場合)に自動的にクエリーを ssh_config 実行します。SSH を使用して Junos OS を実行しているデバイスやデバイスに接続されたコンソール サーバーに接続する場合、モジュールはまず SSH パブリック キーベースの認証を試してから、パスワードベースの認証を試みます。パスワードベース認証が使用されている場合、指定されたパスワードがデバイス パスワードとして使用されます。SSH キーが使用されている場合、プライベート キーのロックを解除するために、指定されたパスワードが使用されます。SSHプライベートキーに空のアドレスがある場合、パスワードは必要ありません。ただし、空の変更がある SSH プライベート キーは推奨されません。

次のプレイブックでは、デバイスでSSHを使用してNETCONFセッションを確立し、Junos OSを実行して、デバイスの事実を取得します。プレイブックはデフォルトの場所でSSHキーを使用します。

Ansibleジュニパーネットワークスは、コンソールサーバーへのSSH接続を介して、Junos OSを実行するデバイスに接続することもできます。この場合、デバイスでJunos OSとコンソール サーバーのログイン認証情報を指定する必要があります。および パラメーターを使用して Junos OS ログイン認証情報を指定し、 および パラメーターを使用してコンソール サーバーの認証情報 user passwd cs_user cs_passwd を指定します。SSH キーが使用されている場合 cs_passwd は、プライベート キーの次の指定になります。

以下のプレイブックは、コンソール サーバーとデバイスで動作しているデバイスに関するユーザーの認証情報をJunos OS。モジュールはコンソール サーバーで認証され、次にサーバーで稼働しているJunos OS。認証が正常に完了すると、プレイブックから管理対象ノードからデバイスの情報を取得し、Junos OSします。

オプション ジュニパーネットワークスは 、~/.ssh/config(存在する場合)でデフォルトの SSH クライアント設定ファイルを自動的にクエリーします。パラメーターを含め、設定ファイルの場所を指定することで、別のSSH ssh_config 設定ファイルを使用できます。例えば:

Telnet を使用したデバイスへの接続

このジュニパーネットワークス、telnet を使用して実行しているデバイスに接続Junos OS、ネットワーク デバイスへの暗号化されていないアクセスを提供します。デバイスの管理インターフェイス、またはデバイスのコンソール ポートに直接接続されたコンソール サーバーに telnet を 接続 できます。コンソール サーバーからデバイスにアクセスすると、最初に、リモート アクセス用に未設定の新しいデバイスやゼロにしたデバイスを設定できます。管理インターフェイスに telnet を設定するには、インターフェイスへのアクセスが必要なすべてのデバイスで、階層レベルで Telnet [edit system services] サービスを設定する必要があります。

リモート デバイスを telnet するには、パラメーターを に設定し、ポートを指定するパラメーター mode "telnet"port オプションで含める必要があります。パラメーターを除外する場合、値はデフォルトの mode "telnet" port port 23 になります。持続的な接続の場合は、セクション mode port を定義し、その下に定義 vars: します。ローカル接続の場合、セクションの下でパラメータを vars: 定義するか、モジュールの引数として定義できます。

次のプレイブックでは、ポート 7016 を使用して Junos OS実行しているデバイスに Telnet を送信し、デバイスのファクトを取得して、ファイルに保存します。モジュールはデフォルト ユーザーを使用し、ログイン パスワードの入力を要求します。

シリアル コンソール接続を使用したデバイスへの接続

ジュニパーネットワークス モジュールを使用すると、シリアル コンソール接続を使用して Junos OS を実行しているデバイスに接続できます。これは、リモート アクセス用に未設定の新しいデバイスやゼロ化デバイスを最初に設定する必要がある場合に便利です。この接続方法を使用するには、端末やラップトップをコンソール ポートから実行しているデバイスJunos OS接続する 必要 があります。デバイスで実行されているデバイスの コンソール ポートに接続する方法の詳細についてはJunos OSデバイスのハードウェア マニュアルを参照してください。

シリアル コンソール接続を通じて Junos OS を実行しているデバイスに接続するには、モジュールのパラメーターを に設定し、ポートを指定するパラメーターをオプションで mode "serial" port 含める必要があります。パラメーターを mode 除外 "serial" する場合、 の値は デフォルトで portport を指定します /dev/ttyUSB0 。持続的な接続の場合は、セクション mode port を定義し、その下に定義 vars: します。ローカル接続の場合、セクションの下でパラメータを vars: 定義するか、モジュールの引数として定義できます。

次のプレイブックは、コンソール ポートから実行されているJunos OS 接続し、初期設定をロードしてコミットします。モジュールはデフォルト ユーザーを使用し、ログイン パスワードの入力を要求します。