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
    

      

  • 相关阅读:
    USDT与omniCore钱包
    C# 事件(第四章)
    委托进阶(第三章)
    委托入门(第二章)
    委托入门(第一章)
    asp.net页面生命周期
    在WEB程序中小心使用"ThreadStatic"
    如何在一个请求中共享数据或对象实例
    .net垃圾回收机制原理
    MVC模式简介
  • 原文地址:https://www.cnblogs.com/wangzhe1635/p/8658683.html
Copyright © 2011-2022 走看看