ネットワーク設定管理 (NCM)
概要
Pandora FMS NCM サーバ(ネットワーク設定管理 )を使用すると、Telnet および SSH プロトコルを介して任意のネットワークデバイスと対話し、設定の管理、バックアップの実行、作成したバックアップからのデバイス設定の復元、さらにはカスタム実行が可能です。
これらのタスクの実行は、メーカ
- モデル
によるテンプレートのシステムに基づいています。ネットワークデバイスで実行できる処理のデータを持っており、すべての処理をカスタマイズすることができます。上記のそれぞれの処理やすべてを実行することができます。
NCM サーバの有効化
Pandora FMS でこの機能を有効化するには、pandorafms
サーバで NCM サービスを有効化する必要があります。
pandora_server.conf
ファイルで、次のパラメータを設定する必要があります。
# Network manager configuration server. ncmserver 1 # Threads for NCM server. ncmserver_threads 1 # NCM utility to execute SSH and Telnet connections. ncm_ssh_utility /usr/share/pandora_server/util/ncm_ssh_extension
有効化したら、サーバ一覧に新たなサーバが表示され、コンソール上でこの機能に関連するセクションが有効化されます。
NCM サーバに関連するすべてのメニューを表示するには、各ユーザが対応するACL権限を持っている必要があります。詳細はこちらを参照してください。
Enterprise 代替サーバパッケージ
Enterprise 代替サーバパッケージ を利用している場合、この機能が正しく動作するためには libnsl
および openssh-clients
をインストールしてください。
ベンダとモデルの定義
利用開始する前に、利用するデバイスのベンダとモデルが定義されていることを確認する必要があります。それには、ベンダ および モデル エディタを利用します。
設定(Configuration) → ネットワーク設定管理(Network Config Manager) セクションに、これらのエディタがあります。
これは説明的な定義にすぎません。 ロジックは、ネットワーク機器のテンプレートに適用されます。
ネットワーク機器テンプレート
テンプレートは、メーカーと1つ以上のモデルに適用されます。 テンプレートは、ネットワーク機器との対話方法を定義します。 NCM と機器は、Telnet または SSH を介して接続できます。 どちらの場合も、1つ以上の資格情報のセットを提供する必要があります(Cisco の場合は、アクセスユーザ名/パスワードと enable
モードのパスワード)。他のデバイスでは、2組の資格情報が存在する場合があります。
認証情報には、Pandora FMS 内部認証情報システム を使用して、詳細を知らなくても再利用できるようにします。 このようにして、管理者は識別子を使用して異なるユーザ/パスワードの ペア
を指定でき、オペレーターは内容を見ずにそれらを使用できます。 NCM では、これらのユーザとパスワードは、マクロを介してデバイスとのダイアログに渡されます。
ネットワークデバイスに対するダイアログにおけるマクロ
_enablepass_
: エージェントに関連付けられた拡張キーのパスワード
フィールドに置き換えらえます。_username_
: エージェントのアクセスキーのユーザ名
フィールドに置き換えられます。_password_
: エージェントのアクセスキーのパスワード
に置き換えられます。_advusername_
:enable
拡張キーのユーザ名
フィールドに置き換えられます。_advpassword_
:enable
拡張キーのパスワード
フィールドに置き換えれれます。_enablepass_
の別名です。同じ値を参照しており、どちらもテンプレートで利用可能です。_applyconfigbackup_
: 現在のバックアップにある設定行と同じ数のコマンドが展開されます。 Cisco® デバイスに適用する場合、1行ずつ適用されます。
NCM テンプレートの作成
NCM テンプレート定義(Define a NCM template) ボタン (メニュー 管理(Management) → 設定(Configuration) → ネットワーク設定マネージャー(Network Config Manager)) をクリックし、作成(Create) ボタンをクリックします。
フィールドに入力します。
- 名前(Name): NCM テンプレート名。
- ベンダ(Vendors): カンマ区切りの、テンプレート内で定義されたスクリプトと互換性のあるベンダー一覧。
- モデル(Models): カンマ区切りの、テンプレート内で定義されたスクリプトと互換性のあるモデル一覧。
- スクリプト: テスト(Script: Test): デバイスの可用性をテストするために使用されるスクリプト。
- スクリプト: 設定取得(Script: Get configuration): デバイスから設定を取得するために使用されるスクリプト。
- スクリプト: 設定(Script: set configuration): デバイスの設定、以前のバックアップをするために使用されるスクリプト。
- スクリプト: ファームウエア取得(Script: get firmware): デバイスからファームウエアのバージョンを取得するために使用されるスクリプト。
- スクリプト: ファームウエア設定(Script: set firmware): デバイスのファームウエアをアップグレードするために使用されるスクリプト。
- スクリプト: カスタムタスク(Script: custom task): カスタム(CUSTOM) タスクを選択したときにデバイスで実行されるスクリプト。
Cisco 7200 デバイスでの利用例
これらのスクリプトは、(Telnet または SSH 経由で)ログインするユーザがユーザとパスワードを利用し、デフォルトで enable
フィールドが有効になっていない場合にのみ機能します。
テスト
デバイスへのテスト接続が行われ、操作を実行せずに終了します。
enable expect:Password:\s* _enablepass_ exit
テスト接続は、実際にデバイスに接続できることを確認するために使用されます。 Ready
などの特定の応答を期待するように変更 (expect:xxxx
) することができます。 これは基本的な例にすぎません。
現在の設定の取得
このブロックは、現在のデバイスの設定を取得する方法を定義するために使用されます。 この例(Cisco®)では、デバイスの running configuration は、デバイス内で show running-config
コマンドを実行することによって取得されます。
enable expect:Password:\s* _enablepass_ term length 0 capture:show running-config exit
capture:<comando>
: 画面に返す現在の設定を取得するために使われています。
ファームウエアバージョンの取得
前の例と似ていますが、show version | i IOS Software
コマンドを使用してデバイスのファームウェアバージョンを取得します。前の例と同様に、capture
コマンドを使用してコマンドの出力を取得します。
enable expect:Password:\s* _enablepass_ term length 0 capture:show version | i IOS Software exit
設定バックアップのリストア
これは、マクロ _applyconfigbackup_
を使用して前もってコンソール上にバックアップ保存されているすべての設定を適用します。
enable expect:Password:\s* _enablepass_ term length 0 config terminal _applyconfigbackup_ exit
カスタムスクリプトの例
デバイスの SSH パラメータの一部の値を変更するカスタムスクリプトの例です。必要な変更やコマンドの実行を適用できます。
enable expect:Password:\s* _enablepass_ conf term ip ssh authentication-retries 4 ip tcp synwait-time 10 end exit
デバイスに記録されたすべての変更はファームウェアバックアップの実行時に記録され、レポートと画面(Webコンソール)の両方で行われた変更を制御できます。
エージェントでの設定
リモート設定管理をする必要がある各エージェント内で、モデルを関連付けます。
この関連付けは、エージェントの NCM セクションで行う必要があります。ここで、次のパラメータを選択する必要があります。
- デバイスのベンダ(Device manufacturer).
- デバイスモデル(Device model).
- 接続手法(Connection method): 接続タイプ(Telnet または SSH)
- ポート(Port): Telnet または SSH 接続で利用するポート番号
- デバイスへアクセスする認証情報(Credentials to access device): Pandora FMS の認証情報ストア 内の認証情報で、Telnet または SSH 接続に利用されます。ユーザが接続するときは、両方のパラメーターが必要です。
- admin の認証情報(Credentials to admin device): Pandora FMS の認証情報ストア 内の認証情報で、使用する NCM テンプレートで選択されたテンプレート内で利用されます。マクロはユーザの場合は
_advusername_
、パスワードの場合は_enablepass_
または_advpassword_
です。
エージェントの設定が完了すると、設定の管理、バックアップ、ファームウェアの取得、作成したバックアップからのデバイス設定の復元、さらにはそれらを使用したカスタム実行が可能になります。
ファームウェアファイルをアップロードし、FTP でそれらのバックアップを作成するには、暗号化された方法でそれを実行して、可能な限り最高のセキュリティを確保する必要があります。 “Pandora FMS にデータを取り込むための FTP 設定” および vsFTPd の使用を参照してください。 次の場所で排他的な chroot を使用して SFTP を使用する必要があります。
/var/spool/pandora/firmware/
これに関する統合的な内容は、Pandora FMS の “セキュリティアーキテクチャ” を参照してください。
デバイスの設定管理
設定が正常に完了した場合は、エージェント表示または 設定(Configuration) → ネットワーク設定管理(Network Config Management) セクションにアクセスして、それぞれで可能なすべての管理を実行できます。
デバイスの初期化
Get running-config ボタンをクリックして、すべての情報の取得を開始します。 クリックすると確認を求められ、これを受け入れると、設定されたデバイスの概要が表示され、完了するまで進行中のタスクが表示されます。
この同じ画面から、処理を見ながら、テンプレートで定義されたすべての処理を実行できます。
その時点で、すべてのオプションがエージェント表示で有効になり、保存された設定を更新したり、バックアップを更新したり、Pandora FMS に保存されているバックアップの 1つによってネットワークデバイスの現在の設定を復元したりできるようになります。
ファームウエアバックアップの違い
最後にダウンロードしたバージョンがバックアップバージョンと一致しない場合は、両方のバージョンの違いを示すウィンドウが表示されます:
成功したかどうかに関係なく、この機能の実行ごとに Pandora FMS に新しいイベントが作成され、タスクが完了したかどうか、および正しく完了しなかった場合は失敗した旨の情報を示します。
ACL
NCM 機能には、次の定義済みビットからさまざまなユーザを定義できる 3つの異なる ACL ビットがあります。
NCM データ参照(View NCM data) → エージェント表示を参照でき、それに反映されている情報を見ることはできますが、変更を適用することはできません。
NCM 操作(Operate NCM) → 参照できるだけでなく、エージェントおよび NCM 表示で必要な処理を実行することもできます。
NCM 管理(Manage NCM) → この権限があれば、NCM 操作(Operate NCM) によってできる実行に加えて、テンプレート、モデル、および新しいメーカーを設定できます。