Conntrack
module remembers recent connections for X seconds before they finally expire. This, in my understanding, is because iptables has several other modules that can utilize this information: for example, if you want to ban some IP address if it makes X new connections during some time frame.
netstat
, on the other hand, shows real-time information and is not interested about ancient history.
Have you increased maximum amount of entries in conntrack table? With a recent-ish kernel, what does
sysctl net.ipv4.netfilter.ip_conntrack_max
... or with some older kernel,
sysctl net.ipv4.ip_conntrack_max
return to you? You may raise that value permanently via /etc/sysctl.conf
or temporarily (until next reboot) via sysctl -w net.ipv4.ip_conntrack_max