在我的 debian 5.0 服务器上,我设置了一些如下所示的 iptables 规则:
ACCEPT tcp -- eee.fff.ggg.hhh aaa.bbb.ccc.ddd tcp dpt:80
DROP tcp -- 0.0.0.0/0 aaa.bbb.ccc.ddd tcp dpt:80
aaa.bbb.ccc.ddd 是我的服务器的 IP 地址,eee.fff.ggg.hhh 是另一台服务器,是唯一允许访问该端口的服务器。我注意到我的服务器上设置了 inet6 addr,并且 netstat 显示 apache2 正在监听 tcp6 地址:
tcp6 0 0 :::80 :::* LISTEN
我是否需要为 ipv6 地址单独设置 iptables 规则?如果是,我该怎么做?我对 ipv6 一无所知。谢谢!我必须这样做吗?如果我不使用 ip6tables,有人会绕过 iptable 规则并通过 ipv6 地址连接到我的 :80 端口吗?
答案1
iptables 仅过滤 IPv4 流量。iptables 中设置的规则不会影响 ipv6 流量,因此您应该使用 ip6tables。至少您应该将表规则设置为默认丢弃。这样,只有您明确允许的流量才可用。
答案2
您想查看 ip6tables。 这里是一个很好的简短脚本,可以演示一些基础知识