Назад | Перейти на главную страницу

Почему числа в ip_conntrack_count и conntrack -L различаются

Заметил сегодня на нашем роутере следующее:

user@router:~$ cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count 
28141

Тем не мение:

user@router:~$ sudo conntrack -L > /dev/null 
conntrack v1.2.1 (conntrack-tools): 4652 flow entries have been shown.

user@router:~$ sudo conntrack -L expect > /dev/null 
conntrack v1.2.1 (conntrack-tools): 1 expectations have been shown.

Насколько я понимаю, ip_conntrack_count показывает количество записей в таблице conntrack. Что мне не хватает?

Ответ в том, что conntrack по умолчанию перечисляет только подключения IPv4. Если я сделаю

user@router:~$ sudo conntrack -L -f ipv6 > /dev/null 
conntrack v1.2.1 (conntrack-tools): 23864 flow entries have been shown.

user@router:~$ sudo conntrack -L  > /dev/null 
conntrack v1.2.1 (conntrack-tools): 6713 flow entries have been shown.

тогда сумма двух результатов в сумме дает число в /proc/sys/net/ipv4/netfilter/ip_conntrack_count.

Путь к этой записи процесса на самом деле вводит в заблуждение, так как счетчик относится как к IPv4, так и к IPv6.