Freebsd

PF臨時重新路由到不同的IP

  • March 14, 2017

我有一個 FreeBSD 主機,它作為內部網路上其他系統的入口點。因此,我已pf配置為將某些埠(例如埠 5000)上的傳入流量重定向到在該機器上執行網路服務的其中一個監獄的主機本地地址。這看起來像這樣:

---port 5000--->[Main host]
                    |
                    |---port 5000--->[Machine A]
                    |~~~~~~~~~~~~~~~~[Machine B]

重定向由 PF 規則執行:

rdr pass on egress proto tcp from any to $IP port 5000 -> $MACHINE_A_IP

這是我幾乎一直想要的狀態,也是預設配置的。但是,有時我想暫時將埠 5000 重定向到機器 B,如下所示:

---port 5000--->[Main host]
                    |
                    |~~~~~~~~~~~~~~~~[Machine A]
                    |---port 5000--->[Machine B]

我已經嘗試設置 PF 錨來促進這一點,但由於我是 PF 新手,我發現很難解析文件來涵蓋這個案例。

如何在主機上發布動態 PF 規則以將 5000 從機器 A 臨時重定向到機器 B?

實現此目的的正確方法是使用表作為重定向目標。您可以更改表格的內容,而無需使用 重新載入 pf pfctl。請注意,現有的防火牆狀態將繼續向舊主機轉發流量,直到 tcp 流關閉或 udp“流”超時。

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