![從 WAN 連線到 LAN](https://rvso.com/image/1490207/%E5%BE%9E%20WAN%20%E9%80%A3%E7%B7%9A%E5%88%B0%20LAN.png)
我正在為我的家人開發一個應用程序,它使用套接字在 LAN 或 WAN 中的設備之間進行通訊。由於 IP 位址不斷變化,我正在規劃一個用於地址簿的 FTP 伺服器和用於通訊的 TCP/IP。
我的問題:
從 WAN 連線到 LAN。我認為路由器應該設定為允許從外部連接到 LAN 上的連接埠。這是怎麼做到的?
答案1
是的,大多數家庭 NA[P]T 網關路由器允許您指定“連接埠對映”、“連接埠轉送”規則,有時甚至稱為“虛擬伺服器”,其中從 WAN 連接到某個 TCP 或 UDP 連接埠在路由器的WAN IP 位址上,轉送至服務真正駐留的LAN 私有IP 位址和連接埠。
在 FTP 範例中,連接埠 21/TCP 通常用於傳入控制連接,因此您需要在路由器中輸入連接埠映射,以將連接埠 21/TCP 從路由器的 WAN 位址轉送至 LAN 專用 IP 位址和連接埠您執行FTP 伺服器的位置(例如192.168.1.2:21)。
因此,當在 WAN 上時,您會告訴 FTP 用戶端連接到路由器的 WAN IP 位址,實際上最終會連接到 FTP 伺服器,該伺服器實際上位於 NAT 後面的不同位址。
請注意,要在 NAT 後面工作,FTP 是一個非常棘手的協定。如果您的 NAT 網關具有知道如何處理 NAT 後面的 FTP 伺服器的 FTP「ALG」(應用程式層網關)代碼,則會有所幫助。您會看到,當 FTP 用戶端位於 NAT 之後時,使用 FTP Passive (PASV) 模式可以讓 FTP 透過 NAT 運作。但當FTP伺服器位於 NAT 後面,即使有 21/TCP 所需的連接埠映射,被動模式也會中斷,而主動模式會起作用。如果 FTP 用戶端位於一個 NAT 後面,而 FTP 伺服器位於另一個 NAT 後面,則您絕對需要在一個或兩個 NAT 中使用 FTP ALG。