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

本文将介绍几种确定 Linux 系统的公共 IP 地址和私有 IP 地址的不同方法。(当然有些在windows下也是可以的)

查找你的私有 IP 地址

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

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

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

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

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

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

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

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

ip addr

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

$ hostname -I

$ ifconfig

查找你的公共 IP 地址

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

如果你是在没有 GUI 的 Linux 服务器上获取你分配到的公网 IP 地址,你可以使用命令行工具 digcurl 和 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 地址。这里是其中的一些:

$ 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/

$ curl ip.sb

为了方便使用,你还可以创建一个别名来方便查询。

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

现在,你要查找公共 IP 时,只需键入 pubip 命令即可。

参考链接:https://mp.weixin.qq.com/s/dkVd0eQfzGHxM3SQ6picuQ

12-14 05:25