Dummynet与流量不匹配

时间:2015-06-09 11:47:37

标签: linux networking ipfw dummynet

我有两台机器,如下所示:

To internet<---->PC_A<----->PC_B

PC_A有两个接口(一个连接到互联网,另一个连接到PC_B)。 PC_B必须通过PC_A连接到Internet。我在PC_A上运行Dummynet。 PC_A在面向互联网的接口上具有IP 192.168.1.1,在面向PC_B的接口上具有IP 10.42.0.1。 PC_B bas 10.42.0.2在其接口上配置。

我在Dummynet中有两个管道配置如下:

ipfw add pipe 1 ip from 192.168.1.1 to any
ipfw add pipe 2 ip from any to 192.168.1.1
ipfw pipe 1 config bw 5000Kb/s
ipfw pipe 2 config bw 5000Kb/s

如果我在两台机器(比如speedtest.net)上运行带宽测试,PC_A的带宽正是我在Dummynet中指定的,而PC_B则获得无限带宽。我不明白这是怎么可能的,因为PC_B的数据包必须通过它的网关,它将遵守Dummynet的规则。

有人可以指点我的建议。

感谢。

1 个答案:

答案 0 :(得分:0)

PC_A是配置为NAT还是这台机器只是转发数据包?如果前者没有到位,则您的IPFW规则将不会捕获从PC_B的10.42.0.2接口传递的数据包。如果还没有完成,我建议在PC_A上的192.168.1.1接口上使用tcpdump来查看离开本地网络的数据包的源地址。

详细说明,你为pipe1和pipe2设置的IPFW规则只匹配源地址和目的地地址分别为192.168.1.1的数据包......

根据您的网络拓扑和路由配置,您可以通过在IPFW规则中使用输入/输出过滤器来实现无NAT的功能......

ipfw add pipe 1 ip from any to any in via em0
ipfw add pipe 2 ip from any to any out via em0

...但是如果没有正确配置NAT,我不确定返回流量将如何设法遍历到源计算机。