LANから外部世界へのルーターとして機能するfreebsdボックスがあります。複数のインターネットプロバイダ、OpenVPNサーバー、クライアント、NATなどがあります。
いつ、誰に、誰に、どのプロバイダを介して、どのプロトコルを介して、どのくらいのバイトが送信されたかについての完全な統計を取得したいと思います。
最小時間単位は1時間であることに同意します。つまり、ミリ秒単位の精度は必要ありません。
私はvnstat2、ntopng、および他のいくつかのプログラムを試しましたが、必要なものがないように見えたり、明確ではありませんでした。
なぜこの機能が使いやすいのかわかりません。しかし、私はfreebsdがうまくいきません。だから私にいくつかの手がかりを与えてください。
答え1
ネットワークトランザクションに関する詳細情報を取得するには、FreeBSD または Linux の Netflow ジェネレータ実装を使用できます。
名前 ng_netflow - Cisco の NetFlow 実装
説明 ng_netflow ノードは、FreeBSD を実行しているルータで Cisco の NetFlow エクスポートプロトコルを実装します。 ng_netflowノードは着信トラフィックを受信し、その中で一意のフローを識別します。フローは、エンドポイントIPアドレス、TCP / UDPポート番号、ToS、および入力インターフェイスに分けられます。期限切れのフローは、ノードからNetFlowバージョン5/9 UDPデータグラムにエクスポートされます。
NetFlow自体の場合:
NetFlowは、IPトラフィック情報を収集し、ネットワークトラフィックを監視するためにCiscoによって開発されたネットワークプロトコルです。トラフィックデータを分析して、ネットワークトラフィックとフローの図を構築できます。
返品rfc 3954 - NetFlow サービスのエクスポートバージョン 9
Netflow データを保存するには、サーバー・コレクターということも必要です。 LinuxまたはFreeBSDシステムです。実際のルーターにインストールしないでください。既知の実装の1つは次のとおりです。エンプソン
NfSenはnfdump netflowツールのグラフィカルWebベースのフロントエンドです。
NfSenを使用すると、次のことが可能です。
- ネットワークフローデータの表示:RRD(Round Recurrent Database)を使用したフロー、パケット、およびバイト。
- ネットワークストリーミングデータを簡単に閲覧できます。
- 指定された時間範囲内でネットワークフローデータを処理します。
- 歴史的で継続的なアーカイブを作成します。
- さまざまな条件に基づいて通知を設定します。
- ネットワークストリームデータを定期的に処理するプラグインを直接作成します。
使用可能な帯域幅に応じて、NetFlow の作成は CPU 集約的になる可能性があります。場合によっては、ルータのスイッチポートをミラーリングし、他のコンピュータを使用してこれらのタスクを実行することが知られている戦略です。
特定の帯域幅しきい値に達した後にNetFlowを作成する必要がある場合は、プロのルーターを選択する方が合理的です。
最後の注意点は、NATを使用する場合は、内部/LANインターフェイスからNetFlowをキャプチャする必要があることです。そうしないと、誰が何をしているのかわかりません。
CiscoデバイスからNetFlowデータを収集するために、NfSenを使用して5〜6ヶ月間トラフィックを維持するために約100 GBのデータを使用しました。マイレージは異なる場合があります。