ボリュームに基づいてユーザー/IPごとのインターネットトラフィックを制限する

ボリュームに基づいてユーザー/IPごとのインターネットトラフィックを制限する

私は自分のネットワークに共有インターネット接続を持っており、現在 Smoothwall Express を使用して管理しています。各ハウスメイトに毎月一定量の帯域幅を割り当てられるようにしたいと考えています。ISP は MB 単位で料金を請求するので、その料金をその使用者にも適用し、ISP にだまされないようにしたいと考えています。

これを実現する最善の方法は、ユーザーに一定量の支払いをさせて、その分だけ使用できるようにすることだと私は思います。割り当て量を使い切ったら、さらに帯域幅を割り当てるまで完全にブロックする必要があります。

Smoothall Express はこれに十分でしょうか? どのようなプラグインが必要ですか? それができない場合、何ができますか?

答え1

すぐに使えるものではありません。商用バージョンはおそらくこのプロジェクトの予算を超えており、それでも完璧に適合するものではありません。

Express を使って何かをハックすることもできますが、かなり古いプロジェクトになります。

答え2

ペフセンストラフィックシェーパーモジュールを使えば、すぐにこれを実行できるはずです。トラフィックシェーピングガイドdummynet に基づく動的キュー作成でこれを実行できるはずです。

HTH

答え3

これはスムーズウォールと互換性がありませんが...

iptables には、これを実装するために使用できる「quota」モジュールが含まれています。

これを利用するには、各接続を識別する必要があります。単純な NAT を実行する場合は、各接続を IP で識別することで実行できる可能性がありますが、偽装するのは非常に簡単です。

もっと明確な方法が必要な場合は、pppoe を使用してユーザーを認証し、その接続デバイスに対して適切なファイアウォール ルールを設定することができます。これは、pppd が呼び出してその接続のクォータを構成するスクリプトを使用して実行できます。

これは、ユーザーが選択した IP に関係なく機能します。

関連情報