Requirements for nft nat pre/postrouting chains?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I was reported that on our custom kernel some script didn't work with
iptables-nft (default in debian for a while), and after investigating it
looks like the nat rules for postrouting and prerouting are just not
considered.

I've boiled down the reproducer to this:

---
nft add table ip test
nft chain ip test test '{ type nat hook prerouting priority -100; policy accept; }'
nft add rule ip test test log prefix "test-pre-" counter packets 0 bytes 0

# at this point do some network activity;
# since there is no match specified new connections should trigger
# the log and increment counters for the rule
nft list table test

# (and cleanup)
nft delete table test
---


But while this works on my laptop, I can't get this to work in a minimal
kernel, the rule stays stuck at zero:
---
table ip test {
        chain test {
                type nat hook prerouting priority dstnat; policy accept;
                log prefix "test-pre-" counter packets 0 bytes 0
        }
}
---


I've made everything a module and aligned loaded modules from standard
debian to that VM to no avail, also tried naming the table 'nat' and
chain 'PREROUTING' in case names are special (which would surprise me
but you never know) with no difference either...

(I've also seen on the internet that for older kernels iptable_nat is
incompatible with nft nat chains and tried taking it out, but that
shouldn't be relevant anymore)


I'm starting to think it's just some silly setting somewhere and the way
I'm testing it is wrong, but I'm out of ideas.


Am I missing something obvious?


Thanks!
-- 
Dominique Martinet



[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux