さまざまなユーザーがサーバーで消費する帯域幅を監視したいと考えています。
事実上、私はUserIPacct( http://ramses.smeyers.be/homepage/useripacct/ )のようなものを探しています。ここで、次のようなプリントアウトを取得できます。
User Sent Received Flags
root 401364 401421
news 2143 2210
lf 221462 348287
残念ながら、useripacctは2.6カーネルシリーズでは使用できません。
既存の解決策はわかりませんが、「owner」一致拡張機能を使用してnetfilterでこれを行うことができますが、受信パケットをキャッチして説明するためにconntrackを少し試す必要があります(そしてあなたはユーザースペースプロセスによって管理されていないため、初期接続セットアップパケットを見逃します)。ネットフィルター以外のソリューション(la ntopなど)も可能だと思いますが、それはほぼ間違いなく醜く、CPUを非常に早く消費します。
正直なところ、私はあなたが正しい問題を解決しているというかなり深刻な疑いを持っています。ユーザーごとのトラフィックのアカウンティングは、サーバーレベルのログ(Apache、MTA、POP/IMAPサーバーなど)を分析し、それに基づいてアカウンティング/請求を行うことで、より適切に実行されます(そうでないビットには適切なオーバーヘッドがあります)。 DNSのようにキャッチ)。すべてをユーザーに結び付けようとすると、ほぼ確実に期待した結果が得られません。
それはあなたが探しているものと正確に一致しないかもしれませんが、 vnstat にはいくつかの素晴らしい機能があり、完全に無料です。帯域幅をリアルタイム、合計日数、合計週数、合計月数などで表示します。