在排除网络问题、设置新连接或配置防火墙时,了解设备的 IP 地址非常重要。
IP 地址可分为两类:公共地址和私有地址。公共IP是唯一的并且可以从互联网访问的IP地址。私有 IP 地址保留供私有网络内部使用,而不直接暴露于 Internet。此外,还有两种类型的 IP 地址:IP 版本 4 (IPv4) 和 IP 版本 6 (IPv6)。
本文介绍了确定 Linux 系统的公共和私有 IP 地址的几种不同方法。
查找您的私人 IP 地址#
私有 IP 地址无法通过 Internet 路由,并且只能在本地网络中使用。
通常,路由器会为本地网络内的每个设备分配一个专用 IP 地址。这为本地网络内的所有设备(例如您的手机、笔记本电脑、智能电视、打印机、媒体中心等)提供了唯一的 IP 地址。
本地网络上的设备通过 NAT(网络地址转换)连接到 Internet。
以下 IPv4 地址范围是为专用网络保留的:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
您可以通过使用以下命令查询网络堆栈来确定您的系统专用 IP 地址ip
, ifconfig
or hostname
.
在 Linux 中,用于显示和配置网络接口的标准工具是ip
.
要显示所有网络接口和关联 IP 地址的列表,请键入以下命令:
ip addr
输出如下所示。私有 IP 地址突出显示。
您还可以使用以下命令来显示私有IP地址:
hostname -I
ifconfig
查找您的公共 IP 地址#
公共 IP 地址是分配给网络设备的全球可路由 IP 地址,允许其直接访问 Internet。它们由 ISP 分配给设备,并且每个设备都有唯一的公共 IP 地址。
公共 IP 地址供家庭路由器、Web 服务器、邮件服务器等使用。
确定公共 IP 地址涉及通过 HTTP/HTTPS 或 DNS 协议联系远程服务器并从远程服务器响应中获取 IP 地址。
在台式机上,查找公共 IP 地址的最简单方法是在浏览器中输入“what is my ip”:
如果您使用的是无头 Linux 服务器或者您想要将 IP 地址分配给 shell 脚本变量,您可以使用命令行工具,例如dig
, curl
and wget
.
大多数 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 地址进行响应。这里是其中的一些:
如果上述任何命令不起作用,则在线服务可能存在问题。
您甚至可以创建一个alias在你的~/.bashrc
or ~/.zshrc
文件,因此您不必键入并记住长命令。例如,您可以添加以下别名:
alias pubip='dig ANY +short @resolver2.opendns.com myip.opendns.com'
现在,每当您需要查找您的公共 IP 时,只需输入pubip
在您的终端中。
结论#
我们向您展示了几种不同的命令和在线服务,您可以使用它们来查找您的私有和公共 IP 地址。
如果您有任何疑问或意见,请在下面留言。