OpenVPN 站点到站点设置:客户端 LAN 到服务器 LAN 成功,但服务器到客户端失败

OpenVPN 站点到站点设置:客户端 LAN 到服务器 LAN 成功,但服务器到客户端失败

网络设置:

AWS 子网

  • 10.0.0.0/24

  • 10.0.1.0/24

  • 10.0.254.0/24

家庭子网:10.62.5.0/24

OpenVPN子网:10.8.0.0/24

在 AWS 上,有一个在 Windows 2016 上以 10.0.254.234 运行的 OpenVPN 服务器。

在家里:

  • 在 Windows 2016 上,有一个以客户端模式在 10.62.5.147 上运行的 OpenVPN。
  • 我的 Mac 位于 10.62.5.114
  • 我的 LinkSys 路由器的地址是 10.62.5.1

所以基本上我在这里构建的就是 OpenVPN 在文档中所指的“站点到站点”VPN。

已在所有适当的位置输入路由,一切运行良好。例如,我可以从我的 Mac 成功连接到我在 AWS 的任何服务器。例如,我经常从我的 Mac 使用网站 10.0.0.95:443。所有 Home=>AWS 连接均正常运行,这让我相信所有路由均已正确设置。

所以有什么问题?

问题是我无法从 AWS 主机连接到 Home 主机。示例:

  • 10.0.0.95 => 10.62.5.114(服务器至 Mac@home):失败
  • 10.0.0.95 => 10.62.5.147 (服务器至 OpenVPN@home):失败
  • 10.0.254.234 => 10.62.5.114(OpenVPN@AWS 到 Mac@home):成功!
  • 10.0.254.234 => 10.62.5.147(OpenVPN@AWS 到 OpenVPN@home):成功!

所以我最终得出的结论是,AWS 上的 OpenVPN 服务器似乎能够连接到家庭网络上的任何设备,大概使用 10.8.0.1 作为源地址。但 AWS 上的任何其他主机 (10.0.0.0/16) 都无法访问家庭网络。

再次反转连接方向,一切正常。家庭主机可以毫无问题地连接到任何 AWS 主机。

这让我认为问题与路由无关。也许 Home 主机或 AWS 上的某个防火墙阻止了 AWS->Home 连接。为此,我尝试了:

(1)确保 AWS 主机的网络规则允许“所有流量”出站——这是默认设置。

(2)彻底禁用OpenVPN@home机器上的防火墙。

(3)确保 Mac 上没有运行防火墙。我不记得自己曾经安装过防火墙。

我对这个问题感到困惑。我下一步该调查什么?

更新:

故障情况现已解决。我现在可以成功从 AWS 主机连接到 Home 主机:

  • 10.0.0.95 => 10.62.5.114(服务器到 Mac@home):现在成功!
  • 10.0.0.95 => 10.62.5.147(服务器到 OpenVPN@home):现在成功!

我的问题的性质现在已经从寻找解决方案转变为理解为什么该解决方案有效。

解决方案:

我为主机 10.0.254.234 (OpenVPN@AWS) 添加了一条 AWS 安全规则,允许来自 10.0.0.0/16 的所有流量的入站连接。

这让我很困惑。OpenVPN 服务器只是被用作路由器。为什么我需要一条安全规则来向所有入站连接开放此服务器对自己为了建立从 AWS 主机到 Home 主机的连接?

相关内容