column

外部との連携 ネットワーク機器へのコマンド投入

運用自動化する上でネットワーク機器に接続し設定情報や構成を取得したい場合があるかと思います。
Kompira enterprise(以降Kompiraと表記)にはネットワーク機器やサーバに接続しコマンド実行を行う機能があります。
本稿ではその機能を利用したネットワーク機器からの情報収集の手順を紹介します。

紹介する内容は以下の通りです。

・NW機器にSSH接続し、コマンド実行によって機器の情報を取得する
・NW機器にProxy経由でSSH接続し、コマンド実行によって機器の情報を取得する

なお、対応している接続方法についてはSSH(version2)のみとなります。
SSH(version1)やtelnetには対応していません。

 


環境情報

本稿では以下の環境で検証しています。

Kompiraサーバ

項目 バージョン
OS CentOS Linux release 7.6.1810
Kompira ver.1.5.3

VyOSルータ

項目 バージョン
OS VyOS 1.1.8

プロキシ(踏み台)サーバ

項目 バージョン
OS CentOS Linux release 7.6.1810

 

 


ネットワーク機器にSSH接続

Kompiraにはネットワーク機器に接続する機能がデフォルトで用意されています。

本稿ではその機能を使用して接続します。

 

以下の手順でネットワーク機器に接続します。

・Kompira上にアカウント情報オブジェクトを作成

・Kompira上にノード情報オブジェクトを作成

・VyOS上にスクリプト配置(※)

・コマンド実行

※: VyOSの場合、VyOSコマンドの直接実行は動作しないためスクリプトを配置する必要があります。

 

ネットワーク構成

以下のような環境で検証しています。

 

Kompira上にアカウント情報オブジェクトを作成

まず対象機器(VyOSルータ)に接続するためのアカウントを作成します。

次のオブジェクトを作成します。

名前 VyOSユーザ
アカウント情報

このオブジェクトの編集画面では、「ユーザー名」「パスワード」の指定をします。
認証に鍵ファイルが必要な場合は、別途鍵ファイルのパスやパスフレーズを登録してください。

 

Kompira上にノード情報オブジェクトを作成

次に接続先のノード情報を作成します。

次のオブジェクトを作成します。

名前 VyOSルータ
ノード情報

以下のような設定を実施します。

項目
IPアドレス 192.168.1.Z(VyOSルータのIPアドレス)
ポート番号 22
接続種別 ssh
シェル使用 チェックなし
アカウント VyOSユーザ

 

VyOS上にスクリプト配置

VyOSの場合、BashのComplete機能を用いてコマンドを実現しています。
通常のBashコマンド(date等)であれば動作はしますが、VyOSコマンドの直接実行は動作しません。
VyOSを使用しない場合は本手順は不要です。

以下のようなスクリプトを経由させて間接的にコマンドを実行する必要があります。

実行権限を付与します。

 

コマンド実行

以下のようなジョブフローを生成し、VyOSからバージョン情報を取得します。
ジョブフローはVyOSノード情報と同階層のディレクトリに作成します。

 

名前 VyOS設定取得ジョブフロー
ジョブフロー

 

 

正常に実行できた場合はバージョン情報が以下のように出力されます。

 

プロキシ(踏み台)経由の接続

ネットワーク環境によっては情報収集の対象機器に対して、Kompiraからの直接SSH接続を許可していない場合もあります。
この場合、プロキシサーバを経由した接続をしているネットワーク環境がほとんどだと思われます。
本項ではプロキシサーバ経由のSSH接続について紹介します。

以下の手順で設定します。

・プロキシサーバ用のアカウント情報の作成

・プロキシサーバ用のノード情報の作成

・VyOSルータのノード情報の修正

 

ネットワーク構成

以下のような環境で検証しています。

 

プロキシサーバ用のアカウント情報の作成

プロキシサーバに接続するためのアカウントを作成します。

次のオブジェクトを作成します。

名前 プロキシユーザ
アカウント情報

このオブジェクトの編集画面では、「ユーザー名」「パスワード」の指定をします。
認証に鍵ファイルが必要な場合は、別途鍵ファイルのパスやパスフレーズを登録してください。

 

プロキシサーバ用のノード情報の作成

プロキシサーバ用のノード情報を作成します。

次のオブジェクトを作成します。

名前 プロキシサーバ
ノード情報

 

項目
IPアドレス  192.168.1.Y(プロキシサーバのIPアドレス)
ポート番号 22
接続種別 ssh
シェル使用 チェック有
アカウント プロキシユーザ

 

 

VyOSルータのノード情報の修正

VyOSルータのノード情報を修正します。

IPアドレス 192.168.1.Z(プロキシサーバより接続できるIPアドレス)
プロキシ プロキシサーバ

 

設定後、VyOS設定取得ジョブフローを実行します。
コマンドの実行結果が正常であればプロキシ経由での実行は正常に動作しています。

またプロキシサーバの/var/log/secureを確認し、以下のようなログが出力されていればプロキシ経由での接続ができていることが分かります。

 

 

まとめ

本稿ではKompiraの機能を使ったネットワーク機器からの情報収集について紹介しました。
今回紹介したのは単純な情報取得のコマンドの実行までですが、「Kompiraのセッション機能を利用して対話的にコマンドを実行する」といった記事と組み合わせれば、複雑な運用の自動化も可能です。

 

参考

本文中にでてきたVyOS内で実行するスクリプトについては以下のブログを参考にしました。
http://d.hatena.ne.jp/iamsandman/20110510/1304984590