红联Linux门户
Linux帮助

linux限速工具netem bridge

发布时间:2015-10-30 10:34:50来源:linux网站作者:yangzmpang1

在Linux下,通常使用netem或bridge来模拟网络不稳定情况。在模拟过程中,最好使用虚拟机。如果是远程机器,那么网络环境模拟需要两块网卡,而桥模拟最好使用三块网卡。就是需要附加一个网卡,用作管理。


netem

是一个网络模拟器,它为测试提供了一些互联网我,如延时,丢包,重包,re-ordering.在Linux2.6的发行版本中,一般会带有此包。

端口延时命令

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%

端口丢包命令:

tc qdisc change dev eth0 root netem loss 0.1% : 丢包率为0。1%
tc qdisc change dev eth0 root netem loss 0.3% 25% : 丢包率为范围(0。3% 25%)

数据包副本命令

tc qdisc change dev eth0 root netem duplicate 1% : 数据包副本率 1%

数据包分发命令

tc qdisc change dev eth0 root netem gap 5 delay 10ms : 数据包重发每格5的整数倍的包将不被延时。其它的将延时10ms

速率控制命令:两条命令共同完成

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 qdisc del dev eth0 root


bridge

bridge-utils可以模拟一个网桥。在多数情况下,我们做网桥防火墙需要的是一台三网卡的服务,2个网卡做桥接,另外一个配置好ip地址作为管理接口,以便远程登陆网桥服务器对防火墙进行管理。(这是可以把此主机看到两个端口的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(启动网桥)

*.从网桥中删除网卡eth0 和eth1

brctl delif eth0
brctl delif eth1

删除网桥br0

brctl delbr br0


VirtualBox在Ubuntu下配置桥接bridge的一些现象:http://www.linuxdiyf.com/linux/7197.html

Linux+ARM环境配置-Bridged通信篇:http://www.linuxdiyf.com/linux/6200.html

Linux Bridge的镜像端口实现:http://www.linuxdiyf.com/linux/4270.html