仅具有 IPv4 访问权限的客户端的 IPv6 和 IPv4 over RRAS SSTP VPN

仅具有 IPv4 访问权限的客户端的 IPv6 和 IPv4 over RRAS SSTP VPN

我正在将 Server 2012 R2 RRAS 设置为 SSTP VPN。我的 IPv4 运行正常。我的环境是双栈 (v4 和 v6)。当我在 VPN 上启用 IPv6 时,我的客户端会获得一个有效地址,但无法使用 IPv6 通过 VPN 与任何设备通信。如果我 ping 计算机名称,它会获得 ipv6 地址,但会超时;如果我使用 -4 ping 它,它会获得 v4 地址,并且 ping 完全正常。我已经为此苦思冥想了好几天,但我尝试过的方法或任何网络搜索都没有为我指明解决方案。我开始怀疑 VPN 是否需要打开另一个端口供 IPv6 通过隧道?

我在 RRAS 的常规选项卡上启用了 IPv6 路由器(LAN 和请求拨号)和 IPv6 删除访问服务器选项,并在 IPv6 选项卡上指定了前缀。我尝试将前缀作为其自己的私有前缀,并使用与网络上使用的前缀相同的前缀。

其他人有这个功能吗?我觉得这可能是我遗漏了的一个小细节。或者它不会通过 ipv4 vpn 发送 ipv6 流量,而您需要在同时具有 ipv4 和 ipv6 的客户端计算机上才能使 ipv6 通过 vpn 工作?

答案1

我想为不使用 pfSense 但使用基于 Linux 的路由器(在我的情况下是 DD-WRT)的用户提供更通用的 Linux 路由器场景。

ip -6 route add xxxx:xxx:xxxx:xxxx::/64 via xxxx:xxx:xxxx:xx::x dev br0
  • RRAS IPv6 选项卡中配置的 IPv6 前缀需要在添加后添加
  • RRAS 盒的 IPv6 LAN IP 地址是通过(本质上是网关)
  • br0是路由器的 LAN 接口。这通常是 DD-WRT 上的默认设置,对于其他路由器,可能是其他接口,例如eth0

我发现的唯一问题是,虽然此静态路由允许 IPv6 流量流向外部,但它不提供对服务器 LAN IP 地址的 IPv6 子网内其他 LAN IPv6 地址的访问。可能是因为子网是不同的 /64。要解决这个问题,您需要在 RRAS 盒本身上添加 IPv6 静态路由以允许此连接。

答案2

事实证明这是一件小事,需要以完全不同的方式看待问题才能解决。

问题不在于 RRAS,而在于我的路由器软件设置(在本例中为 pfSense)。当在 VPN 连接的客户端上时,我获得了 IPv6 地址,并且名称解析正在运行,但 IPv6 上没有任何响应。问题是我的 v6 数据包可以正常进入我的网络,但本地机器没有任何关于如何返回 VPN 连接机器的路由信息​​。我必须在路由器中为 RRAS 中使用的前缀设置静态路由,以将网络上的该前缀路由回 RRAS 框。现在,当内部框尝试回复时,它会看到不同的前缀并将其发送到我的路由器,然后我的路由器会将其转发到 RRAS,然后 RRAS 会将其发送到 VPN 连接的客户端。

确实花了很长时间才找到它但它终于起作用了。

相关内容