分享几种终端下快速获取公网 IP 地址的技巧

Posted by Mike on 2020-05-23

在排除网络问题,建立新连接或配置防火墙时,了解设备的 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 地址范围是为专用网络保留的:

1
2
3
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

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

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

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

1
$ ip addr

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

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

1
2
3
$ hostname -I

$ ifconfig

查找你的公共 IP 地址

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

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

如果你是在没有 GUI 的 Linux 服务器上获取你分配到的公网 IP 地址,你可以使用命令行工具 digcurlwget 等来获取。

大多数 DNS 提供商(例如:OpenDNS 和 Google)都允许你查询其服务器并获取你的公共 IP 地址。你可以使用以下任何命令来获取公网 IP:

1
2
3
4
5
$ 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 地址。这里是其中的一些:

1
2
3
4
5
6
7
8
9
$ 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 中添加以下别名。

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

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

结论

至此,我们向你展示了通过几种不同的命令和在线服来查找私有和公共 IP 地址的方法,希望对你有所帮助!

来源:myfreax

原文:https://url.cn/5eJaO9n

题图:来自谷歌图片搜索

版权:本文版权归原作者所有

投稿:欢迎投稿,邮箱: editor@hi-linux.com