генератор трафика iperf через 2 сетевых адаптера с использованием Dispatch Proxy

Я пытаюсь запустить тест между двумя машинами под управлением Windows 7, подключенными к точке доступа (изолированной от любой другой сети).

Мне нужно разделить трафик от генератора трафика, такого как Iperf3, между двумя сетевыми интерфейсами (WIFI), подключенными к одной и той же точке доступа. Я пытаюсь разделить трафик с помощью Dispatch Proxy. Я установил это с помощью прокси-сервера socks на локальном хосте: 1080.

Все устройства имеют фиксированные 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, однако трафик не распределяется между двумя сетевыми адаптерами, он отправляется только через один. Любая помощь или предложения будут полезны.

Спасибо, Гуй.


person Gui    schedule 26.09.2017    source источник


Ответы (1)


Я думаю, вам нужно запустить два потока iperf и привязать их к выходному сетевому адаптеру. В 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 связывает только IP-адрес src в пакете и не обязательно устанавливает выходное устройство src (или NIC.) Чтобы заставить компьютер под управлением Linux использовать правильный сетевой адаптер, что-то вроде политика маршрутизации. (Не уверен насчет Windows 7)

  • ip правило добавить из 192.168.1.3 таблица 101
  • ip правило добавить из 192.168.1.4 таблица 102
  • ip route заменить 192.168.1.5/32 dev nic1 таблица 101
  • ip route заменить 192.168.1.5/32 dev nic2 таблица 102
  • сброс кэша IP-маршрута
  • список IP-правил

Кроме того, необходимо учитывать arp, особенно arp_filter и arp_ignore.

Затем некоторый код более высокого уровня должен поддерживать суммирование двух сеансов iperf. В потоках iperf2 есть некоторые зачатки кода Python более высокого уровня каталог. Этот код требует ssh для работы и предполагает SSH без пароля операция.

Примечание. ipv6 поддерживает локальную ссылку и привязку устройства через что-то вроде:

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

Если вы можете использовать v6 и связать локальную адресацию, это будет более простой способ сделать это.

Боб

person rjmcmahon    schedule 28.09.2017