如果我只是使用 iptables,是否还需要为 ipv6 设置另一个 iptables 规则?

use*_*779 25 iptables

假设我在带有 iptables 的 linux 服务器上设置了防火墙,以便我只接受端口 22 和端口 80 流量,并阻止对所有其他端口的访问。

这些规则仅在客户端计算机使用 IPv4 地址时才有效吗?那么如果使用 ipv6 地址,客户端可以访问我不希望他们访问的端口吗?(即端口 22 和端口 80 以外的端口)

Tho*_*ard 24

iptables适用于 IPv4,但不适用于 IPv6。 ip6tables是等效的 IPv6 防火墙,并随iptables.

但是,最终iptables是针对 IPv4 连接,ip6tables针对 IPv6 连接。如果您希望您的iptables规则也适用于 IPv6,您也必须将它们添加到ip6tables


如果您尝试iptables在 中复制您的规则集ip6tables,并非所有iptables可以执行的规则都会整齐地移植到 中ip6tables,但其中大多数会。

如果您想确保您在遗嘱中使用的命令整齐地移植,请参阅联机帮助页ip6tablesiptables


如果您愿意,我们可以帮助您创建等效的ip6tables规则集以匹配您的iptables规则,前提是您提供防火墙规则列表(删除可以识别 coruse 系统的任何信息)。否则,我们只能回答您的一般问题。

  • 那这样岂不是很可笑?澄清一下,现在我服务器上的所有端口都对使用 IPv6 地址连接的任何人开放? (14认同)
  • @ user230779 我同意这是“荒谬的”,但这就是为什么存在 `ufw` 和其他防火墙管理器的原因,他们相应地将规则本身添加到两者中。不过,这里的问题不是“任何拥有 IPv6 的人都可以看到我的网站吗?” 更大的问题是您的系统是否有 IPv6 地址。大多数连接都有来自像我这样的客户端计算机的 IPv4 和 IPv6。但是,如果远程服务器没有面向公众的 IPv6,则连接 IPv4。不过,据我所知,如果你有 IPv6,你也应该将规则添加到 `ip6tables` 中。 (3认同)