ITインフラ技術の実験室ITインフラ技術の実験室Linuxを中心に、仮想化やネットワーク、Windowsまで、ITインフラ技術に関するノウハウを幅広く紹介します。Flash)はじめにサーバやPCなど、フローの送信元や送信先となる機器とは異なり、様々なトラフィックが集約されて流れるネットワーク機器ではアプリごとにどのぐらいトラフィックが流れているかの割合を調べたり、どのようなフローがネットワークを占有しているかなどを簡単に確認することができません(フィルタを細かく書いたりキャプチャ装置をはさんだりすれば可能ですがコストが高くつきます)オープンソースで上記のようなネットワークの可視化を実現する方法としてnetflowが知られていますが、センサー機能の付いたハイエンドな機器(CiscoやJuniperルータ等)が我が家には無いので、Catalyst2940とサーバ(Openblocks600)を組み合わせてセンサーにできるか試してみます。次の記事「netflowでネットワークフロー解析(flow-toolsでフローデータ受信)」でまとめているコレクタ(flow-tools)および、その次の記事「netflowでネットワークフロー解析(FlowScanとCUFlowでグラフ化)」でまとめているFlowScanとCUFlowとを組み合わせると、最終的に以下のようなアプリごとにどのぐらいトラフィックが流れているかが分かるようなグラフが作成できます。以下は私の自宅で試した結果です(自宅で流れるアプリケーションなのでHTTPがほとんどであまり面白みはありませんが。flow-toolsによるトラブルシューティングです。この本のp.50にsoftflowdのアイディアが載っていました。具体的には以下の簡易図のような構成を用意して、cat2940でfa0/1を流れるパケットをモニタセッションしてfa0/3(モニタポート)からsoftflowd(OBS-ACT)にモニタパケットを渡すことで、softflowdがセンサとして動作します。softflowdはパケットを受け取った後、eth0からコレクタ宛(OBS-SBY)にフローパケットをexportします。OBS-ACTをコレクタ兼用にすることも可能とは思いますが、理解しやすいよう、役割ごとにサーバを分けました。以下のように設定すると、fa0/1を通過するパケットのヘッダ情報がfa0/3にコピーされますので、そのパケットをOBS-ACTのeth1で受け取ります。Fa0/3サーバ側の設定(OBS-ACT)softflowdのインストールまずはsoftflowdをインストールします。softflowdが使うパケットキャプチャソフトウェアであるlibpcapもインストールされます。アーカイブを取得する必要があります。ディスク領域が新たに消費されます。Y...次にネットワークを設定します。eth1でcat2940からのパケットを受信し、OBS-SBY宛のフローパケットをeth0から送信するように設定していきます。eth1は受信するだけなのでアドレスは要りませんが、アクティブ化とARPの無効化を行います。ff:ff:ff:ff:ff:ffeth0とeth1がUPしていること、eth1はNOARPであることを確認します。起動シェル(/etc/init.d/*)で起動させる前にコマンドで動作を確認してみます。ちなみに/var/run/softflowd/chrootを作成しておかないと以下のようなエラーがログに吐かれて起動しませんでしたので、先にディレクトリを作成してからsoftflowdを起動します。[192.168.0.131]:9995プロセスが正常に起動しており、エラーが出ていないことを確認します。v.5を使用し、eth1でlistenしてパケットを受信したら192.168.0.131:9995(コレクタ)宛にエクスポートする設定です。softflowdのフロー送信確認コレクタ側(OBS-SBY側)はまだ未設定のため、現時点ではOBS-SBYでtcpdumpを動かしてみて、OBS-ACTからパケットがエクスポートされているか確認してみます。bytesモニタ中のfa0/1に通信を流してみましたが、softflowd(OBS-ACT)はOBS-SBYにフローパケットを送信していないようです。現在追跡中のフローを全てコレクタにエクスポートしてから終了するshutdownコマンドを実施してみます。gracefully...以下の通り、コレクタ側でフローパケットが来ていることが確認できました。-n192.168.0.131:9995)で起動するように設定ファイルを修正します。softflowdがlistenするのはeth1、コレクタは192.168.0.131:9995とします。192.168.0.131:9995"上記設定を保存後、起動シェルを実行します。softflow設定ファイルに設定したとおりに動作していることが確認できました。softflowdでフロー統計データを表示させる参考書のp.53~54で紹介されているいくつかの確認コマンドを実施してみます。1追跡中のフローを表示する。softflowdが追跡しているフローを表示したい場合は、softflowctlのdump-flowsコマンドを使います。フローは1行に1つずつ表示されます。フローが表示されれば、softflowdは正常に動作していることになります。seconds...大量に表示されたので一行目に着目すると、以下のフローであることが読み取れます。6(TCP)2フロー統計データを表示する。softflowdは起動した直後からフローの追跡を開始します。softflowctlのstatisticsコマンドを使うと、現在追跡中のフローの特性をsoftflowdに出力させることができます。0.01s上記で番号をつけた箇所の説明を以下にまとめます。softflowdが進行中であるとみなしているフロー数。UDP等はタイムアウトするまでこの数に含まれる。平均実行時間は2.27秒softflowdについては以上で終了です。次の記事「netflowでネットワークフロー解析(flow-toolsでフローデータ受信)」では、コレクタとなるflow-toolsについてまとめます。コメントをキャンセルメールアドレスが公開されることはありません。