NAT客戶端和伺服器以及連接埠關閉

NAT客戶端和伺服器以及連接埠關閉

假設我有一個客戶端和伺服器。客戶端位於 NAT 後面,伺服器是公共的。

客戶希望有一個會議與伺服器。

假設客戶端位於 192.168.1.1,NAT 位於 192.168.1.2 私有 IP 位址上。 NAT 位於 50.0.0.1 上,伺服器位於 50.0.0.2 公用 IP 位址上。

客戶端將UDP/IP(希望與TCP/IP類似)封包傳送到伺服器。此封包的來源 IP 192.168.1.1 和來源連接埠(假設為 1000)(隨機選擇),還有目標連接埠 50.0.0.2 和目標連接埠 2000,因為這是伺服器上執行的應用程式的連接埠。

TCP/IP 封包到達 NAT,NAT 將來源 IP 變更為 50.0.0.1,連接埠變更為 5000(隨機選擇),並路由至伺服器。

伺服器發送回應報文,目的IP為50.0.0.1,連接埠為5000。

NAT 將封包的目的 IP 變更為 192.168.1.1,目的連接埠變更為 1000。

  1. 現在,伺服器是否可以向同一個IP 50.0.0.1和連接埠5000發送許多UDP/IP封包,並且所有封包都將轉送到客戶端192.168.1.1埠1000?

  2. 如果是這樣,NAT 公共端的連接埠 5000 會將封包轉送到上述用戶端多久?

  3. 僅數據包來源 IP 50.0.0.2 和來源連接埠 2000會轉發給客戶端嗎?

答案1

答案:

  1. 是的。
  2. 這取決於裝置的 NAT 實作。在 Linux 中,可以透過以下方式進行調整編輯/proc/sys/net/ipv4/netfilter/ip_conntrack_udp_*
  3. 是 - 除非有 NAT 識別的「相關」端口,在這種情況下,使用額外的 NAT 模組來確定相關的端口(至少在 Linux 上)

相關內容