[root@router ~]# iptables -A INPUT -j ACCEPT
iptables: No chain/target/match by that name.
这怎么可能?我重新编译了内核(3.11.8)并将 iptables 更新到 1.4.16。奇怪的是,如果我手动输入上述规则/etc/sysconfig/iptables
并发出命令/etc/init.d/iptables restart
(我在 CentOS 6.4 上),它就会起作用!它会插入规则。
我的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
输出:
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
答案1
找到问题了。基本上,我做了一个make uninstall
iptables 1.4.16 版本,并从源代码编译了 1.4.20 版本(目前可用的最新版本)。现在它运行正常。