好的,这是 CentOs 7(最小)的全新安装。
这是 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
Chain FORWARD_IN_ZONES (0 references)
target prot opt source destination
Chain FORWARD_IN_ZONES_SOURCE (0 references)
target prot opt source destination
Chain FORWARD_OUT_ZONES (0 references)
target prot opt source destination
Chain FORWARD_OUT_ZONES_SOURCE (0 references)
target prot opt source destination
Chain FORWARD_direct (0 references)
target prot opt source destination
Chain FWDI_public (0 references)
target prot opt source destination
Chain FWDI_public_allow (0 references)
target prot opt source destination
Chain FWDI_public_deny (0 references)
target prot opt source destination
Chain FWDI_public_log (0 references)
target prot opt source destination
Chain FWDO_public (0 references)
target prot opt source destination
Chain FWDO_public_allow (0 references)
target prot opt source destination
Chain FWDO_public_deny (0 references)
target prot opt source destination
Chain FWDO_public_log (0 references)
target prot opt source destination
Chain INPUT_ZONES (0 references)
target prot opt source destination
Chain INPUT_ZONES_SOURCE (0 references)
target prot opt source destination
Chain INPUT_direct (0 references)
target prot opt source destination
Chain IN_public (0 references)
target prot opt source destination
Chain IN_public_allow (0 references)
target prot opt source destination
Chain IN_public_deny (0 references)
target prot opt source destination
Chain IN_public_log (0 references)
target prot opt source destination
Chain OUTPUT_direct (0 references)
target prot opt source destination
我的印象是应该只存在一个 INPUT、FORWARD 和 OUTPUT 链(至少我的 CentOs 6 盒子上是这样的)。
我怎样才能删除其他所有内容?
答案1
有少量默认链是 netfilter 核心的一部分:INPUT、FORWARD 和 OUTPUT,但您或通常您的工具可以自由创建其他链来构建您的防火墙配置。
您看到的是新的,没有错误,是防火墙配置工具的结果firewalld
(其他工具如岸墙也可能创建任意数量的附加链)。
在没有理解创建这些附加链的原因的情况下删除它们可能是徒劳的,或者可能会破坏现在或将来的事物。使用 RHEL/CentOS 7,你应该使用以下方式管理防火墙firewall-cmd
而不再需要手动编辑/etc/sysconfig/iptables
。
尽管您很沮丧,但仍然可以恢复到 Enterprise Linux 6 及更早版本的防火墙配置管理方式,并使用 iptables 和 ip6tables 服务而不是 firewalld。
首先以 root 身份运行以下命令来禁用firewalld:
systemctl disable firewalld
systemctl stop firewalld
然后以 root 身份输入以下命令来安装 iptables-services 包:
yum install iptables-services
但要回答你眼前的问题:管理连锁店是有据可查:
创建新链:使用-N
或--new-chain
选项:
iptables -N test
删除链:删除链也很简单,使用-X
或--delete-chain
选项即可。为什么-X
?因为所有好字母都被占用了。
iptables -X test
删除链有几个限制:它们必须是空的(请参阅下面的刷新链),并且它们不能是任何规则的目标。您不能删除三个内置链中的任何一个。
冲洗链条:有一个简单的方法可以清空链中的所有规则,即使用-F
(或--flush
)命令。
iptables -F test
答案2
这里您已经链接了 INPUT/OUTPUT/FORWARD :-)
Rest-在 RHEL7/CentOS7 Firewalld 中默认使用。
通常有两种可能性:
- 你可以禁用/屏蔽firewalld,并手动创建iptables规则,就像在其他发行版/旧版RHEL中一样
你可以与firewalld交朋友,而不是使用iptables规则——使用firewalld。对于控制防火墙——你有firewall-cmd命令。当你调用时,你拥有的当前规则列表
防火墙命令--列出所有区域
更多信息 - 您可以在网页上查看http://fedoraproject.org/wiki/FirewallD