iptables 应该这么长吗?有多少链?

iptables 应该这么长吗?有多少链?

好的,这是 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 中默认使用。

通常有两种可能性:

  1. 你可以禁用/屏蔽firewalld,并手动创建iptables规则,就像在其他发行版/旧版RHEL中一样
  2. 你可以与firewalld交朋友,而不是使用iptables规则——使用firewalld。对于控制防火墙——你有firewall-cmd命令。当你调用时,你拥有的当前规则列表

    防火墙命令--列出所有区域

更多信息 - 您可以在网页上查看http://fedoraproject.org/wiki/FirewallD

相关内容