首页 > 代码库 > 【限速】limit_download.sh
【限速】limit_download.sh
【限速】limit_download.sh
使用iptables 做简单的限速策略。
#!/bin/bash # # limit port 80 download speed. ACTION=$1 n_port=80 # n_limit * 15/100 KB, 100Mbit/s = 10MB/s = 10 * 1000 KB/s n_limit=$2 [ ! -z $n_limit ] || n_limit=3000 n_limit_burst=$3 [ ! -z $n_limit_burst ] || n_limit_burst=3000 function add(){ iptables -A OUTPUT -p tcp -m tcp --sport $n_port -m limit --limit $n_limit/sec --limit-burst $n_limit_burst -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --sport $n_port -j DROP service iptables save } function del(){ iptables -D OUTPUT -p tcp -m tcp --sport $n_port -m limit --limit $n_limit/sec --limit-burst $n_limit_burst -j ACCEPT iptables -D OUTPUT -p tcp -m tcp --sport $n_port -j DROP service iptables save } function cls() { iptables -F OUTPUT service iptables save } function stat() { iptables -L -n |sed -n ‘/OUTPUT/,$p‘ } ACTION=$1 case ${ACTION} in add) add stat ;; del) del stat ;; clear) cls stat ;; new) cls add stat ;; status) stat ;; *) cat <<_START Usage: $0 [add|del|new|clear|status] limit limit_burst [default setting: limit=$n_limit, limit_burst=$n_limit_burst] eg: $0 add add a rule to OUTPUT Chain. [default] $0 del delete a rule from OUTPUT Chain. [default] $0 new clear->add. $0 clear delete all rules in OUTPUT Chain. $0 status show iptables OUTPUT Chain. $0 add 2500 3000 add a rule to OUTPUT Chain. _START ;; esac
【限速】limit_download.sh
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。