如何使用 1:1 NAT 为 pfSense 盒子后面的机器分配公共 IP?

Jos*_*osh 7 nat pfsense

这应该非常简单,但对于我的生活,我无法让它工作。我一定是在做蠢事。

我有一个带有公共 IP 地址的 PFsense 服务器。后面是三个局域网段:

[ Internet ]  <---> [ pfSense]  
                        +----- 192.168.1.1/24 ---> (multiple servers)
                        +----- 192.168.2.1/24 ---> (multiple servers)
                        +----- 172.16.1.1/24 ---> (multiple machines)
Run Code Online (Sandbox Code Playgroud)

我有一个地址192.168.1.31位于 pfSense 服务器后面的新服务器,我想给它一个公共 IP。我以为我会用 1:1 NAT 来做到这一点,但无论我尝试过什么,它都不起作用。这是我所做的:

  1. 在 pfSense 中,我使用我想要的新公共 IP 向 WAN 接口添加了一个虚拟 IP。第一次,我使用了“IP 别名”类型。
  2. 我添加了一个 1:1 NAT 规则,将新的公共 IP 作为外部子网和192.168.1.31/32内部子网。
  3. 我在 WAN 接口上添加了防火墙规则,协议 TCP,目的地192.168.1.31/32,端口范围HTTP- HTTP。我对 4000 年代的另一个端口做了同样的事情,我想在那里运行 SSH。

完成上述所有操作后,我无法通过 HTTP 访问新 IP,也无法通过我选择的备用 SSH 端口通过 SSH 连接到新机器。

我将虚拟 IP 更改为“代理 ARP”,然后更改为“其他”,但这些都不起作用......

奇怪的是,我可以ssh到新的IP端口22,如果我上运行SSH服务器192.168.1.31:22。但是我无法到达任何其他端口。

我在这里做错了什么?

小智 5

如果您还没有查看过 wiki,那么这是一个很好的起点:

我很确定你第一次就做对了。您需要在面向公众的接口上设置 IP 别名。您为此别名选择的 IP 地址当然需要可合法路由(您的 ISP 应该为您提供一些可公开访问的 IP)。

您能否获得命令行访问权限并编辑您的帖子以包含整个 pf 规则(pfctl -s 规则)?