为什么 iptables 不从 CentOS 上的 /etc/sysconfig/iptables 获取信息?

为什么 iptables 不从 CentOS 上的 /etc/sysconfig/iptables 获取信息?

我是 Linux 新手,在使用iptables.

/etc/sysconfig/iptables这是我的文件的内容:

# Generated by iptables-save v1.4.7 on Tue Nov 27 21:41:04 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [40672:2356787]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT
# Completed on Tue Nov 27 21:41:04 2012

但是当我尝试时sudo iptables -L -n -v -x,我有以下输出:

Chain INPUT (policy ACCEPT 261172 packets, 1040204290 bytes)
    pkts      bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 522761 packets, 2080465034 bytes)
    pkts      bytes target     prot opt in     out     source               destination  

为什么规则不/etc/sysconfig/iptables显示在输出中?

答案1

为什么 iptables 无法从/etc/sysconfig/iptables CentOS 上获取信息?

因为启动时没有启用iptables服务。

您可以使用以下方法进行检查:

chkconfig --list iptables

当 iptables 服务启动时,它会/etc/sysconfig/iptables使用以下命令加载规则:

iptables-restore /etc/sysconfig/iptables

因此检查 iptables 服务是否正在运行:

sudo /etc/init.d/iptables status

相关内容