手動設置端口映射成功的條件是路由器WAN口接的是外網IP,而不是網絡提供商的路由器NAT之后的IP。假如有個外網的客戶端,連的服務器IP一定要是外網IP(假設IP_A),如果自己的路由器WAN口接的是網絡供應商NAT之后的IP(假設IP_B),那我們在路由器上設置的端口映射就是IP_B的端口號和內網的端口號。由於外網的客戶端是發起三次握手的發起者,客戶端首先和IP_A通信,但是此時IP_A的端口號並沒有和IP_B的端口號映射,我們在路由器上設置的是IP_B的端口號和內網的端口號映射,所以信息不能從IP_A發送到IP_B。
NAT規定:數據包從內網到外網,會自動建立端口映射;數據包從外網到內網,只會查詢收到的數據包的端口有沒有映射到內網,而不會自動建立端口映射。
