ip6tables 阻止传出+传入连接

ip6tables 阻止传出+传入连接

我刚刚换了一个 ipv6 的服务器,因此我更改了防火墙脚本。但是将 iptables 脚本更改为 ip6tables 似乎不起作用。这是 ipv6 部分,它既不允许 ipv6 上的传出流量也不允许传入流量(但应该允许所有传出流量,并且只允许 ssh、https);ipv4 运行良好:

#IPv6
# Setting default policies:
ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT ACCEPT

# Exceptions to default policy
ip6tables -I INPUT -i lo -j ACCEPT
ip6tables -A INPUT -p tcp —dport 22 -j ACCEPT       # SSH
ip6tables -A INPUT -p tcp —dport 443 -j ACCEPT      # HTTPS
ip6tables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT

谢谢!

解决方案:

iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT

ip6tables -A INPUT -p icmpv6 -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 -j ACCEPT
ip6tables -A FORWARD -p icmpv6 -j ACCEPT

根据这里的另一个答案http://www.ietf.org/rfc/rfc4890.txt

答案1

虽然端口 22 和 443 的规则似乎是双向的,但您没有允许传出的规则。您应该在外部接口上过滤 ICMP,并允许端口 53 上的 DNS 流量(UDP 和 TCP)。

我建议您使用支持 IPv6 的防火墙构建器。即使您希望对传出流量采取开放策略,您也可能希望阻止某些端口上的传出流量。好的防火墙构建器会有一些默认规则,帮助您开始使用合理的防火墙。

相关内容