在 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

但是如果我只是啟用防火牆,同樣的請求不再起作用,導致超時。

有人能夠解決這個問題嗎?請問你能幫幫我嗎 ?

謝謝

相關內容