I want to set up our network security in iptables for a yocto system. Follow lines I will try to set:

iptables -N syn_flood
iptables -A INPUT -i eth0 -p tcp --syn -j syn_flood
iptables -A syn_flood -m limit --limit 3/s --limit-burst 5 -j RETURN
iptables -A syn_flood -j DROP

Follow result I get back:

iptables v1.8.4 (legacy): Couldn't load match `limit':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.

I take a look in /usr/lib/xtables. A library called libxt_limit.so is present.

Anyone have a suggestion what goes wrong here?

  • You probably have to recompile your kernel to add the missing feature.
    – A.B
    Commented Jul 5, 2022 at 16:33

1 Answer 1


How could fix the problem:

Before re-compile the Kernel follow options should be changed:

In the Kernel-Configuration (menuconfig) go to Networking Support -> Networking Options -> Network packet filtering framework (Netfilter) -> Core Netfilter Configuration. Here you can set different options like "limit" match support (for our problem).

The problem was that iptables didn't support "limit" or other iptable options with current Kernel. The failure message is not really clear.

  • 1
    What was the problem? What changes did you make to the configuration before re-compiling the kernel?
    – Kusalananda
    Commented Jul 20, 2022 at 6:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .