1.用TC控制网络延时。具体来说就是控制本机处理一个数据报文的时延,也就是rtt。
sudo tc qdisc add dev eth0 root netem delay 1000ms //设置1秒的延时
sudo tc qdisc del dev eth0 root netem delay 1000ms //取消设置
设置成功后,可以简单的从其他机器上ping一下这台机器,你会看到ping的response time是1秒左右。
2.控制丢包率:
sudo tc qdisc add dev eth0 root netem loss 10% //设置本机丢包率10%
sudo tc qdisc del dev eth0 root netem loss 10% //取消设置
设置成功后,向这台机器发送的数据包,有10%左右的丢包率。
3.控制本机的上行带宽。(经常用来控制一台服务器对外提供下载的总流量限制)
sudo tc qdisc add dev eth0 root tbf rate 5800kbit latency 50ms burst 1540 //带宽限制5800kbit
sudo tc qdisc del dev eth0 root tbf rate 5800kbit latency 50ms burst 1540 //取消限制
4.从服务器上,控制某一台client的下载带宽.(经常用来在服务器上设置,控制某一台client的下载流量。)
登录到服务器上,目的是控制ip为1.1.1.21 到本服务器的下载带宽为 5120kbit。
sudo tc qdisc add dev eth0 root handle 2: htb
sudo tc class add dev eth0 parent 2: classid 2:1 htb rate 5120kbit
sudo tc class add dev eth0 parent 2:1 classid 2:21 htb rate 5120kbit ceil 6000kbit burst 100k
sudo tc qdisc add dev eth0 parent 2:21 handle 21: sfq
sudo tc filter add dev eth0 parent 2:0 protocol ip prio 4 u32 match ip dst 1.1.1.21 flowid 2:21