Pablo Neira Ayuso has made a panorama of Netfilter changes since last workshop.
On user side, the first main change to be published after last workshop, is libnetfilter_cttimeout. It allows you to define different timeout policies and to apply them to connections by using the CT target.
An other important new “feature” is a possibility to disable to automatic helper assignment. More information on Secure use of iptables and connection tracking helpers.
The ‘fail-open’ option of Netfilter allow to change the default behavior of kernel when packet are queued. When the maximum length of a queue is reached, the kernel is dropping by default all incoming packets. For some software, this is not the desired behavior. The ‘fail-open’ socket option allow you to change this and to have the kernel accept the packets if they can not be queued.
An other interesting feature is userspace cthelper. It is now possible to implement a connection tracking helper in userspace.
nfnetlink_queue has now CT support. This means it is possible to queue a packet with the conntrack information attached to it.
IPv6 NAT has been added by Patrick McHardy.
In october 2012, the old QUEUE target has been removed. A switch to NFQUEUE is now required.
connlabel has been added to kernel to provide more category than what was possible by using connmark.
A new bpf match has been committed but the final part in iptables part is missing.
Logging has been improved in helpers. They can reject packets and the user did not have the packet data and can not understand the reason of the drop. The nf_log_packet infrastructure can now be used to log the reason of the drop (with the packet). This should help user to understand the reason of the drops.