在排除网络问题、建立新的连接或配置防火墙时,知道你设备的IP地址很重要。
IP地址可以分为两类,公共和私人。公共IP地址是一个独特的IP地址,可以从互联网上访问。私有IP地址是保留给你的私有网络内部使用的,不直接暴露在互联网上。此外,有两种类型的IP地址,IP版本4(IPv4)和IP版本6(IPv6)。
本文解释了确定Linux系统的公共和私有IP地址的几种不同方法。
私有IP地址在互联网上是不能路由的,只能在本地网络中使用。通常情况下,路由器会给本地网络内的每台设备分配一个私有IP地址。这为本地网络内的所有设备提供了一个唯一的IP地址,如你的手机、笔记本电脑、智能电视、打印机、媒体中心等。
本地网络中的设备是通过NAT(网络地址转换)连接到互联网的。
以下IPv4地址范围被保留给私人网络:
你可以通过使用ip、ifconfig或hostname等命令查询网络堆栈来确定你的系统私有IP地址。
在Linux中,显示和配置网络接口的标准工具是ip 。
要显示所有网络接口的列表和相关的IP地址,请输入以下命令。
$ ip addr
输出结果将如下所示。私有IP地址被高亮显示:
你也可以使用以下命令来显示私有IP地址。
$ hostname -I
$ ifconfig
公共IP地址是一个全球可路由的IP地址,它被分配给网络设备,允许它直接访问互联网。它们是由其ISP分配给设备的,每台设备都有一个独特的公共IP地址。
公共IP地址由家庭路由器、网络服务器、邮件服务器等使用。
确定公共IP地址包括通过HTTP/HTTPS或DNS协议联系远程服务器,并从远程服务器的响应中获得IP地址。
在台式机上,找出你的公共IP地址的最简单方法是在百度搜索中输入 "我的IP地址"。
如果你是在一个无头的Linux服务器上,或者你想把IP地址分配给一个shell脚本变量,你可以使用命令行工具,如dig , curl和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/ipCopy
curl -s https://checkip.amazonaws.comCopy
curl -s api.infoip.io/ipCopy
curl -s ip.appspot.comCopy
wget -O - -q https://icanhazip.com/
如果上面的任何一个命令不工作,可能是在线服务出现了问题。
你甚至可以在你的~/.bashrc或~/.zshrc文件中创建一个别名,这样你就不必输入和记住一个长命令。例如,你可以添加以下别名。
alias pubip='dig ANY +short @resolver2.opendns.com myip.opendns.com'
现在,无论何时你需要找到你的公共IP,只需在终端输入pubip即可。
Copyright © 2013-2021 8a.hk All Rights Reserved. 八艾云 版权所有 中山市八艾云计算有限公司 粤ICP备14095776号