如何让 OpenVPN 将 /56 IPv6 块拆分为每个客户端的 /64 子网?

如何让 OpenVPN 将 /56 IPv6 块拆分为每个客户端的 /64 子网?

例如,我希望 OpenVPN 占用,将其子网2001:0DB8:5912:1200::/56分配/64给客户端(以便它们可以在需要时充当 SLAAC 路由器)。

我应该怎么办?单独的 OpenVPN 是否足以实现此目的,或者我需要在 OpenVPN 不知情的情况下提供 IPv6 支持(即通过 IPv4 建立隧道)?

答案1

正确的方法是拥有两个 IP 地址范围:

  • OpenVPN 服务器和 OpenVPN 客户端之间互连的一个 (/64) 范围(假设为 2001:DB8:0:1::/64);

  • 您将把一个 (/56) 范围划分为 /64 前缀,并将其委托给客户端(假设为 2001:DB8:0:ff00::/56)。

对于给定的客户端,您可以使用此client-config-dir文件:

# This client has IPv6 2001:DB8:0:1::1
# and delegated prefix 2001:DB8:0:ff01::/64
ifconfig-ipv6-push say 2001:DB8:0:1::1/64 2001:DB8:0:1::
iroute-ipv6 2001:DB8:0:ff01::/64

笔记:

  • 您可能希望使用 /48 而不是 /56 来对委派前缀进行子网划分;

  • RFC3177推荐/48:

  • 通过按需或始终在线连接进行连接的家庭网络订户应收到 /48。
  • 小型和大型企业都应该收到 /48。

答案2

据我认为,你可以告诉 OpenVPN 分发 IPv6 地址,它应该会很高兴地做到这一点。然而,IPv6 数据包将无处可去,因为您不打算拥有真正的 IPv6 地址!

相关内容