designetwork

ネットワークを軸としたIT技術メモ

Opmantek opFlowをCentOS6.5にインストール

こちらの記事でOpmantek NMISをインストールしたため、引き続きopFlowをインストールする。

Opmantek NMISをCentOS6.5にインストール - designetwork

厳密にはopFlowはOSS ( オープンソース )ではないが、使用感を確認する。

詳細はオフィシャルサイト参照だが、MongoDBのインストールや、Flowdの設定など、補足が必要な部分が多い。

opFlow Installation Guide - opFlow - Opmantek Community WIKI

opFlow tarファイル展開

オフィシャルサイトからダウンロードしたtarファイルを/usr/localに配置し展開する。
各種ファイルを適切なフォルダにコピーしてサービス再起動する。

cd /usr/local
tar xvf ~/opFlow-Linux-x86_64-<version>.tar.gz
cd opmantek/
cp install/opCommon.nmis conf/
cp install/opFlow.nmis conf/
bin/opfixperms.pl
cp install/01opmantek.conf /etc/httpd/conf.d/
service httpd restart

Flowd ( NetFlow Daemon )をインストール

前提パッケージをインストールする。

yum install byacc

flowdをコンパイルする。

cd /usr/local/opmantek/source
tar xvf flowd-0.9.1.tar.gz
cd flowd-0.9.1
./configure
make
make install
cd ../../

MongoDBをインストール

MongoDBのインストール手順はこちらのページが分かりやすかった。

CentOS6.5にMongoDBをインストールする - Qiita

MongoDBのリポジトリを作成する。

vi /etc/yum.repos.d/mongodb.repo
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

yumインストールする。

yum install -y mongodb-org

これらがインストールされる。

  • mongodb-org
  • mongodb-org-mongos
  • mongodb-org-server
  • mongodb-org-shell
  • mongodb-org-tools

起動設定し、サービス起動する。

chkconfig mongod on
serivice mongod start

OpmantekのためのFlowdの設定

Flowdの設定をOpmantek用にチューニングする。

adduser _flowd
\cp /usr/local/opmantek/install/flowd.conf /usr/local/etc/flowd.conf
cp /usr/local/opmantek/install/flowd.init.d /etc/init.d/flowd
mkdir /usr/local/var
mkdir /usr/local/var/run
mkdir /var/opflow/
chkconfig flowd on
service flowd start 

Flowd起動時にエラー発生

手順通りにFlowdのサービスを起動しようとしたら以下のエラーが発生した。

service flowd start
Starting flow daemon flowdsocket: Address family not supported by protocol
Listener setup of [::]:12345 failed
[失敗]already started[ OK ]

IPv6用のListenポート設定エラーのようなので、起動設定を修正する。

vi  /usr/local/etc/flowd.conf
# $Id: flowd.conf,v 1.15 2005/05/14 06:04:48 djm Exp $

# Specify where flowd should store its flow records
logfile "/var/opflow/flowd"

# Specify what addresses/ports flowd should listen on.
# Multiple addresses may be specified
#listen on 127.0.0.1:12345
#listen on [::1]:12345
listen on 0.0.0.0:12345
#listen on [::]:12345 ←この行をコメントアウトする
### disable ipv6

これでエラーなくFlowdを起動できた。

OpmantekのためのMongoDBの設定

MongoDBの設定をOpmantek用にチューニングする。

cp /usr/local/opmantek/install/mongod.init.d /etc/init.d/mongod

上書きになるがとりあえずOK。

opFlowのライセンスをインストールする

NMISの上のプルダウンで「opFlow」を選択すると、opFlowの画面が立ち上がる。   ライセンスが要求されるので、「Get a Free Trial License...」でオフィシャルからライセンスを入手し、入力する。

opFlowの設定とopFlowdサービス起動

ライセンスをインストールしたら最終的なopFlowの設定を実施する。

/usr/local/opmantek/bin/opfixperms.pl
/usr/local/opmantek/bin/opflow_setup.pl setup=all
/usr/local/opmantek/bin/opflow_setup.pl setup=cron

設定が完了したらサービス起動する。

cp /usr/local/opmantek/install/opflowd.init.d /etc/init.d/opflowd
chkconfig opflowd on
service opflowd start

これでサービスが起動し、opFlowの画面が表示される。
まだFlow Record (フローレコード)を受信していないため、何も表示されていない。

トラブルシューティング

トラブル時はこちらを参照。
Troubleshooting opFlow - opFlow - Opmantek Community WIKI

トップ画面に警告も表示されるため、それを見ながら適切な対応をすることとなる。
Flowdのサービスが上がっていない、opFlowdのサービスが上がっていないなどはWeb画面に表示される。

まとめ

Opmantek NMIS8 に opFlow のモジュールを追加した。
Flowd の IPv6のエラー以外は特に問題なくインストールできた。

続き

opFlowとASAでのネットワークトラフィック可視化はこちら
opFlowはCisco ASA NetFlow(NSEL)を未サポート - designetwork