pfSense VPN 连接至 Debian,使用 NAT 实现 DMZ

pfSense VPN 连接至 Debian,使用 NAT 实现 DMZ

现在的情况

你好呀,

目前我正在运行以下系统:

  • 具有动态公共 IP 地址和 NAT 端口的 pfSense 防火墙/路由器,80可接入我的 DMZ 网络。它还为 . 配置了 dynDNS private-ip.example.com
  • 我的 DMZ 内部的一个为我的网站提供服务的网络服务器。
  • 云端的 Debian VPS,IP 为1.1.1.1。它运行 Nginx 作为反向代理,将进入端口的所有内容转发80到 private-ip.example.com。
  • example.com指向 的域1.1.1.1

有了这个系统,我可以在家里托管一切而不让任何人知道,因为他们只能看到 Debian VPS 和 IP 1.1.1.1。此外,如果有人决定example.com使用 DDOS 攻击,他们只会杀死 VPS,而我的其余私人网络将正常工作。

问题

该系统运行了各种类型的多台服务器(不仅是 Web 服务器,还有应用程序)已有一年多,没有出现任何重大问题,但这并不是我想要的。防火墙和 DMZ 内的所有东西只能看到来自的流量,1.1.1.1而对实际请求某些内容的客户端一无所知。此外,如果来自 DMZ 的服务器想要连接到互联网上的另一台服务器,它会使用 pfSense 路由器 IP,而不是1.1.1.1。我也不能使用 IPv6,因为我的 pfSense 没有从 ISP 获取 IPv6。

我在网上搜索解决方案,询问系统管理员(工作同事),但没有找到任何我想要的解决方案。


解决方案构想

我的想法是,从我的 pfSense 到 VPS 建立一个 VPN 连接,并将其设置为 DMZ 的网关。使用此解决方案,从 DMZ 发送的所有内容都将通过路由1.1.1.1,因此另一端将看到该 IP。

这只能解决一半的问题,所以我需要从 VPS 到我的 pfSense 的某种 NAT,这样从互联网传入 VPS 上的特定端口的所有内容都将被路由(通过 VPN)到我的 pfSense,它也会将请求 NAT 到 DMZ。

使用此解决方案,DMZ 内的服务器将看到客户端 IP,而客户端将看到来自的答案1.1.1.1

问题是,我不知道任何关键词,也不知道如何找到任何可以完成我所描述的事情的东西,所以我不知道应该用 Google 搜索什么。


问题

  • 是否有针对我的问题的解决方案的名称/关键字,以便我可以了解?
  • 有没有更好的系统可以完成类似的任务?
  • 哪种软件可以解决一个或多个问题?

感谢您阅读这篇文章,并提前感谢您的回复。:)

答案1

这只能解决一半的问题,所以我需要从 VPS 到我的 pfSense 的某种 NAT,这样从互联网传入 VPS 上的特定端口的所有内容都将被路由(通过 VPN)到我的 pfSense,它也会将请求 NAT 到 DMZ。

这只是常规类型的 NAT(DNAT),与您在 pfSense 上对端口 80 使用的相同。在 Linux 上,它可以通过 nftables 或 iptables 来实现。

不过,如果你没有NAT 到 pfSense,但直接到 DMZ Web 服务器。如果您控制所有跳数并可以配置正确的路由,则无需 NAT;即,一旦建立 pfSense↔Debian VPN,就可以通过 pfSense(通过 VPN)向 Debian VPS 传授到 DMZ 前缀的路由。(这没有特定的名称,它是标准 IP 路由。)

(您仍然需要一层 NAT,但仅位于边缘,即在 Debian 云 VPS 上。)

相关内容