LAN上のすべてのクライアントのインターネットゲートウェイとして機能するdhcpdを持つLinuxサーバーでは、IP / MACアドレスに基づいてインターネット使用量を監視し、特定の帯域幅消費を超えた場合にインターネットアクセスを拒否する方法は何ですか?
答え1
Linuxでは、いくつかのスクリプトを使用してこれを行うことができます。
iptables
各クライアントのすべての帯域幅が別々のルールを通過するようにファイアウォールルールを作成します。カーネルのファイアウォールサブシステムは、特定のルールに一致するネットワークパケットとバイトを計算します。走るとカウンターが見えますiptables -vL
。パフォーマンスを向上させるために、次のオプションを使用することもできます-n
。iptables -vnL
- 各クライアントがどのくらいのデータを使用しているかを確認するために、cronで実行されるスクリプトを作成します。その後、特定の数を超えると、クライアントがインターネットにアクセスできなくなるようにスクリプトでファイアウォールを変更するようにします。
iptables
ファイアウォールが消去されると(たとえば、再起動後またはこれを実行するときなど)、カウンタがリセットされますiptables -F
。そのため、スクリプトにデータベースなどの結論を明示させることができます。
答え2
トラフィック制限に対するあなたの回答はServerfaultに提供されます。
https://serverfault.com/questions/174010/limit-network-bandwith-for-an-ip
トラフィックを監視するには、iftopをインストールしてください。