Iptables

私有 IPV4 地址如何通過 iptables NAT (tcp RST,FIN)

  • May 26, 2021

我有一個使用 iptables iptables -t nat -o -j MASQUERADE 執行簡單 NAT 轉換的路由器

除了某些 TCP RST 和 FIN 數據包離開路由器未進行 NAT 的特殊情況外,這幾乎在所有時間都可以正常工作。

在這種情況下,我設置了 1 或 2 台客戶端電腦流式傳輸 Flash 影片(例如 www.nasa.gov/ntv) 在路由器上我然後拆除並重新建立公共介面(這是一個調製解調器)正如預期的那樣,Flash 流停止. 重新建立連接並嘗試刷新 Flash 頁面後,我看到一些 TCP RST 和

$$ FIN,ACK $$離開公共介面的數據包(我假設 Flash 嘗試恢復其流)。 我不知道這些數據包如何讓路由器不經過 NAT 處理

謝謝你的提示。我正是讓我走上正確軌道所需要的。

根本原因是區域網路和公共介面之間未經過濾的轉發。當公共介面被拆除時,它清除了 conntrack 條目。然後客戶端嘗試恢復他們的連接並最終發送 RST 和 FIN 數據包。由於 NAT 僅在新連接上設置,因此這些數據包不會修改路由器。

我不得不更改我的轉發規則,只允許新的、已建立的、相關的數據包從私有區域網路轉發。

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