プロキシを実行しているサーバーにデータキャップシステムを設定したいと思います。
私は帯域幅を制限することに興味がありません。
ポートを月/週/日などでxGBに制限したいです。私のすべてのGoogle検索は制限に関するデータを返しました。
サーバーはUbuntuマシンです。ちょうど普通の箱です。
クライアントは、私が制御できないアプリケーションを介してクライアントに接続します。このサーバーはプロキシサーバーです。
サーバーはポート2000、3000、4000などの接続を許可します。各ポートはユーザーアカウントにバインドされます。
データ制限に達したら、各ポートの接続許可を停止したいと思います。
PS:ポートとはポート番号(0-65535)を意味します。
ありがとうございます。
答え1
トラフィッククォータシステムを実装する方法はいくつかあります。
私はこれらすべてに少なくとも少しのスクリプト/ソフトウェア開発が必要だと思います。ここでは範囲を越えるのに役立ちます。ただし、一般的な方向はお知らせできます。
通常、これには、使用されたトラフィックを計算し、xトラフィック後にイカ設定を動的に変更すること、または顧客の送信元IPにファイアウォールルールを適用することが含まれます。ただし、ブロックするとアプリケーションレベルで問題が発生する可能性があります。少なくとも完全にブロックしたら。
この会計を実行する方法はいくつかあります。
Linux側では、次のことができます。
Squid ログを解析して、各ユーザーが使用するトラフィックを取得します。
クライアントが到着するポートにファイアウォールルールを作成し、使用されたトラフィックを計算します(簡単にすることができます)。バラより各ネットワークポートのトラフィック統計。サーバーを再起動するとiptable統計がリセットされるため、その統計をSQLデータベースに保存する方が賢明です。 (制御された再起動時おそらくiptablesはトラフィック統計を保存しますが、クラッシュや停電が発生する可能性があります。
インフラストラクチャ側では、通過するルーターのネットワークトラフィックをキャプチャすることもできます。お使いのデバイスがサポートしている場合。ネットワークストリーミングを使用するオープンソースソリューションがありますが、ここでもいくつかのスクリプト/ソフトウェア開発が必要です。ソリューションはより専門的ですが、実装するのは難しいです。
インフラストラクチャの観点からの別のアプローチは、ユーザ側スイッチポートからSNMPデータトラフィックをキャプチャすることです。
言うまでもなく、これを行うためにネットフローまたはSNMPを使用する場合は、将来のトラフィックソースとしてユーザーではなくネットワークのみを使用する場合は、プロキシを使用せずにスイッチポートのみをブロックすることができます。何かが間違っています。毎月のクォータが使い果たされました。
婦人声明:
- 私はモザンビークでISPを運営しました。
- 私はインターネットに接続された境界ルータのネットワークフローデータを使用しました。
- 顧客が毎月のクォータを超えると、私の設定ソフトウェアによってモデムがブロックされました。
- 今、私は他の場所で働いていますが、まだnetflows + Linuxを使用しています。
neflowに関するいくつかの手がかり:freebsd ルータからネットワーク全体の使用統計を収集するには?