当我访问网站http://whatismyip.akamai.com/时显示我的 IP 是 100.87.1.114。当我访问任何其他网站(例如https://whatismyipaddress.com/或https://www.whatismyip.com/)告诉我我的公共 IP 地址时,我得到 84.236.1.251。
当我转到状态/网络接口下的 192.168.1.1(我的路由器的配置页面)时,有一个名为 IP 的条目与 100.87.1.114 相同。还有一个条目说 NAT 已启用。
我不知道 NAT 是什么,但从我阅读的内容来看,我认为这意味着 100.87.1.114 IP 是我的路由器和我的 ISP 之间的私有 IP。这个对吗?如果是这样,不是所有在线网站都列出相同的公共 IP (84.236.1.251),还是http://whatismyip.akamai.com有什么特别之处?如果这不正确,请解释一下 NAT 的含义。
顺便说一句,这整个事情都出现了,因为我试图在路由器上进行端口转发,但是在线端口检查器仍然显示端口已关闭(端口 2222,我的计算机上运行着 ssh 服务器),并且我无法从外部ping我的IP(我的WiFi手机关闭了移动数据,我尝试了两个公共IP)。我在某处读到这可能是由我的 ISP 启用 NAT 引起的。
它的字面意思是“地址翻译”。例如,当您的计算机有一个私有 192.168.x IP 地址并需要连接到 Internet 时,您的路由器会悄悄地编辑所有数据包以使用路由器的公共 IP 地址。那是通常的NAT。
是的,您的 ISP 已将您置于第二层 NAT 之后——您自己的路由器不再拥有自己的公共 IP 地址。它仅从 100.64.0.0/10 专用范围(实际上是为 ISP 级 NAT 保留)中获取地址。
Akamai 之所以特别,是因为它是一个 CDN,其工作方式的一个重要部分是与 ISP 的专用连接,有时甚至将其设备(缓存服务器)直接放置在 ISP 的网络中。这意味着,例如当客户开始下载Fortnite 更新时,ISP 可以通过专用连接甚至简单地从他们的本地网络传送它们,而完全不会影响 ISP 与 Internet 的主要连接。
(如果你运行
tracert whatismyip.akamai.com
,你可能会看到一条很短的路径。CloudFlare 等其他 CDN 也以类似的方式工作,尽管并非所有这些 CDN 都直接向 ISP 提供缓存设备。)所以发生的情况是,您访问的 Akamai 服务器算作 ISP 网络的“内部”,而您与它的连接根本没有到达 NAT 的第二层 (CGNAT),因此它会看到 ISP 提供的私有 IP 地址。
(我不确定这是否是 ISP 的故意或错误配置。一方面,第三方 CDN 服务器肯定看起来应该算作“外部” - 但另一方面它可能会减少 CGNAT 硬件的负载数量非常可观。)