web-dev-qa-db-ja.com

tcを使用して帯域幅を制御する

2つのNICがあります。 eth0はインターネットに接続され、eth1はLANに接続されています。

Iptablesとlinuxtcを使用してダウンロード制限を制限したい。

そこで、動作しているかどうかを確認するためのテストスクリプトを作成しました。

私のiptablesの設定は以下の通りです。

iptables -t mangle -N INBOUND
iptables -t mangle -I PREROUTING -i eth0 -j INBOUND
iptables -t mangle -A INBOUND  -j MARK --set-mark 60

入力設定は以下のとおりです。

tc qdisc add dev eth0 handle 1: ingress
tc filter add dev eth0 parent 1: protocol ip prio 1 handle 60 fw police rate 100kbit burst 20kbit drop flowid :1

私がここで欠けているものを教えていただけますか?

1
Supratik
NIC -> INGRESS -> NETFILTER -> EGRESS -> NIC
                   (MARK)

Netfilterのトラフィックは、インターフェイスでのパス入力規律の後に低下するため、マークは気になりません。

'tc filter ... u32'を使用します。

3
alvosu

ワンダーシェイパーを見てください:

http://lartc.org/wondershaper/

アップロード/ダウンロード速度を制御するための「tc」の素晴らしい使用法です。

2
user15590