IP 地址构成了互联网工作方式的支柱。 IP 地址有两种基本类型:公共和私有。 公共 IP 地址用于连接到外部网络,而私有 IP 地址用于识别连接到本地网络的设备。
您可以使用多种方法在 Linux 中获取您的公共 IP 地址。 在本文中,我们将简要讨论如何使用 host 命令、dig 命令和一些外部服务来查找系统的公共 IP 地址。
使用 host 命令获取公共 IP
这 主持人 实用程序提供对 DNS 相关信息的访问,包括 Linux 机器的公共 IP 地址。 当您不带任何选项运行此命令时,它将显示 DNS 服务器的名称、地址和系统的公共 IP。
host myip.opendns.com resolver1.opendns.com
您可以使用 grep 查找包含公共 IP 的输出行并使用 awk 命令。
host myip.opendns.com resolver1.opendns.com | grep "myip.opendns.com has" | awk '{print $4}'
使用 dig 命令
Linux 中的 dig 实用程序是另一个有用的工具,用于检索与您的计算机关联的 DNS 数据。 您可以使用以下 dig 命令在 Linux 中获取公共 IP 地址。
dig +short myip.opendns.com @resolver1.opendns.com
使用外部服务
许多第三方服务可以显示您的公共 IP 地址。 您可以使用 curl 或者 wget 效用。 以下命令利用了一些此类服务。
curl https://ipinfo.io/ip ; echo
wget -qO- https://ipecho.net/plain ; echo
上述命令从 ipinfo.ip 网站。
curl https://ipecho.net/plain ; echo
wget -qO- https://ipecho.net/plain ; echo
这些示例从 ipcho.net 网络服务。
curl https://ifconfig.me ; echo
wget -qO- https://ifconfig.me ; echo
这 ifconfig.me 网站提供上述命令的 IP 信息。 互联网上的许多其他网站都可以提供类似的服务。
在 Linux 中查找您的公共 IP 地址
您可以使用上述方法之一轻松找到您的公共 IP 地址。 这些方法的主要好处是即使您在 NAT 路由器后面,它们也能显示正确的 IP 地址。 因此,任何人都可以使用它们来确定他们的公共互联网地址。
通过互联网传输的网络数据包遵循形成数字通信基础的特定模型。 OSI 模型负责连接到相同或不同网络的两个或多个设备之间的数据传输和通信。