linux制限流量


システムに付属のTCで制限
#!/bin/sh
if=$1
if [ ! $if ]
then
    echo "Please input interface name, such as 'eth0'";
    exit;
fi
echo "Rebuilding traffic controlle on $if..."
tc qdisc del dev $if root
tc qdisc add dev $if root handle 1: htb
tc class add dev $if parent 1: classid 1: htb rate 2mbit ceil 2mbit
tc -s qdisc show
tc -s class show dev $if

基本的に1つのNICはqdiscキューに対応し、各キューの下にN個のclassを掛けることができ、各classはまた1つのサブキューに対応することができる.
上のスクリプトはqdiscを作成し、classを作成します.classのidはqdiscと一致するため、qdiscの速度が制限されます(classidが1:2の場合、有効になりません)