Linux下模拟网络环境

前言:linux下模拟网络环境,主要是使用tc命令改写内核信息来模拟网卡收发包的延迟和丢失率。

分为三部分:

1 安装linux系统,可使用redhat5.x企业版,在安装的时候注意勾选“系统网络设置”工具。

2 建立透明桥接,需要至少2个物理网口,如果需要额外管理,则需要3个。

建立透明桥接步骤如下:

网卡准备,网卡不能设置ip地址

a建立桥组

       #brctl addbr bridgename

b将两层接口加入桥组

       #brctl addif bridgename device

c把生成的网桥UP起来

       #ifconfig bridgename up

d检验

       #brctl show     可以看到桥接信息

       #/user/sbin/brctl show    查看桥接信息

       #ifconfig –a  可以看到桥接端口

       #接上网线进行测试

其他命令:

       #brctl delbr bridgename         删除桥接组

       #brctl delif bridgename device              将物理接口从桥接组删除

3 使用tc命令模拟网络环境

         Tclinux下的流量控制工具,基本功能模块包括队列、分类、过滤器、通过相关参数进行流量控制,可通过‘man tc’命令查看tc的所有操作信息。

       注:限制接口应为连接client端接口。

         我们常用的是队列模块,命令格式如下:

       tc qdisc [ add | del | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc [ qdisc spe-cific parameters ]

       命令解说:

       #tc qdisc add dev eth0 root netem delay 1000ms         所有经过eth0的数据延迟1000ms

       #tc qdisc add dev eth0 root netem delay 1000ms 500ms          数据延迟范围在1000±500ms

       #tc qdisc add dev eth0 root netem delay loss 10%     丢包率为10%

       #tc qdisc add dev eth0 root netem delay loss 10% 5%           丢包率范围在10±5%

       # tc qdisc add dev eth0 root netem duplicate 10%           随机产生10%的重复包

       # tc qdisc add dev eth0 root netem corrupt 10%         随机产生10%的损坏包

       # tc qdisc add dev eth0 root netem delay 10ms reorder 25% 50%      25%的包(50%相关)立即传送,其他延迟10ms

         # tc qdisc              查看信息

       #以上命令可叠加使用