当前位置:Linux教程 - Linux资讯 - Linux中最简单的总带宽限制

Linux中最简单的总带宽限制

  最简单的总带宽限制(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

(出处:http://www.sheup.com)