在排除网络问题,建立新连接或配置防火墙时,了解设备的IP地址很重要。

IP地址可以分为两类,公用和私有(专用)。公用IP是唯一的IP地址,可以从Internet访问。专用IP地址保留供您专用网络内部使用,而不会直接暴露给Internet。此外,有两种类型的IP地址,即IP版本4(IPv4)和IP版本6(IPv6)。

本文介绍了确定Linux系统的公共IP地址和私有IP地址的几种不同方法。

查找您的私有IP地址

专用IP地址不可通过Internet路由,并且只能在本地网络内工作。通常,专用IP地址是由路由器分配给本地网络中的每个设备的。这为本地网络中的设备(例如电话,笔记本电脑,智能电视,打印机,媒体中心等)提供了唯一的IP地址。本地网络上的设备通过NAT(网络地址转换)连接到Internet。

以下IPv4地址范围是为专用网络保留的:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

您可以通过使用诸如ipifconfighostname命令查询网络堆栈确定系统的私有IP地址。

在Linux中,用于显示和配置网络接口的标准工具是ip

要显示所有网络接口和关联的IP地址的列表,请键入以下命令:

ip addr

输出如下所示。专用IP地址突出显示。

您还可以使用以下命令来显示私有IP地址:

hostname -I
ifconfig

查找您的公共IP地址

公共IP地址是分配给网络设备的全球可路由IP地址,它允许直接访问Internet。它们由其ISP分配给设备,并且每个设备都有唯一的公共IP地址。公用IP地址由家庭路由器,Web服务器,邮件服务器等使用。

确定公共IP地址可以通过HTTP/HTTPS或DNS协议联系远程服务器,并从远程服务器响应中获取IP地址。

如果你是在没有GUI的Linux服务器上,或者您想要分配IP地址,你可以使用命令行工具,如shell脚本变量digcurlwget

大多数DNS提供程序(例如OpenDNS和Google)都允许您查询其服务器并获取您的公共IP地址。

您可以使用以下任何命令获取IP:

dig ANY +short @resolver2.opendns.com myip.opendns.com
dig ANY +short @resolver2.opendns.com myip.opendns.com
dig ANY +short @ns1-1.akamaitech.net ANY whoami.akamai.net

有许多在线HTTP/HTTPS服务可以返回您的公共IP地址。这里是其中的一些:

curl -s http://tnx.nl/ip
curl -s https://checkip.amazonaws.com
curl -s api.infoip.io/ip
curl -s ip.appspot.com
wget -O - -q https://icanhazip.com/

如果以上任何命令均不起作用,则在线服务可能存在问题。

您可以创建一个别名,您不必键入并记住一个长命令。例如,您可以添加以下别名:~/.bashrc ~/.zshrc

alias pubip='dig ANY +short @resolver2.opendns.com myip.opendns.com'

现在,只要您需要查找公共IP,只需键入pubip您的终端即可。

结论

我们向您展示了几种不同的命令和在线服务,您可以使用它们来查找私有和公共IP地址。

如果您有任何疑问或评论,请在下面发表评论

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持