こちらの記事でOpmantek NMISをインストールしたため、引き続きopFlowをインストールする。
Opmantek NMISをCentOS6.5にインストール - designetwork
厳密にはopFlowはOSS ( オープンソース )ではないが、使用感を確認する。
詳細はオフィシャルサイト参照だが、MongoDBのインストールや、Flowdの設定など、補足が必要な部分が多い。
opFlow Installation Guide - opFlow - Opmantek Community WIKI
- opFlow tarファイル展開
- Flowd ( NetFlow Daemon )をインストール
- MongoDBをインストール
- OpmantekのためのFlowdの設定
- OpmantekのためのMongoDBの設定
- opFlowのライセンスをインストールする
- opFlowの設定とopFlowdサービス起動
- トラブルシューティング
- まとめ
- 続き
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