我们每天都在使用互联网协议 (IP),无论我们是否意识到。 例如,任何时候您在 Web 浏览器中键入网站名称或搜索词时,它都会查找该 URL(或搜索引擎)的 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 连接,我的手机以 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 设置 → 点击您连接的 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 地址的重要性,让我们看一下一个称为 NAT(网络地址转换)和 PAT(端口地址转换)的概念。
私有地址在局域网 (LAN) 中使用。 它们绑定到特定网络。
公共地址对于建立与其他网络(最著名的是 Internet 的“万维网”(www))的外部连接是必需的。
NAT 是将私有 IP 转换为公共 IP 的过程,包括三种主要类型:静态、动态和 PAT。 在静态 NAT 中,一个私有 IP 映射到一个公共 IP。 一个常见的例子是防火墙。 在动态 NAT 中,私有 IP 地址映射到一个公共 IP,但从一个公共 IP 地址池中映射。
IPv4 地址总共有 2^32 个,其中大约只有 37 亿个是公共地址,实际上人和设备比 IP 地址还多。 然而,我们还没有用完地址。 这是因为有一个称为 PAT 的概念,它允许使用端口号从多个(通常是所有)私有 IP 地址转换单个公共 IP 地址。 在这里,不是为每个设备分配一个公共地址,而是为外部分配一个公共地址,并为内部网络中的每个设备分配私有地址。 PAT 最广泛地用于住宅无线路由器,我们使用它来连接到 Internet。
私有 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 条评论