无论我们是否意识到,我们每天都在使用互联网协议 (IP)。例如,每当您在 Web 浏览器中键入网站名称或搜索词时,它都会查找该 URL(或搜索引擎)的 IP 地址,然后加载该网站。
让我们将 IP 地址分为两类:私有 IP 地址和公共 IP 地址。私有 IP 地址是您的 WiFi 盒子(和公司内网)提供的地址。它们的范围是 10.x.x.x、172.16.x.x-172.31.x.x 和 192.168.x.x,其中 x=0 到 255。顾名思义,公共 IP 地址是“公共的”,您可以从世界任何地方访问它们。每个网站都有一个唯一的 IP 地址,任何人都可以从任何地方访问;这被认为是公共 IP 地址。
此外,IP 地址有两种类型:IPv4 和 IPv6。
IPv4 地址的格式为 x.x.x.x,其中 x=0 到 255。大约有 2^32(约 40 亿)个可能的 IPv4 地址。
IPv6 地址使用十六进制数字,格式更复杂。总位数为 128 位,这意味着有 2^128—340 千涧!—可能的 IPv6 地址。引入 IPv6 是为了解决在不久的将来 IPv4 地址可能耗尽的问题。
作为一名网络工程师,我建议不要与任何人分享您机器的公共 IP 地址。您的 WiFi 路由器有一个公共 IP 地址,它是 WAN(广域网)IP 地址,连接到该 WiFi 的任何设备都将是相同的地址。连接到同一 WiFi 的所有设备都具有私有 IP 地址,这些地址在本地由上面提供的范围标识。例如,我的笔记本电脑连接的 IP 地址是 192.168.0.5,我的手机连接的 IP 地址是 192.168.0.8。这些是私有 IP 地址,但两者都将具有相同的公共 IP 地址。
以下命令将获取 IP 地址列表,以查找您机器的公共 IP 地址
curl ifconfig.me
curl -4/-6 icanhazip.com
curl ipinfo.io/ip
curl api.ipify.org
curl checkip.dyndns.org
dig +short myip.opendns.com @resolver1.opendns.com
host myip.opendns.com resolver1.opendns.com
curl ident.me
curl bot.whatismyipaddress.com
curl ipecho.net/plain
以下命令将获取您接口的私有 IP 地址
ifconfig -a
ip addr (ip a)
hostname -I | awk '{print $1}'
ip route get 1.2.3.4 | awk '{print $7}'
(Fedora) 无线网络设置 → 单击您连接的 Wifi 名称旁边的设置图标 → 可以看到 Ipv4 和 Ipv6
nmcli -p device show
注意:某些实用程序需要根据您使用的 Linux 发行版安装在您的系统上。此外,一些列出的命令使用第三方网站来获取 IP 地址
在 GNOME 桌面中查找您的 IP 地址
如果您使用的是 Linux,则可以使用一些基本的桌面实用程序来查找您的 IP 地址。首先,转到您的“活动”屏幕并键入“网络”(用于有线连接)或“Wi-Fi”(用于无线连接)。

在“网络”设置窗口中,单击您所连接网络旁边的齿轮图标。

您的 IP 地址列在“网络配置文件”中。

在此示例屏幕截图中,我的 IPv4 地址是 10.1.1.2,网关是 10.1.1.1。
公共 IP 地址和私有 IP 地址
为了理解公共 IP 地址和私有 IP 地址的重要性,让我们看看一个称为 NAT(网络地址转换)和 PAT(端口地址转换)的概念。
私有地址用于局域网 (LAN)。它们绑定到特定网络。
公共地址对于建立与其他网络的外部连接是必要的,最值得注意的是互联网的“万维网”(www)。
NAT 是将私有 IP 地址转换为公共 IP 地址的过程,它包含三种主要类型:静态 NAT、动态 NAT 和 PAT。在静态 NAT 中,一个私有 IP 地址映射到一个公共 IP 地址。防火墙就是一个常见的例子。在动态 NAT 中,一个私有 IP 地址映射到一个公共 IP 地址,但公共 IP 地址来自一个池。
尽管 IPv4 地址总共有 2^32 个,但其中公共地址只有大约 37 亿个,实际上人和设备的数量超过了 IP 地址的数量。然而,我们还没有用完地址。这是因为一个名为 PAT 的概念,它允许使用端口号将单个公共 IP 地址从多个(通常是所有)私有 IP 地址转换而来。在这里,不是为每个设备分配一个公共地址,而是为外部侧分配一个公共地址,而为内部网络中的每个设备分配私有地址。PAT 最广泛地应用于我们用来连接互联网的家用无线路由器中。
私有 IPv4 地址
-
本地地址仅在内部网络中使用。
-
范围是 10.x.x.x、172.16.x.x-172.31.x.x 和 192.168.x.x(x 是 0 到 255 之间的数字)。
-
用于局域网 (LAN)。
-
无法在全球范围内访问,也无法在全球范围内搜索。
-
不唯一:同一个私有 IP 地址可以在两个不同的网络中使用。
-
每个路由器都带有一个私有 IP 地址,多个设备可以连接到该地址。用户无需额外付费即可获得私有地址。
-
一些私有 IP 地址示例:10.0.0.4、172.16.4.5、192.168.9.8
公共 IPv4 地址
-
公共地址用于连接到外部网络。
-
范围从 0.0.0.0 到 255.255.255.255,但私有 IP 地址和一些不可用或保留的 IP 地址除外。
-
用于连接到互联网。
-
全球可访问且可搜索。这些通常用于确定地理位置。
-
在整个互联网中是唯一的。
-
私有地址需要花钱,因为它们是唯一的、有限的,并且可以从互联网访问。每个网站都有一个域名映射到一个公共 IP 地址。例如,opensource.com 的公共 IP 地址是 54.204.39.132
使用 IP 查找路径
IP 地址是通过网络连接到计算机的最直接途径。还有其他系统,例如 DNS 和 Avahi,可以帮助将一台计算机路由到另一台计算机,但是当由于任何原因这些系统不可用或不需要时,IP 协议就是您使用的协议。现在您了解了原因,更重要的是,如何找到您自己的 IP 地址。
编者注:本文最初于 2018 年 5 月发布,并已更新。
9 条评论