用iptables模拟一个不好的TCP连接?

我想将机器A的某个端口上的TCP连接转发到机器B上的另一个端口(实际上与发起到机器A的连接相同),并模拟随机或确定的数据包丢弃。

我怎样才能做到这一点与iptables

男人是什么? 对, man iptables

统计

这个模块根据一些统计条件匹配数据包。 它支持使用–mode选项设置两种不同的模式。

要么

随机

该模块随机匹配所有数据包的一定比例。 – 平均百分比匹配给定的百分比。 如果省略,则设置50%的概率。

如果使用FreeBSD是一个选项,FreeBSD中的ipfw有一些很好的function来模拟不同types的连接。 它可能会增加延迟,丢包等。对于testing应用程序的广域网性能非常有用。

有商业产品也这样做。 我可以推荐Linktropy,我们广泛使用它来testing我们的内部应用程序。 mini2型号的成本只有几百美元,足以满足大部分的使用。 http://www.apposite-tech.com/products/mini2.html