IP地址是互联网工作原理的骨干。 IP地址有两种基本类型:公用和专用。公用IP地址用于连接到外部网络,而私有IP用于标识连接到本地网络的设备。
您可以使用几种方法在Linux中获得您的公共IP地址。在本文中,我们将简要讨论如何使用host命令,dig命令和一些外部服务来查找系统的公共IP地址。
使用host命令获取公共IP
主机实用程序提供对与DNS相关的信息的访问,包括Linux计算机的公共IP地址。如果不带任何选项运行此命令,它将显示DNS服务器的名称,地址和系统的公用IP。
host myip.opendns.com resolver1.opendns.com
您可以为包含公共IP的输出行grep并使用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网站检索公共IP。
curl https://ipecho.net/plain ; echo
wget -qO- https://ipecho.net/plain ; echo
这些示例从ipecho.net Web服务获取您的公共IP地址。
curl https://ifconfig.me ; echo
wget -qO- https://ifconfig.me ; echo

ifconfig.me网站提供了上述命令的IP信息。互联网上的许多其他网站都可以提供类似的服务。
在Linux中查找您的公共IP地址
您可以使用上述方法之一轻松找到您的公共IP地址。这些方法的主要好处是,即使您位于NAT路由器后面,它们也可以显示正确的IP地址。因此,任何人都可以使用它们来确定其公共互联网地址。
通过互联网传输的网络数据包遵循特定的模型,该模型构成了数字通信的基础。 OSI模型负责两个或多个连接到相同或不同网络的设备之间的数据传输和通信。