幅広いユーザーがアクセスできるLinuxサーバーを実行していますが、(アップストリームインターネットプロバイダーによって設定されているポリシーのために)ユーザーが転送できるデータの合計量を特定の量に制限する必要があります。 Linuxボックスは私のプロバイダーへのゲートウェイです。これを行う方法はありますか?
作業中のiptables
セットアップがすでにボックスに配置されており、それが役立つ場合は、HTBなどの構成の経験があります。私が過去に行ったセットアップの問題は、ユーザーを長期間(100MB /日など)の合計転送量ではなく、特定のビットレート(20kbpsなど)に制限することです。
@WerkkreWは私を正しい軌道に乗せました。私が使用する解決策は、squidとそのdelay_pools機能を使用することです。
基本的な概念は、squid.conf
にホストごと(クラス3)の遅延プールを設定し、各プールをユーザーごとに1日に許可する最大帯域幅に設定することです。次に、「フィル」レートを、帯域幅の最大量を1日分の時間で割った値に設定して、各遅延プールが1日で完全にいっぱいになるようにします。
最後に、iptables
を使用して、ポート80で受信したリクエストを、直接DNATするのではなく、LANからsquidに透過的にリダイレクトします。これにより、内部ネットワークのユーザーは帯域幅の制限を受けます。
WerkkreW、私を正しい方向に向けてくれてありがとう。