来自:http://hi.baidu.com/weioip/blog/item/855e8a459e752b3986947305.html
端口延时命令
# tc qdisc add dev eth0 root netem delay 100ms
表示对端口廷时100ms
# tc qdisc del dev eth0 root netem delya 100ms
表示对端口廷时命令删除
# tc qdisc change dev eth0 root netem delay 100ms 10ms
表示对改变端口廷时命100ms ± 10ms 延时范围(90到110)
# tc qdisc change dev eth0 root netem delay 100ms 10ms 25%
表示廷时范围100ms ± 10ms * 25%edit]
edit]数据包副本命令
# tc qdisc change dev eth0 root netem duplicate 1%
数据包副本率 1%
edit]edit] 数据包分发命令
# tc qdisc change dev eth0 root netem gap 5 delay 10ms
数据包重发每格5的整数倍的包将不被延时。其它的将延时10msedit] 速率控制命令:两条命令共同完成
# tc qdisc add dev eth0 root handle 1:0 netem delay 100ms
# tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000
# tc -s qdisc ls dev eth0 ----查看规则信息。
# tc qdisc show
更多帮助
# tc help , tc qdisc help
以上是建立速率控制命令规则。红色部分为限制包数量可去掉
清除规则命令:
tc qdisc del dev eth0 root
完毕后可以先试试bridge的基本命令:(这是可以把此主机看到两个端口的HUB )
brctl addbr mybridge (创建bridge mybridge,然后用ifconfig查看会发现多了一个mybridge端口)
brctl addif mybridge eth0
brctl addif mybridge eth1 (把eth0和eth1包含到mybridge中)
然后需要对各端口做以下动作
ifconfig eth0 0.0.0.0 promisc
ifconfig eth1 0.0.0.0 promisc(打开混杂模式)
ifconfig mybridge up(启动网桥)
引用:http://hi.baidu.com/barefoot/blog/item/0ceea1192115934142a9adf5.html
TC ------ traffic control 流量控制
命令相关格式:
tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc [ qdisc specific parameters ]
tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid class-id ] qdisc [ qdisc specific parameters ]
tc filter [ add | change | replace ] dev DEV [ parent qdisc-id | root ] protocol protocol prio priority filtertype [ filtertype specific parameters ] flowid flow-id
tc [-s | -d ] qdisc show [ dev DEV ]
tc [-s | -d ] class show dev DEV tc filter show dev DEV
命令相关参数:
QDISC (queue discipline)排队规则
CLASS 分类,可以理解为想要达到不同目的(流量限制)而分成几个分类;
FILTER 过滤
add 增加一个规则或类等
remove 删除一个规则或类
change 修改某条规则的某些条目,不可修改handle和父类
replace 替换某条规则,如替换对象不存在则建立
handle 句柄,可以命名一个类等
root 根类
classid 类识别符
link 只用于QDisc,代替现有节点
rate 一个类保证可以得到的带宽值,如有子类,则子类带宽总和不能超过父类
ceil 一个类可得到的最大带宽值
prio 优先权,数字越大,优先越小,0优先权最大
htb 属于qdisc的一种,qdisc还包括CBQ,HTB,PRIO
简单的结构图:
..........................root 1:......
/ \
........classid 1:1............classid 1:2.......
/ \ / \
.1:11...1:12...1:13..... ......1:21....1:22....1:23...
优先顺序是1:11 1:12 1:13 1:21 1:22 1:23
简单例句:
建立一个根队列:
tc qdisc add dev eth0/eth1(网络接口) root handle 1: htb default 11 (默认由1:11类包通过)
建立根队列下的主类1:1
tc qdisc add dev eth0/eth1(接口) parent(它的父类) 1: classid(自身类Id) 1:1 htb rate 300Kbit ceil 500Kbit prio 0 (保证300,最大500,优先0最大)