web-dev-qa-db-ja.com

帯域幅制御、ダウンロード制限オプションを備えた家庭用のプロキシサーバーをセットアップするにはどうすればよいですか?

3人の部屋の仲間が1つの2 Mbps接続を共有します。 1か月あたり40GBのダウンロード制限があり、それを超えると速度が256Kbpsに低下します。

ルームメイトの1人が、彼のクォータ制限を超えてダウンロードすることにより、接続を悪用します。インターネットに接続するためのNetgear WNR1000v2ワイヤレスルーター+ ADSLモデムを持っています。私たちは皆、ADSLモデムに接続するワイヤレスルーター経由でインターネットにアクセスします。

設定に役立つ無料のプロキシソリューションが必要です

  1. 1人あたり40 GB/3(13 GB)の制限(すべての人が2つのデバイスを持っています-PCとWifiを備えた電話)
  2. 均一な帯域幅制御-2人がインターネットを閲覧する場合、それぞれ1 Mbpsを取得し、3人がアクセスする場合、2 Mbpsを3で割った値を取得する必要があります。
  3. 各ユーザーが毎月のダウンロード制限を超えると、256Kbps以下の速度でインターネットにアクセスできるようになります。
  4. ワイヤレスルーターにカスタムファームウェアをインストールできますか(または)プロキシサーバーは必要ですか?

関連するチュートリアルを教えてください(たとえばSquidを使用)。

更新:ルーターのみ/ファームウェアソリューションを探していません。ネットワーク上のPCの1つでプロキシサーバーを実行するか、他の同様の種類のソリューションを利用できます。

Squidを使用しないでください。ポート80のHTTPだけでなく、すべてを制御する必要があります。

答えは '--quota'オプション付きのiptablesを必要とし、これは各パケットでバイトカウンターをデクリメントすることによりネットワーククォータを実装します。 「--quota」の引数はバイト単位の値です。

ユーザーごとに1つのチェーンがあります。チェーンの最初のルールは、192.168.0.2からのパケットに対して13 GBの割り当てをカウントダウンし、割り当てを下回っている場合はパケットを受け入れます。

iptables -A INPUT -p tcp -s 192.168.0.2 -m quota --quota 13958643712 -j ACCEPT

チェーンの2番目のルールは、選択したtcクラスの割り当て超過パケットを分類します。

iptables -A INPUT -p tcp -j CLASSIFY --set-class 1:12

それからそれはすべて古典的なトラフィックシェーピングです: http://tldp.org/HOWTO/Traffic-Control-HOWTO/

もちろん、静的IP割り当てを使用するか、DHCPがデバイスのMACアドレスで固定されたアドレスを割り当てることを確認する必要があります。また、3人のユーザーのいずれかに属するデバイスのうち、識別されたものを除くすべてのアドレスをブロックする必要があります。

ちなみに、「2人がインターネットを閲覧する場合、それぞれ1 Mbpsを取得し、3人がアクセスする場合、2 Mbpsを3で割った値を取得する必要がある」と述べていますが、トラフィッククラス階層を設定すると、それよりも優れています。 :要件は、「2人がインターネットを閲覧する場合、それぞれ1 Mbpsを下回ってはならず、3人がアクセスする場合、2 Mbpsを3で割った値を下回らないようにする」である必要があります。他の人は保証されたスループットよりも少ない量を使用します...そしてtcはあなたにそれをさせます!

ルーターはopenwrtとdd-wrtでサポートされているため、必要なツールはすべて揃っています。

14

あなたが言及したすべての機能をサポートしている場合、私はすぐに思い出すことはできませんが、ルーターソリューションとして pfSense を強くお勧めします。 USBディスクの実行に十分なほど小さく、ホストの共有ソリューションを提供します。たとえば、すべての内部サーバーに透過プロキシを提供するためにsquidアドオンをインストールしました。また、ネットワークの使用状況の詳細なレポートを取得するためにインストールしたパッケージにもインストールしました。

ゲストがシステムを使用するためのログオンページなど、インターネットカフェタイプの機能も提供しています。 VMでの設定は簡単で、さまざまな構成でインストールする方法に関するドキュメントがたくさんあります。

私はこれを他の8台のマシンで自宅で使用しました。正しく設定されていれば、それほど多くの制限を導入する必要がない場合もあります。

4
BinaryMisfit

お使いのNetgear WNR1000v2はセミダムデバイスのようです。私が見つけたすべてはあなたがポートベースまたはMACベースのQoSを有効にできることです。不正なルートメイトのQoSを「低」に設定できます。

それ以外の場合は、より多くの「頭脳」、つまり適切な(インテリジェントな)プロキシが必要です。

0
Nils

どうやら、あなた自身のリスクで、DD-WRTファームウェア http://www.dd-wrt.com/site/support/router-database をルーターにインストールすることができます。 - http://www.dd-wrt.com/wiki/index.php/Quality_of_Service

0
ccpizza