zoukankan      html  css  js  c++  java
  • 使用tc编写流量控制脚本

    TC="tc"
    IFCONFIG="ifconfig"
    if [ "$2" = "" ];
    then
    	echo error
    	exit 1
    fi
    IF=$1
    IFIN="ifb0"
    
    case $2 in
    	start)
    		$TC qdisc del dev $IF root
    		$TC qdisc del dev $IF handle ffff: ingress
            $TC qdisc del dev $IFIN root
    
    		BW=$3
    		if [ "$BW" != "0" -a "$BW" != "-1" ]
    		then
    		BW=$BW"bit"
    		$TC qdisc add dev $IF root handle 1: htb default 10
    		$TC class add dev $IF parent 1: classid 1:1 htb rate $BW
    		$TC class add dev $IF parent 1:1 classid 1:10 htb rate $BW
    		fi
    		BWIN=$4
    		if [ "$BWIN" != "0" -a "$BWIN" != "-1" ]
    		then
    		BWIN=$BWIN"bit"
    		$IFCONFIG $IFIN up
    		$TC qdisc add dev $IF handle ffff: ingress
    		$TC qdisc add dev $IFIN root handle 1: htb default 10
    		$TC class add dev $IFIN parent 1: classid 1:1 htb rate $BWIN
    		$TC class add dev $IFIN parent 1:1 classid 1:10 htb rate $BWIN
    		$TC filter add dev $IF parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev $IFIN
    		fi
    		;;
    	stop)
    		$TC qdisc del dev $IF root
    		$TC qdisc del dev $IF handle ffff: ingress		
    		$TC qdisc del dev $IFIN root
    		$IFCONFIG $IFIN down
    		;;
    	update)
    		BW=$3
    		if [ "$BW" = "" ]
    		then
    			echo error
    			exit 1;
    		fi
    		BW=$BW"bit"
    		$TC class change dev $IF parent 1: classid 1:1 htb rate $BW
    		$TC class change dev $IF parent 1:1 classid 1:10 htb rate $BW
    		;;
    	*)
    		echo error
    		exit 1
    		;;
    esac
    exit 0
    

      

  • 相关阅读:
    Zookeeper入门(三)之工作流
    Zookeeper入门(二)之基础
    Zookeeper入门(一)之概述
    Docker删除/停止容器
    webbench安装和简单使用
    Notepad++ 7.3.2 Download 64-bit x64 / 32-bit x86
    7 常见问题
    6 完整测试
    5 安装Alloc服务
    4 安装MPush
  • 原文地址:https://www.cnblogs.com/wangzhe1635/p/8658683.html
Copyright © 2011-2022 走看看