看板 FreeBSD 關於我們 聯絡資訊
※ 引述《rightflow (交大再見,畢業了...)》之銘言: : ※ 引述《starlition ()》之銘言: : : 這兩行改成下面這一行試試看 : : ${fwcmd} add 1020 divert natd ip from 192.168.0.0/16 to any via fxp0 : 這是內部 ip 連出去時 就卡在 SYN 回不來XD... : tcp4 0 0 192.168.0.97.51484 10.0.0.1.25 SYN_SENT 弟的推測情況如下,如有不對的地方還請其他先進與大大更正與指教。 正常狀況: a. SYN Client -------------> 10.0.0.1 port 25 ---------------> 192.168.0.5 port 25 SIP: Client 封包會轉成 SIP: Client DIP: 10.0.0.1 DIP: 192.168.0.5 b. SYN+ACK(注意箭頭) Client <------------- 10.0.0.1 port 25 <--------------- 192.168.0.5 port 25 SIP: 10.0.0.1 封包會轉成 SIP: 192.168.0.5 DIP: Client DIP: Client 問題在這裡: 如果 redirect 的優先權比 nat 大.. 在上述的圖所看到的 Client 將會帶 192.168.0.97 SYN 階段的 DIP 是 10.0.0.1 但是在 SYN+ACK 階段因為 192.168.0.0/16 的關係,192.168.0.5 就直接丟給 97, 封包的 SIP 並不是 10.0.0.1,而是 192.168.0.5 所以三向交握根本不會建立。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.86.46 ※ 編輯: uftea 來自: 122.116.86.46 (01/31 19:51)