Дублируются пакеты в Linux при использовании tcpdump, на сервере где установлен ntopng с модулем PF_RING.

При установке ntopng на Ubuntu Linux, так же устанавливает и загружает разрабатываемый ими модуль для захвата трафика pf_ring.
И вроде бы все работает нормально, казалось бы. Но заметил что tcpdump выдает дублирование пакетов для дампе трафика. Просто один и тот же пакет показывается дважды.
Мало того, ntopng тоже показывал двойную скорость.
Сетевые карты используются Intel I350 и I250. Они используют в Linux драйвер igb. И вот на этих картах (вроде бы, другие не проверял), при захвате через pf_ring, один и тот же пакет доставляется в userspace дважды.

Смотрим сетевухи на предмет поддержки pf_ring и драйвера igb:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# pf_ringcfg  --list-interfaces
Name: eno1                 Driver: igb        RSS:     4    [Supported by ZC]
Name: eno2                 Driver: igb        RSS:     8    [Supported by ZC]
Name: eno3                 Driver: igb        RSS:     8    [Supported by ZC]
Name: eno4                 Driver: igb        RSS:     8    [Supported by ZC]
Name: eno5                 Driver: igb        RSS:     8    [Supported by ZC]
Name: eno6                 Driver: igb        RSS:     8    [Supported by ZC]
Name: eno7                 Driver: igb        RSS:     8    [Supported by ZC]
Name: eno8                 Driver: igb        RSS:     8    [Supported by ZC]
Name: eno9                 Driver: igb        RSS:     8    [Supported by ZC]

ntopng по умолчанию собран на использование pf_ring, а вместе с ним поставляется и /usr/local/bin/tcpdump котрый собран с поддержкой pf_ring и в PATH ищется раньше стандартного /usr/bin/tcpdump.
Т.к. сетевухи у меня гигабитные, то и обычный libcap потянет c них сбор трафика, поэтому отключим модуль pf_ring и его сервис:

1
2
3
4
5
# systemctl stop ntopng
# rmmod pf_ring
# echo "install pf_ring /bin/false" > /etc/modprobe.d/pf_ring-blacklist.conf
# systemctl disable --now pf_ring
# systemctl start ntopng

ntopng запускается уже с libcap и на графиках скоростей, данные уже не дублируются, tcpdump тоже теперь без дублей пакетов.
ntopng в Community Edition поддерживает до 8 сетевых карт.
Мой Intel(R) Xeon(R) D-2123IT CPU @ 2.20GHz справляется, слушает 8 Гигабитных сетевух без 100% нагрузки.