Запуск 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, который является виртуальной машиной по умолчанию. Это работает для меня.