Linux 网络模拟工具
在Linux下, 通常使用netem或bridge来模拟网络不稳定情况。 在模拟过程中, 最好使用虚拟机。 如果是远程机器, 那么网络环境模拟需要两块网卡, 而桥模拟最好使用三块网卡。 就是需要附加一个网卡, 用作管理。netem是一个网络模拟器, 它为测试提供了一些互联网我, 如延时, 丢包, 重包, re-ordering. 在Linux2.6的发行版本中, 一般会带有此包。端
·
在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
更多推荐
已为社区贡献4条内容
所有评论(0)