Openbsd

OpenBsd 5 埠轉發

  • May 2, 2012

我正在嘗試在 OpenBSD 5.0 上配置 pf 埠轉發

防火牆機器有兩個網卡:

em0: 192,168,200.3 vic0: 192,65,214,136

我想將所有進入 192.168.200.3:104 的數據包轉發到 192.65.214.131:104。此外,對於 ssh,我仍然需要訪問埠 22。

到目前為止,我設置的規則是這樣的:

set skip on lo

pass in log on em0 proto tcp from any to any port 104 rdr-to 192.65.214.131

# By default, do not permit remote connections to X11
block in on ! lo0 proto tcp to port 6000:6010

通過使用 tcpdump -n -e -ttt -r /var/log/pflog 讀取日誌,我看到規則 0 匹配,但呼叫應用程序沒有收到它所期望的確認。

我做錯了什麼?

順便提一句。我可以 ping 和 telnet 到 192.65.214.131。

**編輯:**這是新的 /etc/pf.conf,現在可以使用了。謝謝獵鷹。

set skip on lo

pass in log on em0 proto tcp from any to any port 104 rdr-to 192.65.214.131
pass out on vic0 from em0:network to any nat-to vic0    
# By default, do not permit remote connections to X11
block in on ! lo0 proto tcp to port 6000:6010

**編輯:**嗯,nat-to 規則僅適用於從 192.168.200.x 發送數據包時,但有些數據包是從 192.168.7.xxx 發送的,我怎麼能允許這些呢?

在此先感謝,萊昂納多。

確保客戶端介面能夠 ping 192.65.214.131 以及執行 pf 的伺服器,並且 192.65.214.131 能夠 ping 客戶端電腦(或者如果由於某種原因禁用了 ping,只需確保它們有路由這樣可行)。這些設置的一個真正常見的問題是,數據包可以在 NAT 的幫助下到達主機,但是如果 NAT 只更改了目標地址而不是源地址,或者它只是打算重定向但路由表沒有t 顯示回去的路,數據包只能走一條路,你有一個不對稱的路由故障。

引用自:https://serverfault.com/questions/385096