ポートあたりのトラフィックを制限する方法(Ubuntuサーバー)

ポートあたりのトラフィックを制限する方法(Ubuntuサーバー)

プロキシを実行しているサーバーにデータキャップシステムを設定したいと思います。

私は帯域幅を制限することに興味がありません。

ポートを月/週/日などでxGBに制限したいです。私のすべてのGoogle検索は制限に関するデータを返しました。

サーバーはUbuntuマシンです。ちょうど普通の箱です。

クライアントは、私が制御できないアプリケーションを介してクライアントに接続します。このサーバーはプロキシサーバーです。

サーバーはポート2000、3000、4000などの接続を許可します。各ポートはユーザーアカウントにバインドされます。

データ制限に達したら、各ポートの接続許可を停止したいと思います。

PS:ポートとはポート番号(0-65535)を意味します。

ありがとうございます。

ベストアンサー1

トラフィッククォータシステムを実装する方法はいくつかあります。

私はこれらすべてに少なくとも少しのスクリプト/ソフトウェア開発が必要だと思います。ここでは範囲を越えるのに役立ちます。ただし、一般的な方向はお知らせできます。

通常、これには、使用されたトラフィックを計算し、xトラフィック後にイカ設定を動的に変更すること、または顧客の送信元IPにファイアウォールルールを適用することが含まれます。ただし、ブロックするとアプリケーションレベルで問題が発生する可能性があります。少なくとも完全にブロックしたら

この会計を実行する方法はいくつかあります。

Linux側では、次のことができます。

  • Squid ログを解析して、各ユーザーが使用するトラフィックを取得します。

  • クライアントが到着するポートにファイアウォールルールを作成し、使用されたトラフィックを計算します(簡単にすることができます)。バラより各ネットワークポートのトラフィック統計。サーバーを再起動するとiptable統計がリセットされるため、その統計をSQLデータベースに保存する方が賢明です。 (制御された再起動時おそらくiptablesはトラフィック統計を保存しますが、クラッシュや停電が発生する可能性があります。

インフラストラクチャ側では、通過するルーターのネットワークトラフィックをキャプチャすることもできます。お使いのデバイスがサポートしている場合。ネットワークストリーミングを使用するオープンソースソリューションがありますが、ここでもいくつかのスクリプト/ソフトウェア開発が必要です。ソリューションはより専門的ですが、実装するのは難しいです。

インフラストラクチャの観点からの別のアプローチは、ユーザ側スイッチポートからSNMPデータトラフィックをキャプチャすることです。

言うまでもなく、これを行うためにネットフローまたはSNMPを使用する場合は、将来のトラフィックソースとしてユーザーではなくネットワークのみを使用する場合は、プロキシを使用せずにスイッチポートのみをブロックすることができます。何かが間違っています。毎月のクォータが使い果たされました。

婦人声明:

  • 私はモザンビークでISPを運営しました。
  • 私はインターネットに接続された境界ルータのネットワークフローデータを使用しました。
  • 顧客が毎月のクォータを超えると、私の設定ソフトウェアによってモデムがブロックされました。
  • 今、私は他の場所で働いていますが、まだnetflows + Linuxを使用しています。

neflowに関するいくつかの手がかり:freebsd ルータからネットワーク全体の使用統計を収集するには?

おすすめ記事