OpenVPN 配置在 NAT 后面发布内部服务

OpenVPN 配置在 NAT 后面发布内部服务

如何在 NAT 防火墙(带有动态防火墙的路由器)后面发布 2 个内部 IP?

我有 2 个外部 IP,99.52.156.5 和 46.113.5.88,我将在外部 IP 上的端口 443(位于我的家庭网络、NAT、动态 IP 后面)上发布两个单独的内部服务。

我的意见是,我应该在 Linux 机器上设置一个 OpenVPN 服务器,并分配 2 个 IP(99.52.156.5、46.113.5.88)。
我还必须设置本地 OpenVPN 客户端 Linux 机器。该客户端应连接到远程 OpenVPN 服务器。
然后,来自 2 个 IP(99.52.156.5、46.113.5.88)的所有流量都应通过 VPN 隧道路由。

  • 我的本地网络是 10.0.0.0/8 网络
  • NAT 路由器的 IP 为 10.254.254.254
  • 本地 OpenVPN 客户端的 IP 为 10.200.100.50
  • 应响应外部 IP 99.52.156.5 的本地服务 1 的 IP 为 10.200.100.80
  • 应响应外部 IP 46.113.5.88 的本地服务 2 的 IP 为 10.200.100.90

有人能给我展示一个有效的 OpenVPN 配置吗?抱歉,我不是管理员……我只是一名开发人员。

非常感谢!

答案1

这并不容易,可能需要很好的网络知识才能建立。

第一步是 VPN 本身。这应该是比较简单的部分,但在继续下一步之前,请先让它运行起来。

接下来是设置一些 IP 路由。VPN 服务器需要有一条路由,以便通过 VPN 将数据包发送到您的内部服务器。

然后确保远程服务器上启用了 IP 转发,并添加一些 DNAT 规则以更改数据包上的目标地址以指向内部服务器。

最后,您需要从内部服务器获取回复才能返回 VPN。最简单的方法是在 VPN 服务器和客户端上添加 MASQURADE 规则,以便流量看起来来自链中的前一个框。缺点是您会丢失流量的原始源 IP。还有其他解决方案,但它们可能更难设置。

相关内容