Linux Boxのオフィス環境でSquidプロキシサーバー(バージョン3.1.4)を使用しています。私たちは1つのネットワークに合計20人のユーザーを持っており、インターネットパッケージは月25GBです。今私たちが望むのは、各ユーザーを特定のサイズに制限することです。1GB/ユーザー/月の仮定(一部のユーザーの場合は512 MB、一部のユーザーの場合は2 GBなど、より構成可能な方が良いでしょう。)誰もが同じアクセスを取得できます。
インターネットでたくさん検索しました。帯域幅制限、 または使用最大ダウンロードサイズパラメータreply_body_max_size
、遅延パラメータ。しかし、私が欲しいものが見つかりません。
Squidや他のオープンソースオプションでこれを行う方法はありますか?
答え1
私もこの機能を追加しようとしてきました。圧着の問題は、圧着すべきではないユーザーを圧着することです。
私が使用した解決策lightsquid
は/var/lib/lightsquid/report/<date>/.total
。lightsquid
答え2
たとえば、Squidが呼び出すカスタムヘルパーを介して可能です。http://wiki.squid-cache.org/Features/RedirectorsクライアントIPを調べてデータベースに問い合わせて、使用している帯域幅の量を確認し(おそらく他のものを介してイカログから解析されます)、帯域幅を超えた場合は申し訳ありませんが、ページにリダイレクトします。そのコードがまだ存在しない場合は、多くのコーディングが必要になることがあります。
答え3
Squid Wikiページによると、ユーザーデータクォータは開発中です(下記リンクを参照)。
単調にするIPごとの月単位のデータ量を制限するために使用できます。 (イカを使用)
機能/割り当て量 - Squid Web Proxy Wikihttp://wiki.squid-cache.org/Features/Quota
答え4
SQUIDだけを使用したい場合は、NFQUEUEを使用できます。まず、すべてのトラフィックをNFQEUEにリダイレクトし、ユーザー空間プログラミングでトラフィックを制御できます。その後、DROP(削除)ポートまたはSQUID(3128)ポートに転送を決定できます。小規模プリペイド充電システムを構築する必要があります。私の小さなものを見て記事このために。
ただし、お客様の要件を満たすには、RADIUS(dolaRadius)ソリューションを使用することをお勧めします。 SQUIDをFreeRADIUSと統合し、トラフィックを制御できます。