Вот правила iptables для записи логов
$pfw -I INPUT -j counter_ex
$pfw -I OUTPUT -j counter_ex
$pfw -I counter_ex -p all -i eth1 -s 0/0 -j ULOG --ulog-prefix \
"world_input" --ulog-cprange 64 --ulog-qthreshold 20
$pfw -I counter_ex -p all -o eth1 -d 0/0 -j ULOG --ulog-prefix \
"control world_output" --ulog-cprange 64 --ulog-qthreshold 1
$pfw -I counter_ex -p all -i eth1 -s 0/0 -j RETURN
$pfw -I counter_ex -p all -o eth1 -d 0/0 -j RETURN
Вот описание таблицы ulog
CREATE TABLE ulog (
id INT UNSIGNED AUTO_INCREMENT UNIQUE,
raw_mac VARCHAR(80),
oob_time_sec INT UNSIGNED,
oob_time_usec INT UNSIGNED,
oob_prefix VARCHAR(32),
oob_in VARCHAR(32),
oob_out VARCHAR(32),
ip_saddr INT UNSIGNED,
ip_daddr INT UNSIGNED,
ip_protocol TINYINT UNSIGNED,
ip_totlen SMALLINT UNSIGNED,
tcp_sport SMALLINT UNSIGNED,
tcp_dport SMALLINT UNSIGNED,
udp_sport SMALLINT UNSIGNED,
udp_dport SMALLINT UNSIGNED,
icmp_type TINYINT UNSIGNED,
icmp_code TINYINT UNSIGNED,
KEY index_id (id)
);
В итоге запрос к таблице
select sum(ip_totlen)/1024 from ulog;
Показывает что траффик считается неправильно, подскажите кто сталкивался, в чем дело.