使用 IPv6 的 OpenVPN 丢弃数据包

使用 IPv6 的 OpenVPN 丢弃数据包

我正在使用 OpenVPN(从 tarball 构建)并拥有 /112 子网。我的服务器配置为使用 tun。IPv4 运行正常,但 IPv6 存在一些问题:

  • ping6 ipv6.google.com 没有回复。
  • 当我添加来自 OpenVPN 公布的 ip6 地址,然后将其删除时,它可以工作。

我的想法是:ICMP 正在离开服务器,但不会返回,因为分配给 vpn 客户端的地址未添加到任何接口中 - 服务器正在忽略传入的数据包。

我该如何改变这种行为?tcpdump 显示传出的数据包。我可以从客户端 ping openvpn 服务器。

答案1

正确的配置是将一个链接前缀分配给 VPN 服务器上的物理网络接口,并将不同的前缀路由到您从中为 VPN 软件使用的虚拟网络接口分配链接前缀的服务器。除非您有特殊原因要这样做,否则您应该将每个链接前缀设为 /64。路由可以是 /64 或更短。

在涉及的这三个前缀中,您只提到一个是 /112,但没有提到是哪一个。这让我觉得您可能试图将一个 /112 用于不同的目的,甚至没有意识到每个不同的目的是什么。

有一些技巧可以将链接前缀的一部分转变为路由前缀,但这些技巧会浪费路由器的容量,并且需要更好地理解所处理的协议,因此我建议使用真正的路由前缀。

如果您完全无法从当前提供商或通过切换到其他提供商获取路由前缀,则可以在物理和虚拟接口之间代理​​邻居发现。ndppd承诺能够做到这一点。我还没有测试过这个特定的工具,但是从以前的实验中我知道这是可以做到的。

相关内容