Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have been trying to set up iptables on my archlinux server, however when I run iptables -nvL I receive the error

iptables v1.4.20: can't initialize iptables table 'filter': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded.

Having tried to load the modules and failing I checked to see if they were installed using modinfo and they could not be found. I was trying to run these modules x_tables, ip_tables, ip_filter, iptable_filter, xt_tcpudp, nf_conntrack, xt_state, nf_conntrack_ipv4 Does anybody know how to solve this problem?

EDIT: Having done some more research on the problem I think I may need to install the necessary modules manually. Is this something which is possible over ssh? I am not sure how to go about rebuilding the kernel.

share|improve this question
You need to run that as user root. Also you are better off running iptables-save – val0x00ff Dec 6 '13 at 11:11
All commands were run as root. – stmfunk Dec 6 '13 at 11:16
Paste the contents of /proc/net/ip_tables_names and strace iptables -nvL so we can help ;) – nwildner Dec 6 '13 at 17:32
up vote 0 down vote accepted

As I run a custom kernel, I do not know if the module needed for the filter table is included in the stock arch kernel. But perhaps you do not even need exactly this table. On my system, I normally just use the nat table.

Pass the parameter -t to all iptables invocations to select a given table, for example trying iptables -nvLt nat

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.