The simplest total bandwidth limit in Linux

Source: Internet
Author: User
Tags ftp port number
Article Title: The simplest total bandwidth limit in Linux. Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
The simplest total bandwidth limit (tc script, each mainstream linux has tc and iptable, cp to a file to grant x permissions, execute OK ).... according to the bandwidth limit in the 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 80 Kbit is
#10 Kilobytes/s
FTP_BW = '7200kbit '// Total Bandwidth
  
# 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 port is not limited
FTP_PORT_HIGH = "11000" // passive port limit
Tc qdisc del dev "$ NIC" root 2>/dev/null // clear NIC settings in the tc queue
// (Modify 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 classid cbq bandwidth "$ REAL_BW" rate "$ FTP_BW" maxburst 5 avpkt 1000 bounded
  
Tc qdisc add dev "$ NIC" parent :10 sfq quantum 1514b
  
Tc filter add dev "$ NIC" parent 1: protocol ip handle 1 fw flowid :10
  
Iptables-t mangle-a output-p tcp -- sport 20:1221-j MARK -- set-mark 1
// The above 1221 is the ftp port number
  
Iptables-t mangle-a output-p tcp -- sport "$ FTP_PORT_LOW": "$ FTP_PORT_HIGH"-j MARK -- set-mark 1
  
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.