インターネットゲートウェイとして機能する1つの中央サーバーがあります。このサーバーはインターネットに接続されており、iptablesを使用してトラフィックを転送し、ネットワーク内のすべてのコンピューター間で インターネット接続を共有 します。これは問題なく動作します。
ただし、インターネットが非常に遅くなることがあります。ほとんどの場合、ユーザーの1人がビデオやその他の大きなファイルをダウンロードしています。犯人を特定したい。サーバーを通過するネットワークトラフィックをIPで監視できるツールのインストールを考えています。できれば、リアルタイムおよび累積合計(IPによる)が望ましい。これに推奨されるツールはありますか?できればUbuntuリポジトリにあるもの。
ntop は、求めているものを正確に提供します。それはあなたのネットワークを流れるすべてのトラフィックに関するデータを収集します(そしてあなたのシステムにnetfowデータを送るように設定されたデバイスを持っているなら他のネットワークからデータを収集することができます)。
ネットワーク上のすべてのホストと、使用した帯域幅が表示されます。これにより、各ホストにドリルダウンして、それらがどのタイプのトラフィックを生成しているか、また誰との間で送受信されているかを確認できます。現在確立されているTCP接続を確認できます。提供されたデータを数日間使用すると、ほとんど迷子になる可能性があります。
ただし、プログラムは、オプションの設定方法によっては、メモリを大量に消費する可能性があります。
IPごと(IPとポートごと)のリアルタイムの使用状況を表示するには:
Sudo apt install tcptrack
Sudo tcptrack -i eth0
MACアドレスでリアルタイムの使用状況を確認するには、Nice ncursesベースのツールがiptraf-ng
:
Sudo apt install iptraf-ng
Sudo iptraf-ng
(そして、「LANステーションモニター→eth0」を選択します。)
IPごとに毎日の集計データ量を確認するために、私のお気に入りはipfm
です。インストール:
Sudo apt install ipfm
次に、/etc/ipfm.conf
による man ipfm.conf
で始まり、Sudo ipfm
。
Iptablesから既存のカウンターをチェックして、何かが不自然に見えるかどうかを確認できます。
トラフィックカウントを生成するためだけに使用されるアカウンティングルールをiptablesに追加することもできます。 Shorewallのようなツールを使用すると、これを簡単に行うことができ、 Accounting ルールに関する特定のドキュメントがあります
ルーターの大きなバッファがパフォーマンスの問題を引き起こす可能性があることを示す研究があります。トラフィックをネットワーク容量よりわずかに少なくシェーピングしてみてください。 Shorewallは、トラフィックシェーピングにいくつかのアプローチを提供しています。これは、特定の種類のトラフィックに優先順位を付けるためにも使用できます。
帯域幅の使用量が過剰なユーザーを特定する場合、いくつかのオプションがあります。