All of lore.kernel.org
 help / color / mirror / Atom feed
* NFULNL_CFG_F_CONNTRACK and IPv6
@ 2021-01-12 16:14 Rafael David Tinoco
  2021-01-12 16:57 ` Florian Westphal
  0 siblings, 1 reply; 13+ messages in thread
From: Rafael David Tinoco @ 2021-01-12 16:14 UTC (permalink / raw)
  To: netfilter; +Cc: Ken-ichirou MATSUZAWA, Pablo Neira Ayuso

Hello list, Ken-ichirou and Pablo,

I'm developing github.com/rafaeldtinoco/conntracker and, during my tests, I 
realized that the feature:

NFULNL_CFG_F_CONNTRACK

does not seem to be giving me conntrack feature for IPv6 (as it does with 
IPv4).I have checked xtables-monitor code and IPv6 tracing seems to be
working when using libnftnl.. but I want to maintain compatibility to old
distros when nf-tables is not available/used.

bug: https://github.com/rafaeldtinoco/conntracker/issues/1

TL;DR version is:

I have a conntrack NEW,ESTABLISHED rule for everything in raw (so all the flows 
are accounted). To each identified flow, listened through libnetfilter-
conntrack, I add a rule to trace its events.

I map conntrack <-> trace relation through NFULNL_CFG_F_CONNTRACK feature, this 
way I know exactly through which rules that flow passed.

Example:

 UDPv4 [  2] src = 10.250.91.1 (port=1024) to dst = 10.250.91.255 (port=57621)
	table: raw, chain: PREROUTING, type: rule, position: 1
        table: nat, chain: OUTPUT, type: policy, position: 1
        table: nat, chain: POSTROUTING, type: policy, position: 2
        table: filter, chain: INPUT, type: policy, position: 1
        table: filter, chain: OUTPUT, type: policy, position: 1

Unfortunately with:

nflog_nlmsg_parse(nlh, attrs), my attrs[NFULA_CT] is always NULL for IPv6:

 TCPv6 [  0] src = fe80::1453:5dff:fe1a:ca68 (port=1024) to dst = fe80::216:3eff:fe7f:aedd (port=22) (confirmed)
ICMPv6 [  0] src = fe80::1453:5dff:fe1a:ca68 to dst = fe80::216:3eff:fe7f:aedd (type=0 | code=0) (confirmed)
ICMPv6 [  1] src = fe80::1453:5dff:fe1a:ca68 to dst = fe80::3c76:fdff:fea2:82b4 (type=0 | code=0)

This can also be observed with:

libnetfilter-log/utils/nf-log.c code (if BUILD_NFCT)

which I used as a base for this part of the code.

Is there a reason why IPv6 conntrack info is not being sent through netlink ?

Thanks in advance!

-rafaeldtinoco

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-01-13 21:07 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-12 16:14 NFULNL_CFG_F_CONNTRACK and IPv6 Rafael David Tinoco
2021-01-12 16:57 ` Florian Westphal
2021-01-12 17:30   ` Rafael David Tinoco
2021-01-12 17:41     ` Florian Westphal
2021-01-12 18:01       ` Rafael David Tinoco
2021-01-12 18:17         ` Rafael David Tinoco
2021-01-12 18:36         ` Florian Westphal
2021-01-12 18:54           ` Rafael David Tinoco
2021-01-12 19:26             ` Florian Westphal
2021-01-12 21:33               ` Rafael David Tinoco
2021-01-13 13:25                 ` Rafael David Tinoco
2021-01-13 17:50                   ` Pablo Neira Ayuso
2021-01-13 21:07                     ` Rafael David Tinoco

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.