Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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
[root@router ~]# iptables -A INPUT -j ACCEPT
iptables: No chain/target/match by that name.

How is that possible? I recompiled the kernel (3.11.8) and updated iptables to 1.4.16. The strage thing is that if I manually put the above rule in /etc/sysconfig/iptables and I issue the command /etc/init.d/iptables restart (I'm on CentOS 6.4) it works! It inserts the rule.

My lsmod | grep ipt:

iptable_mangle         12695  1 
ipt_MASQUERADE         12759  3 
iptable_nat            12810  1 
nf_nat_ipv4            13263  1 iptable_nat
nf_nat                 25997  3 ipt_MASQUERADE,iptable_nat,nf_nat_ipv4
nf_conntrack           95633  7 xt_state,ipt_MASQUERADE,iptable_nat,nf_nat_ipv4,nf_nat,nf_conntrack_ipv4,xt_conntrack
iptable_filter         12810  1 
ip_tables              27213  3 iptable_mangle,iptable_nat,iptable_filter

iptables -L output:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
share|improve this question
What's the output of iptables -L ? – Lawrence Nov 21 '13 at 1:07
Added to the question. – Francesco Zanini Nov 21 '13 at 16:57
up vote 0 down vote accepted

Found the problem. Basically I did a make uninstall of the iptables 1.4.16 version and compiled from source the 1.4.20 version (latest available now). Now it works perfectly.

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.