Junos OSマネージドノード用にAnsibleを設定する
ジュニパーネットワークスは、Ansibleを使用したJunosデバイスの管理をサポートしており、デバイス上で運用タスクと設定タスクを実行するために使用できるAnsibleモジュールを提供しています。Ansibleを使用してデバイスを管理するために、リモートノードにクライアントソフトウェアをインストールする必要はありません。また、ジュニパーネットワークスモジュールはAnsible制御ノードでローカルに実行されるため、管理対象JunosデバイスではPythonは必要ありません。モジュールは、Junos XML APIとNETCONFを使用して、対応する運用タスクと設定タスクを実行します。
管理対象のJunosデバイスにアクセスできる任意のユーザーアカウントを使用して、Junos OSモジュール向けAnsibleを実行できます。Ansibleモジュールを実行すると、Junos OSユーザーアカウントのアクセス権限が適用されます。Junos OSユーザーアカウントに設定されたクラスによって権限が決まります。したがって、ユーザーが設定変更をデバイスにロードするモジュールを実行する場合、そのユーザーは設定の関連部分を変更する権限を持っている必要があります。
ジュニパーネットワークスは、SSH または Telnet 経由で NETCONF を使用して Junos デバイスに接続できるモジュールを提供しています。SSHを介したNETCONFセッションを介してデバイスを管理するには、管理対象デバイスでSSHを介したNETCONFサービスを有効にし、デバイスがSSHv2接続の要件を満たしていることを確認する必要があります。特定のモジュールでは、デバイスの管理インターフェイスや、デバイスの CONSOLE ポートに直接接続されているコンソール サーバーに telnet 接続することもできます。Ansibleを使用してデバイスの管理インターフェイスに直接telnetするには、管理対象デバイスでTelnetサービスを設定する必要があります。
以下のセクションでは、Ansibleを使用してさまざまな接続プロトコルを使用してデバイスにアクセスする場合のJunosデバイスの要件と必要な設定について概説します。
JunosデバイスでNETCONFを有効にする
Junosデバイスのデフォルトポート(830)でSSHを介したNETCONFを有効にするには:
SSHv2接続の要件を満たす
NETCONFサーバーは、NETCONFセッションのコンテキスト内でクライアントアプリケーションと通信します。サーバーとクライアントは、データの交換の前に接続とセッションを明示的に確立し、交換が終了するとセッションと接続を閉じます。Junos OSモジュール用Ansibleは、SSHプロトコルと標準のSSH認証メカニズムを使用してNETCONFサーバーにアクセスします。Ansibleを使用してJunosデバイスを管理する場合、デバイスにアクセスする最も便利な方法は、SSHキーを設定することです。
JunosデバイスとのSSHv2接続を確立するには、次の要件が満たされていることを確認する必要があります。
-
SSHを介したNETCONFサービスは、NETCONFセッションが確立される各デバイスで有効になります。
-
クライアントアプリケーションはユーザーアカウントを持ち、NETCONFセッションが確立される各デバイスにログインできます。
-
クライアントアプリケーションで使用されるログインアカウントには、SSHパブリックキーとプライベートキーペアまたはテキストベースのパスワードが設定されています。
-
クライアントアプリケーションは、公開鍵/秘密鍵またはテキストベースのパスワードにアクセスできます。
JunosデバイスでNETCONFを有効にし、SSHセッションを確立するための要件を満たす方法については、 NETCONF XML管理プロトコル開発者ガイドを参照してください。
Junos デバイスで Telnet サービスを設定する
ジュニパーネットワークスの一部のAnsibleモジュールは、Junosデバイスに直接Telnet接続できます。Junos デバイスに Telnet 接続するには、デバイス上で Telnet サービスを設定する必要があります。デバイスに Telnet サービスを設定すると、デバイスへの暗号化されていないリモート アクセスが可能になります。
Telnetはクリアテキストパスワードを使用するため(潜在的なセキュリティ脆弱性が生じる可能性があるため)、SSHの使用を推奨します。
Telnet サービスを有効にするには: