Learn

284 篇文章分类:全部
网络

什么是私有 IP 和 NAT

在手机或 PC 上查看网络设置时,有时会显示 IP 地址。

但是,这个 IP 地址不一定会原样被网站侧看到。

在家庭或工作场所网络中,多数情况下,终端会被分配用于内部网络的 IP 地址。连接互联网时,路由器会使用名为 NAT 的机制,把内部通信和外部通信对应起来。

本文将整理“终端上显示的 IP 地址”和“网站能看到的 IP 地址”有时并不相同这一点。

IP 地址有可见范围

IP 地址并不一定从哪里看都相同。

家庭内手机或 PC 上显示的 IP 地址,是家庭内网络使用的地址。另一方面,网站侧看到的 IP 地址,是从互联网侧看到的访问源 IP 地址。

这两者有时会一致,但在家用 Wi-Fi 或工作场所网络中,很多时候并不一致。

例如,即使自家 PC 上显示 192.168.1.10,也不代表网站侧看到的是 192.168.1.10。通常,外部网站看到的是路由器或线路侧使用的外侧 IP 地址。

什么是私有 IP

私有 IP 是为家庭、工作场所、组织内部网络等内部网络使用而保留的 IP 地址。

代表性的私有 IPv4 地址范围如下。

范围表示常见例子
10.0.0.0 〜 10.255.255.25510.0.0.0/810.0.0.5
172.16.0.0 〜 172.31.255.255172.16.0.0/12172.16.1.20
192.168.0.0 〜 192.168.255.255192.168.0.0/16192.168.1.10

家用路由器中常见 192.168.0.x192.168.1.x 这样的 IP 地址。

这种私有 IP 用于识别家庭内或工作场所内的终端。不过,通常不会原样作为互联网上的目的地址使用。

也就是说,即使家里有一台 IP 地址为 192.168.1.10 的终端,也不能从互联网上的其他地方指定 192.168.1.10 并直接访问那台终端。因为类似的私有 IP 会在世界各地的家庭和工作场所反复使用。

什么是全局 IP

全局 IP 是在互联网上使用的 IP 地址。

网站、邮件服务器、DNS 服务器等在互联网上通信的设备和线路,会使用可从外部识别的 IP 地址。

在家庭网络中,即使手机、PC、平板、游戏机等分别拥有私有 IP,从外部网站看来,它们也可能像是从同一个全局 IP 访问。

这是因为终端并不是直接出现在互联网上,而是经由路由器通信。

终端显示的 IP 与网站看到的 IP 的区别

假设家庭内 PC 被分配了下面这样的 IP 地址。

192.168.1.10

这是 PC 在家庭内网络中的 IP 地址。

用这台 PC 访问网站时,网站侧通常看到的不是 192.168.1.10。多数情况下,网站侧看到的是路由器或线路侧的外侧 IP 地址。

观察位置看到的 IP 地址含义
PC 或手机的网络设置192.168.1.10 等终端在家庭内网络中的 IP
路由器内侧192.168.1.x 等用于管理家庭内终端的 IP
路由器或线路外侧全局 IP 等与互联网侧通信使用的 IP
网站侧外侧 IP容易作为访问源记录的 IP

这里重要的是,IP 地址有“从内侧看到的 IP”和“从外侧看到的 IP”。

只看终端上显示的 IP 地址,无法判断网站侧如何看到自己。

什么是 NAT

NAT 是 Network Address Translation 的缩写,称为网络地址转换。

在家庭网络中,内部终端会被分配私有 IP。但是,访问互联网时,路由器会使用外侧 IP 地址通信。

这时路由器会把内部终端发出的通信转换成外侧通信,并把返回的响应送回正确的终端。

例如,家庭内有下面这些终端。

终端家庭内的私有 IP网站侧容易看到的 IP
PC192.168.1.10外侧 IP
手机192.168.1.11外侧 IP
平板192.168.1.12外侧 IP

在家庭内,PC、手机、平板拥有不同的私有 IP。

但是,从外部网站看,这些终端有时像是从同一个外侧 IP 访问。

NAT 管理通信对应表

在 NAT 中,路由器会把内部终端和外侧通信对应起来。

例如,PC 访问网站时,路由器会管理“这条通信是从 192.168.1.10 的 PC 开始的”。然后,把网站返回的响应送回正确的 PC。

