0

我正在尝试在连接到接入点(与任何其他网络隔离)的运行 Windows 7 的两台机器之间运行测试。

我需要在连接到同一 AP 的 2 个网络接口 (WIFI) 之间拆分来自 Iperf3 等流量生成器的流量。我正在尝试使用 Dispatch Proxy 拆分流量。我已经在 localhost:1080 上使用 socks 代理进行了设置

所有设备都有固定 IP:

AP: 192.168.1.10

Device One: - Client
    NIC 1: 192.168.1.3
    NIC 2: 192.168.1.4

Device Two: - Server: 192.168.1.5

到目前为止,我已经设法让 iperf 生成从设备 1 到设备 2 的数据,但是流量并没有在两个 NIC 之间分配,它只通过一个发送。任何帮助或建议都会很有用。

谢谢桂

4

1 回答 1

0

我认为您必须启动两个 iperf 流并将它们绑定到输出 NIC。在 iperf 2 中,它将是:

  • iperf -c 192.168.1.5 -B 192.168.1.3
  • iperf -c 192.168.1.5 -B 192.168.1.4

但这可能还不够,因为-B 仅绑定数据包中的 src IP 地址,并不一定设置 src 输出设备(或 NIC)。要让运行 Linux 的计算机使用正确的 NIC,需要策略路由之类的东西. (不确定 Windows 7)

  • 从 192.168.1.3 表 101 添加 ip 规则
  • 从 192.168.1.4 表 102 添加 ip 规则
  • ip route replace 192.168.1.5/32 dev nic1 table 101
  • ip route replace 192.168.1.5/32 dev nic2 table 102
  • ip 路由刷新缓存
  • ip规则列表

此外,还需要考虑 arp,尤其是arp_filter 和 arp_ignore。

然后一些更高级别的代码需要支持两个 iperf 会话的总和。在iperf2 流目录中有一些更高级别的 python 代码的开始。此代码确实需要 ssh 才能工作,并假定ssh 无密码操作。

注意: ipv6 确实支持链接本地和设备绑定,例如:

  • iperf -c fe80::d03a:d127:75d2:4112%eno1

如果您可以使用 v6 并链接本地寻址,那将是一种更简单的方法。

鲍勃

于 2017-09-28T22:03:14.650 回答