I'm in the process of installing iptables onto an embedded Debian 8.7 armhf machine that does not have access to the internet. My method has been to manually find the .deb package files from the Debian archives, and then FTP those over to the Debian 8.7 machine and run dpkg.

After a bit of struggling, I was seemingly able to install the iptables .deb package and all of its dependencies. However, when I start trying to use iptables I get the following error:

modprobe: FATAL: Module ip_tables not found.
iptables v1.6.0: can't initialize iptables table `filter': Table does not exist (do you need insmod?)  

When running lsmod I can in fact see that the module ip_tables is not loaded or even installed on my machine (I can't find the .ko's anywhere on my machine).

So I'm curious - should the dpkg of iptables have installed the iptables kernel modules? Or does dpkg only handle the user space configuration? Note - I don't believe my kernel version would have iptables already compiled into it.


1 Answer 1


dpkg installs whatever is provided in the packages it’s given, and runs the maintainer scripts included in the packages.

In iptables’ case, the iptables command itself takes care of loading the relevant kernel modules. However the kernel modules need to be available — that’s usually taken care of by the kernel package, but on embedded systems it’s also fairly common to find custom kernels which might not have all the required modules, or where the modules need to be installed in some platform-specific way.

Depending on your exact system, you might be able to install the Debian kernel (linux-image-3.16.0-6-armhf); if you can boot with that, it will provide the iptables modules.

You must log in to answer this question.

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