web-dev-qa-db-ja.com

ネットワーククライアントごとのインターネット帯域幅を監視および制限する

LANのすべてのクライアントのインターネットゲートウェイとして機能するdhcpdを備えたLinuxサーバーの場合:IP/MACアドレスに基づいてインターネットの使用状況を監視し、特定の帯域幅の消費量を超えた場合にインターネットアクセスを拒否するにはどうすればよいですか?

1
ig-dev

Linuxでは、いくつかのスクリプトを使用してこれを行うことができます。

  • iptablesを使用してファイアウォールルールを作成し、各クライアントのすべての帯域幅が個別のルールを通過するようにします。カーネルのファイアウォールサブシステムは、特定のルールが一致したネットワークパケットとバイトをカウントします。 iptables -vLを実行すると、カウンターが表示されます。パフォーマンスのために、-nオプションも使用することをお勧めします:iptables -vnL
  • Cronから実行され、すべてのクライアントによって使用されたデータ量をチェックするスクリプトを記述します。次に、特定の量を超えている場合は、クライアントがインターネットにアクセスできないように、スクリプトでファイアウォールを変更します。

ファイアウォールがクリアされると(つまり、再起動後、またはiptables -Fを実行すると、iptables 'カウンターがリセットされることに注意してください。そのため、スクリプトにデータベースまたは何か。

2
Wouter Verhelst

あなたの答えは、トラフィックを制限するためのServerfaultでここに与えられます

https://serverfault.com/questions/174010/limit-network-bandwith-for-an-ip

そしてそのトラフィックを監視するためにiftopをインストールします

0
Jeff Coleman