在 OS X El Capitan 中使用 pfctl 打开端口 - 允许来自 Internet 的传入连接

在 OS X El Capitan 中使用 pfctl 打开端口 - 允许来自 Internet 的传入连接

我正在为我的 Mac Mini 所做的某种配置而苦恼。我已将我的机器设置在网络的 DMZ 上,因此对我的公共 IP 的任何请求都将在此机器上结束。

问题是,如果启用了防火墙,我无法从互联网上获取任何东西,我尝试使用 PFCTL 进行以下配置:

rdr pass on lo0 inet proto tcp from any to any port = 8080 -> 127.0.0.1 port 8080
rdr pass on en0 inet proto tcp from any to 192.168.1.100 port = 8080 -> localhost port 8080
#rdr pass on en0 inet proto tcp to port 8080 -> 127.0.0.1 port 8080

rdr pass on en0 inet proto tcp from any to any port = 5000 -> localhost port 5000

#rdr pass on en0 inet proto tcp from any to any port 8080 -> 127.0.0.1 port 8080

#rdr pass on en0 inet proto tcp from any to 192.168.1.100 port = 8080 -> 127.0.0.1 port 8080
#rdr pass on lo0 inet proto tcp from any to 192.168.1.100 port = 8080 -> 127.0.0.1 port 8080

这在本地有效,

curl http://localhost:8080 
curl http://127.0.0.1:8080

如果未启用防火墙,这也有效:

curl http://mypublicip:8080

但如果我只是启用了防火墙,同样的请求不再起作用,导致超时。

有人能解决这个问题吗?你能帮我吗?

谢谢

相关内容