Есть схемка INET -- [(em0)FreeBSD6.2(ng_ipacct)(bge0)] -- [(eth2)Linux (2.2.16, tcpdump)eth1] -- local area
Соответственно есть считалки как на фре, так и на линуксе.
Есть маленькая тонкость: на линуксе некоторые подсетки локальной сети закрыты методом
ip rule unreachable
результат: есть расхождения в собранном трафике и в основном как раз на объем трафика "недоступных" сетей. Причем на линуксе насчитывается БОЛЬШЕ.
Как такое может быть? Пакет благополучно прошел фрю, появился на входе линукса как минимум в виде ethernet кадра (tcpdump -qnle ), но при этом никак не посчитался на фряхе.
Конфиг ng_ipacct из примера, первый.
# +-------------------------------+
# | |
# (upper) (left2right)-----------(xl0_in)
# | | | |
# xl0 +--(left)-xl0_tee-(right) xl0_ip_acct
# | | | |
# (lower) | (right2left)-----------(xl0_out)
# | |
# +----------+
#
# xl0 - ng_ether
# xl0_tee - ng_tee
# xl0_ip_acct - ng_ipacct
ng_ipacct_em0_dlt="EN10MB" # required line; see ipacctctl(8)
ng_ipacct_em0_threshold="150000" # '5000' by default
ng_ipacct_em0_verbose="yes" # 'yes' by default
ng_ipacct_em0_saveuid="no" # 'no' by default
ng_ipacct_em0_savetime="yes" # 'no' by default
ng_ipacct_em0_start=${ng_ipacct_default_ether_start}
ng_ipacct_em0_stop=${ng_ipacct_default_ether_stop}