ip6tables 允许来自 OpenVPN 的 IPv6 流量通过我的 VPS

ip6tables 允许来自 OpenVPN 的 IPv6 流量通过我的 VPS

我已经建立了一个完全可用的 IPv4 OpenVPN 设置,并想更进一步尝试设置 IPv6。我的 VPS 服务器没有本地 IPv6 块,但有 6in4 隧道接口设置,由 Hurricane Electric 提供。 VPS 盒子本身的 IPv6 连接一切正常。

使用 Hurricane Electric 提供的 /48,我创建了一个 /64 子网,OpenVPN 服务器实例可以毫无问题地使用该子网。

我设置了正确的 server-ipv6 和 Route-ipv6 指令,以通过我的 VPS 路由所有 IPv6 流量,就像对待 IPv4 客户端一样。执行跟踪路由后,它以服务器 ipv6 地址作为第一跳进行响应,显示 IPv6 网关现在是 VPS,但在第一跳之后一切都会超时。

问题是外部 IPv6 流量被阻止。我已确认其与防火墙相关,因为删除防火墙可以让跟踪路由完成。我正在使用启用了 IPv4 和 IPv6 部分的 ConfigServer 安全和防火墙。

我不是 iptables 专家,但我在 csfpre.sh 中尝试了这些规则,但没有成功。

ip6tables -A FORWARD -s ROUTED/64 -i tun+ -o sit1 -j ACCEPT
ip6tables -A FORWARD -s ROUTED/48 -i tun+ -o sit1 -j ACCEPT

ROUTED 占位符是我的 Hurricane Electric 隧道提供的子网。

我已经启用了 IPv6 转发:

net.ipv6.conf.all.forwarding = 1

VPS 详细信息:

  • CentOS 6.6(KVM虚拟化)
  • 2.6.32 Linux 内核
  • 防火墙:CSF(最新版本)

tun 接口已通过 ETH_DEVICE_SKIP 从 CSF 中排除

网络接口:

  • OpenVPN:tun0(路由)
  • IPv6 隧道:sit1(所有设置和工作)
  • WAN:eth0(网关、外部接口)

任何人都可以帮助提供 ip6tables 规则,以允许源自 OpenVPN 的 IPv6 流量流过吗?

答案1

我找到了一套有效的防火墙规则,我走在正确的轨道上,但他们需要稍微调整一下。

使用 SixXS 提供的示例防火墙作为指导:

https://www.sixxs.net/wiki/IPv6_Firewalling#A_more_sophisticated_script_for_IPv6_stateful_firewall

我能够制定这些有效的规则并允许 IPv6 流量通过。我将这些添加到我的 csfpre.sh 文件中

ip6tables -A FORWARD -m state --state NEW -i tun+ -o sit1 -s ROUTED/64 -j ACCEPT
ip6tables -A FORWARD -m state --state NEW -i tun+ -o sit1 -s ROUTED/48 -j ACCEPT
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

同样,ROUTED/64 和 ROUTED/48 是飓风电气提供的我的实际块的占位符

(tun+将覆盖服务器上的多个tun设备)

相关内容