为什么我需要另一个 IPv6 块?

为什么我需要另一个 IPv6 块?

我试图理解 OpenVPN 手册中的以下陈述。

https://community.openvpn.net/openvpn/wiki/IPv6

在路由设置中,您无法使用链接网络;您必须使用唯一的路由网络范围,就像使用 IPv4 进行路由一样。

简而言之,这意味着要通过开放 VPN 运行 IPv6(不将其隐藏在 NAT 后面),您需要有两个 IPv6 /64 块。或者至少有一个块和一个完全独立的 IPv6 地址。

谁能解释这是为什么吗?


我正在努力解决这个问题,因为我有一台分配了 /64 块的服务器。从网络的角度来看,该块中的所有流量都必须发送到我的服务器(?)。在该服务器上,如果不是其自己的 IP,则所有到该块的流量都将通过 VPN 发送。从 VPN 客户端的角度来看,如果不是其自己的 IP,则所有到该块的流量都将通过 VPN 发送。

我不明白为什么将相同的 /64 块分配给两个接口会导致整个块分配给一台服务器的问题。

答案1

不能有两个使用相同地址空间的独立网络。如果您服务器的上行以太网端口有/64,那么OpenVPN接口不能有相同的端口,因为它是一个单独的网络。

从技术上讲,您的服务器也没有整个/64。它将在其以太网接口上配置一个或多个 /64 地址。它无法知道您的提供商已为其保留了整个 /64。还有一些提供商将多个客户置于共享的 /64 中。服务器无法知道。

因此,要正确执行此操作,您需要为 OpenVPN 网络提供单独的 /64,并且该 /64 必须通过您的服务器进行路由(注意“通过”,它不属于服务器,服务器仅路由流量为此,某些地址将属于 VPN 客户端)。这将需要您的提供商为您进行设置。他们将在其路由器和您的服务器之间的网络上配置 /64(这是您已有的 /64),并为将您的服务器作为下一跳(路由器)的另一个 /64 配置路由。

另一种解决方案是在第 2 层模式下配置 OpenVPN,并在服务器的以太网端口和 OpenVPN Tap 接口之间创建以太网桥。这样您就不会拥有两个单独的网络,每个网络都需要单独的 /64。您将拥有一个带有网桥的网络。一个网络只需要一个/64。您可以将现有网络桥接到您的 VPN 客户端。您必须决定这是否是您可能的解决方案。

答案2

第三种解决方案是使用 NDP 代理。

ip neigh 添加代理 fd00::1:1001 dev eth0 ip neigh 添加代理 fd00::1:1002 dev eth0 ...

我在家里的 dsl 连接中成功使用它来避免 DHCPv6-PD。

更多详细信息请点击此处(德语) http://www.thomas--schaefer.de/openvpn-fuer-altlasten.html

相关内容