Дублируются пакеты в Linux при использовании tcpdump, на сервере где установлен ntopng с модулем PF_RING.
При установке ntopng на Ubuntu Linux, так же устанавливает и загружает разрабатываемый ими модуль для захвата трафика pf_ring.
И вроде бы все работает нормально, казалось бы. Но заметил что tcpdump выдает дублирование пакетов для дампе трафика. Просто один и тот же пакет показывается дважды.
Мало того, ntopng тоже показывал двойную скорость.
Сетевые карты используются Intel I350 и I250. Они используют в Linux драйвер igb. И вот на этих картах (вроде бы, другие не проверял), при захвате через pf_ring, один и тот же пакет доставляется в userspace дважды.
Смотрим сетевухи на предмет поддержки pf_ring и драйвера igb:
| |
ntopng по умолчанию собран на использование pf_ring, а вместе с ним поставляется и /usr/local/bin/tcpdump котрый собран с поддержкой pf_ring и в PATH ищется раньше стандартного /usr/bin/tcpdump.
Т.к. сетевухи у меня гигабитные, то и обычный libcap потянет c них сбор трафика, поэтому отключим модуль pf_ring и его сервис:
ntopng запускается уже с libcap и на графиках скоростей, данные уже не дублируются, tcpdump тоже теперь без дублей пакетов.
ntopng в Community Edition поддерживает до 8 сетевых карт.
Мой Intel(R) Xeon(R) D-2123IT CPU @ 2.20GHz справляется, слушает 8 Гигабитных сетевух без 100% нагрузки.