192.168.0.30:80 => outgoing port 8080
192.168.0.40:80 => outgoing port 8088
为了让你的朋友可以通过72.72.72.72:8080和72.72.72.72:8088连接到你的Web/Game服务器,你需要确保无线路由器不会使用它自己的动态NAT端口(8080和8088)。当然,这仅适用于在你的ISP DHCP决定更新你的调制解调器的IPv4地址之前。
IP地址72.72.72.72只有在ISP DHCP决定更新你的调制解调器的IPv4地址之前才有效。之后,你必须致电/发送电子邮件给你的朋友并告诉他们服务器地址已更改为72.72.90.200:8080和72.72.90.200:8088。或者,你可以订阅动态DNS(DDNS)服务,使用命名域,DDNS服务将需要你在系统上安装一个简单的心跳实用程序来帮助他们监视地址变化。DDNS翻译是一个单独的问题/策略。
NAT调制解调器
较新的ISP合同提供具有NAT功能的调制解调器。如果是这样,你必须关闭调制解调器或无线路由器上的一个NAT功能。你不应该同时使用两个-因为NAT只是为了防止地址冲突。当你关闭无线路由器上的NAT功能后,它可以作为集线器交换机运行,而不是路由器,这样你就可以将其连接到调制解调器上的一个LAN插孔中,而不是通过WAN插孔。
已经提供了很好的答案,但这里还有另一个例子:
HOST A addr HOST B addr
10.1.0.2:4040 10.1.0.3:4040
-----------------------------------------
NAT 200.50.50.28:4040 200.50.50.28:4041 (what external host sees)
200.50.50.28 是路由器的全局(互联网)IP地址。
NAT表中每个端口号都是唯一的。当然,路由器会在透明地修改源地址和目标地址时完成所有“肮脏”的工作。
(src_ip, src_port, dest_ip, dest_port)
必须是不同的。 - Nick Dandoulakis它使用不同的端口用于传入的外部流量,然后NAT将一个端口上的数据包路由到一个内部IP地址,另一个端口上的数据包路由到另一个内部IP地址......每个内部计算机的初始请求在通过NAT时建立了用于来自外部IP地址的传入流量的端口,并告诉外部服务器回传连接的流量所使用的端口。
既然已经讨论了由互联网服务提供商(ISP)提供的公共面向或外部IP地址,我想在此补充一下。 您可以要求您的ISP使您的公共IP地址不更改。它将变为静态,这样您就不必通知您的朋友更改IP地址,如果他们想访问您网络地址转换器(NAT)内的服务器。 截至本文撰写时,静态IP地址的成本约为100美元。大多数ISP称其为商业帐户。 您可以通过谷歌搜索“我的IP地址是什么”来确定您的公共面向IP地址。
RFC3022 提供了很多关于这个工作原理的信息。