2019年10月18日金曜日

VyOSでsFlow v5, NetFlowの検証環境を手に入れる

これまでNetFlow関連の記事を3記事掲載してきました。

文:ジュピターテクノロジー よしひろ


上記3記事を読んで頂ければ、きっとNetFlowを収集・活用してみようか?
と思った読者の方もいるのではないでしょうか。
今回の記事は、少し趣きを変えまして当方がxFlow検証をしていた時に苦労した、「sFlow v5をエクスポート出来る機器が会社になかった問題」のソリューションをご紹介したいと思います。

弊社にはFlexible NetFlowをエクスポート出来るルータが運よくあったのですが、sFlow v5をエクスポート出来る機器がありませんでした(※Flexible NetFlowに関しては別記事でがっつり説明しようと思いますので、お楽しみに)。
そこで以下のソフトウェアを組み合わせて、sFlow v5をエクスポートしたお話をご紹介したいと思います。

sFlow v5検証に必要なソフトウェア:
  • VyOS ・・・ ネットワークOS。ルータが構築出来て、sFlow v5対応。NetFlow v5,v9もサポート!!
  • Oracle VM VirtualBox・・・ VyOSを稼働させるためのクロスプラットフォーム仮想化ソフトウェア。VyOSが動作するのであれば、他の仮想化ソフトウェアでも可。
  • フローコレクター


つまり、「Good Job!! VyOS」ということです。sFlow v5をエクスポートするには、GNS3を使うソリューションもありましたが、別途メーカが提供するネットワークOSを準備したりと面倒に感じておりました。
また、無料で使えるシュミレータでsFlow v5対応のものがあったのですが、2PCで実際に生成したトラフィックのフローを取得したかったので、利用を見送りました。
そこで、VyOSです。
ISOファイルでインストーラが提供されており、簡単なインストールと設定で直ぐに使えてしまう!!というなんとも魅力的なソフトウェアです。
そして、 Rolling releaseならフリーで使えます。VyOSを使って自宅で自作ルータを構築!!という方もたくさんいらっしゃるので、私も家でやってみようと決意した一人です。

雑談はさておき、sFlow v5を投げるまでのVyOSの設定とOracle VM VirtualBoxの構成をご紹介したいと思います。

インストールステップ:
  1. Oracle VM VirtualBoxのインストール ※本記事では省略(他サイトで丁寧に解説されておりますので、割愛させていただきます)
  2. Ocacle VM VirtualBoxの構成
  3. VyOSのインストール ※本記事では省略(他サイトで丁寧に解説されておりますので、割愛させていただきます)
  4. VyOSの設定
  5. フローコレクターの設置※本記事では省略。

Oracle VM Virtual Boxの構成

図1 仮想マシン構成

今回Oracle VM Virtual Boxに設定した構成を図にしてみました。
VyOSとフローコレクタ2つの仮想マシンを作成しました。
VyOSにはフローの送信元となるeth0(ブリッジアダプター)と管理用のeth1(ホストオンリーアダプター)を準備しました。
そして、フローコレクター側はeth0(ブリッジアダプター)のみです。
本記事ではOracle VM Virtual Box、VyOSのインストールは割愛しておりますので、ご了承ください。
それでは、図1の通り仮想マシンの設定が済んでいること前提でVyOSの設定方法を紹介したいと思います。

VyOSの設定

VyOSにログインし、以下のコマンドを実行しました。注意)赤字は説明書きです
$ configure
# set interfaces ethernet eth0 address 192.168.81.199/24
# set interfaces ethernet eth1 address 192.168.56.199/24
# set service ssh
# commit
# save
※2NICに対するIPアドレス設定とssh設定
# show interfaces ethernet
 ethernet eth0 {
     address 192.168.81.199/24
     hw-id 08:00:27:73:77:57
 }
 ethernet eth1 {
     address 192.168.56.199/24
     hw-id 08:00:27:2d:0c:ae
 }
 # set protocols static route 0.0.0.0/0 next-hop 192.168.81.1
# commit
# save
※デフォルトGW設定
# set system flow-accounting interface eth0
# set system flow-accounting sflow server 192.168.81.121 port 6343
# commit
# save
※sFlow v5設定
# set service snmp community public authorization ro
※SNMP設定
# commit
# save

# set system flow-accounting interface eth0
# set system flow-accounting sflow server 192.168.81.121 port 6343

上記の2行がsFlow v5の設定となります。
eth0のsFlowデータをフローコレクターのIPアドレス(192.168.81.121)と宛先ポート(UDP:6343)に送信するといった設定となります。
ここまで終わりましたら、受信側であるNetVizura NFA側にログインし、tcpdumpコマンドを実行してみましょう。

※sFlow v5ではなくNetFlow v9を利用したい場合は、以下を設定してください。
# set system flow-accounting netflow engine-id 100
# set system flow-accounting netflow version 9
# set system flow-accounting netflow server 192.168.81.121 port 2055


sFlow v5が受信出来ております!!
これで本記事の目的であった「sFlow v5の検証環境を手に入れる」が達成されました。
任意の通信を発生させて当該通信をフローコレクターで分析できるようになりました。

弊社では、以下の特徴を持ったntop社のntopngという製品を販売しております。
  • リアルタイム分析
  • アプリケーション分析
  • L2,L7サポート
  • フローコレクター
  • 脅威検知
※画像をクリックすると製品ページにジャンプします


ご興味のある方は以下のリンクから弊社までお問い合わせください。