NETCONF Perl クライアント アプリケーションの作成
ジュニパーネットワークス NETCONF Perl クライアントを使用すると、Perl プログラミング言語に精通したプログラマが独自の Perl アプリケーションを作成し、Junos OS を実行するルーティング、スイッチング、セキュリティ デバイスを管理および設定できます。このモジュールは Net::Netconf::Manager
、Junos OSを実行するデバイス上のNETCONFサーバーと通信するためのオブジェクト指向インターフェイスを提供し、デバイスへの接続、NETCONFセッションの確立、運用および設定要求の実行を可能にします。
次の概要は、Junos OS を実行するデバイスを管理する NETCONF Perl クライアント アプリケーションの作成に伴う基本的なタスクを示しています。各タスクは、そのタスクの実行に関するより詳細な情報へのリンクを提供します。
- Perl モジュールのインポートと定数の宣言 — NETCONF Perl クライアント アプリケーションでの Perl モジュールのインポートと定数の宣言
- NETCONF サーバーへの接続 — Perl クライアント アプリケーションで NETCONF サーバーに接続 し、 NETCONF Perl クライアント アプリケーションでパラメーターをインタラクティブに収集する
- NETCONF サーバーへの要求の送信 — Perl クライアント アプリケーションの NETCONF サーバーに要求を送信します。
- NETCONF サーバーからの応答の解析とフォーマット — Perl クライアント アプリケーションでの NETCONF サーバー応答の解析
- NETCONF サーバーへの接続を閉じる — Perl クライアント アプリケーションの NETCONF サーバーへの接続を閉じる
以下の例では、このタスクを使用 Net::Netconf::Manager
して Junos OS を実行しているデバイスから情報を要求します。この例では、単純なクエリを実行するために必要な最小コードを示しています。
Junos OS リリース 16.1 より前は、すべての Junos OS リリースに、NETCONF Perl クライアントの新しいリリース依存バージョンが含まれていました。Junos OS リリース 16.1 以降、NETCONF Perl クライアントはリリース非依存で、GitHub および CPAN でホストされ、Junos OS リリースの任意のバージョンを実行するデバイスを管理できます。NETCONF Perl ディストリビューションのリリース依存バージョンのサンプル スクリプトは、GitHub および CPAN でホストされているリリース非依存バージョンとは異なります。
必要なモジュールをインポートし、定数を宣言します。
use strict; use Carp; use Net::Netconf::Manager;
オブジェクトを
Manager
作成し、デバイスに接続します。my %deviceinfo = ( access => "ssh", login => "johndoe", password => "password123", hostname => "Router1" ); my $jnx = new Net::Netconf::Manager(%deviceinfo); unless ( ref $jnx ) { croak "ERROR: $deviceinfo{hostname}: failed to connect.\n"; }
クエリを作成し、NETCONF サーバーに送信します。
my $query = "get_chassis_inventory"; my $res = $jnx->$query();
必要に応じて応答を処理します。
print "Server response: \n $jnx->{'server_response'} \n";
NETCONF サーバーから切断します。
$jnx->disconnect();