我有一個 pfSense 防火牆/路由器,它向我的公用 IP 公開一些服務。
只要該服務位於主 LAN 子網路 ( 192.168.1.0/24
) 上,就可以正常運作,我們稱之為羊毛。
例如,這有效:
public_ip:443 -> pfSense (NAT) -> 192.168.1.20:5443 (reverse proxy)
我還有第二個 LAN 192.168.88.0/24
,我們稱之為區域網路B,即後面的一個米克羅蒂克路由器開啟192.168.1.111
。在 pfSense 中,我有一個網路靜態路由,192.168.88.0/24
指定192.168.1.111
為其網關。
從羊毛我現在可以連接到主機區域網路B,例如192.168.88.10
,透明地,與中的主機相同羊毛(除了一個奇怪的問題ssh
這裡提到了,還沒解決)。 (主機於區域網路B也可以正常連接到互聯網,因為米克羅蒂克路由器指定該pfSense
盒子192.168.1.1
作為其客戶端的網關)。
到目前為止,一切都很好。但現在我想公開一個服務區域網路B,例如192.168.88.10:10000
透過我的外部 IP 上的 NAT。所以我像平常一樣做:
public_ip:10000 -> pfSense (NAT+Rule) -> 192.168.88.10:10000
然而,這不起作用(並且nmap
從外部將連接埠顯示為filtered
,而它位於 LAN 內open
)。那麼看來 NAT 邏輯不知道我的靜態路由呢?
這似乎有點合乎邏輯,因為靜態路由「存在」在 pfSense 的本地介面 ( ) 以及和LANBRIDGE
之間的防火牆 (NAT)的範圍內,因此它可能不知道到 的連接經過。但如何讓這項工作發揮作用呢?WAN
LANBRIDGE
192.168.88.0/24
192.168.1.111
答案1
發現問題(供以後參考並可能幫助其他人):
所描述的設定(OP)在側面是可以的pfSense
。
問題是米克羅蒂克路由器應該轉送(轉送鏈)實際的來源位址(即連接到外部IP的位址),這0.0.0.0/0
不僅是位址192.168.1.0/24
。出於安全原因,如果需要,可以將轉送規則限制為某些連接埠。