手机访问另一个网站时,路由器也会把它作为另一条通信管理。

家用路由器中常见的 NAT,很多时候不仅用 IP 地址,还会包含 TCP 或 UDP 的端口号来建立对应关系。

这样,即使多个终端使用同一个外侧 IP,路由器也能区分“应该把哪个响应返回给哪个终端”。

严格来说,这种把多个内部 IP 地址对应到一个外侧 IP 地址和多个端口号的机制,有时称为 NAPT 或 PAT。不过,在日常说明中,也经常把它们统称为 NAT。

多个终端可以共享一个外侧 IP

通过 NAT,家庭内多个终端可以共享一个外侧 IP 访问互联网。

例如,连接同一 Wi-Fi 的 PC 和手机分别访问不同网站时,从网站侧看,有时会像是从同一个外侧 IP 通信。

通过这个机制,即使家庭内所有终端没有各自的全局 IP,也可以使用互联网。

IPv4 可用地址数量有限,因此私有 IP 和 NAT 在家庭网络和组织内部网络中被广泛使用。

从外部不一定能直接进入家庭内终端

在使用 NAT 的环境中,家庭内终端可以主动向外部开始通信。

另一方面,从外部直接向家庭内终端开始通信,通常不能原样做到。

原因是路由器侧没有“这条从外部来的通信应该交给内部哪个终端”的对应关系。

不过,这并不意味着“完全安全”。风险会因路由器设置、终端侧设置、使用的应用、漏洞、登录状态等而变化。

NAT 有时会在结果上让来自外部的通信不容易通过,但它原本的目的不是匿名化或防御本身,而是把内侧和外侧通信对应起来。

NAT 不是匿名化技术

通过 NAT,外部网站有时看不到家庭内终端的私有 IP。

但是,NAT 不是匿名化技术。

NAT 的主要作用是把内部私有 IP 和外侧通信对应起来。它不是为了隐藏身份的机制。

网站或服务侧可能留下外侧 IP 地址、访问时刻、浏览器信息、OS 信息、、登录信息、账号信息等。

此外,即使共享同一个外侧 IP,服务侧也可能通过 Cookie、登录状态等区分终端或使用者。

因此,“私有 IP 不会被网站直接看到”和“能够匿名通信”是两回事。

线路侧也可能进行转换

家用路由器外侧,并不一定总是分配给使用者专用的全局 IP。

线路运营商侧也可能进一步进行 NAT。这种情况下,家用路由器管理画面显示的外侧 IP,可能与网站侧看到的 IP 不一致。

这种机制称为 CGNAT。

不过,这里需要掌握的重点很简单。

终端上显示的 IP、路由器外侧 IP、网站看到的 IP,并不总是相同。

总结

家庭或工作场所的终端有时会被分配私有 IP。

私有 IP 用于在家庭内或工作场所内的网络中识别终端。代表性范围包括 10.0.0.0/8172.16.0.0/12192.168.0.0/16

另一方面,网站等外部服务看到的,很多时候不是终端的私有 IP,而是路由器或线路侧的外侧 IP。

NAT 是把内部终端和外侧通信对应起来的机制。家用路由器通过不仅使用 IP 地址,也使用端口号建立对应关系,让多个终端可以共享一个外侧 IP。

不过,NAT 不是匿名化技术。

重要的是下面这些区分。

项目含义注意点
私有 IP家庭内或工作场所内使用的 IP通常不会直接被网站侧看到
全局 IP互联网上使用的 IP经常作为访问源被网站侧看到
NAT把内侧和外侧通信对应起来的机制不是用于匿名化的机制
NAPT/PAT使用 IP 地址和端口号区分多台终端通信的机制家用路由器中常见

终端上显示的 IP 地址和网站看到的 IP 地址有时会不同。

理解这个区别后,就更容易准确整理家庭内网络与互联网侧的可见方式。

参考规格

RFC 1918 - Address Allocation for Private Internets URL : https://datatracker.ietf.org/doc/html/rfc1918

RFC 3022 - Traditional IP Network Address Translator URL : https://www.rfc-editor.org/info/rfc3022/

相关工具

Public IP Check

WhatIsMyIP

与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。

列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。

URL : https://www.whatismyip.com/

打开外部网站

相关文章