我今天在我们的路由器上注意到了以下情况:
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 表的条目数。我遗漏了什么?
答案1
答案是,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
。
这个 proc 条目的路径名实际上非常具有误导性,因为计数针对的是 IPv4 和 IPv6。