我是 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