Запуск tcpreplay с помощью docker и boot2docker

Я работаю над регистратором сетевых потоков и хочу настроить автоматическое тестирование производительности. Я хочу взять мой тестовый pcap и воспроизвести его в моей программе из образа докера, работающего под boot2docker. Сетевая сторона этого ставит меня в тупик.

Я могу получить доступ к своему рабочему столу (машине, на которой размещен boot2docker vm) из образа докера, работающего под boot2docker (кажется, все scp/ssh/netcat работают должным образом). Однако когда я запускаю tcpreplay на моем pcap из образа докера, я никогда не вижу трафик на своем рабочем столе.

Что я пробовал:

  • переписать srcip в pcap, чтобы он был srcip хоста докера
  • tcpdump пропускается через netcat (netflow - это UDP, так что я не особо беспокоюсь о настройке соединения) Трафик делает это, но моя программа получает некоторые исключения и умирает. Меня это не удивляет, но это указывает на то, что я могу получить трафик из докера vm в мою программу.
  • Я могу успешно воспроизвести pcap в моей программе из обычного Debian VM.

Любые идеи о том, что мне нужно сделать, чтобы tcpreplay отправил мой pcap на мой рабочий стол?

1 ответ

Решение

Попробуйте изменить MAC-адрес назначения на docker0, который является виртуальной машиной по умолчанию. Это работает для меня.

Другие вопросы по тегам