最簡單的總帶寬限制(tc腳本,每個主流Linux都有tc和iptable,cp到一個文件賦予x權限,執行就ok)....根據pureFTP的faq中帶寬限制得來的... #! /bin/sh # Simple bandwidth limiter - # Change this to your link bandwidth # (for cable modem, DSL links, etc. put the maximal bandwidth you can # get, not the speed of a local Ethernet link) REAL_BW='10Mbit' # Change this to the bandwidth you want to allocate to FTP. # We're talking about megabits, not megabytes, so 80Kbit is # 10 Kilobytes/s FTP_BW='7200Kbit' //總帶寬 # Change this to your physical network device (or 'ppp0') NIC='eth0' # Change this to the ports you assigned for passive FTP FTP_PORT_LOW="10000" //passive端口低限 FTP_PORT_HIGH="11000" //passive端口上限 tc qdisc del dev "$NIC" root 2> /dev/null //清除tc隊列中關於網卡的設置 //(hunreal修改) tc qdisc add dev "$NIC" root handle 1: cbq bandwidth "$REAL_BW" avpkt 1000 tc class add dev "$NIC" parent 1: classid 1:1 cbq bandwidth "$REAL_BW" rate "$REAL_BW" maxburst 5 avpkt 1000 tc class add dev "$NIC" parent 1:1 classid 1:10 cbq bandwidth "$REAL_BW" rate "$FTP_BW" maxburst 5 avpkt 1000 bounded tc qdisc add dev "$NIC" parent 1:10 sfq quantum 1514b tc filter add dev "$NIC" parent 1: protocol ip handle 1 fw flowid 1:10 iptables -t mangle -A OUTPUT -p tcp --sport 20:1221 -j MARK --set-mark 1 //上面的1221是ftp的端口號 iptables -t mangle -A OUTPUT -p tcp --sport "$FTP_PORT_LOW":"$FTP_PORT_HIGH" -j MARK --set-mark 1