无论是排查网络连接异常,还是配置远程管理服务,拿到服务器正确的IP地址都是第一步。很多人在这一步容易混淆:公网IP和内网IP的获取方式完全不同,用途也天差地别。这篇文章就围绕这两种地址,给出具体、可上手的查询方法,帮你快速定位问题。
公网IP是服务器在互联网上的唯一身份标识,通常用于对外提供服务。获取它的最直接方式就是使用命令行工具,无论是Windows还是Linux系统都适用。
推荐做法:
判断标准与避坑要点:返回的一串纯数字就是公网IP。但要注意,如果服务器位于负载均衡器或公司NAT网关后面,这个命令显示的是网关出口的IP,而不是服务器网卡上的地址。另外,云服务器默认分配的多是内网IP,公网IP通常是单独绑定的弹性IP,两者不要搞混。
举个例子:技术人员用SSH登录某云主机后,执行 curl ip.sb,得到的地址与云控制台显示的弹性公网IP一致,说明网络出口正常。
当你不只想看IP数字,还想知道它归属于哪个地区、哪家运营商时,命令行就无能为力了。此时需要借助在线查询服务。
常用查询途径:
需要注意的细节:IP地理位置数据库存在延迟。当IP段被运营商重新分配后,部分平台仍可能显示旧信息,所以建议在不同平台交叉验证。另外,通过4G/5G移动网络访问时,定位精度通常只能到城市级别,无法精确到具体楼宇。
内网IP用于同一局域网或同一云VPC(虚拟私有云)内部的通信,比如数据库连接、服务间调用等。获取方法和公网IP完全不同。
分系统操作步骤:
判断与提醒:内网IP通常以10.、172.16-31.、192.168.开头。若服务器同时有多个网卡,注意别把虚拟网卡(如docker0)的地址当成主内网IP。在云环境里,内网IP一般不会随意变动,但重启实例后若未配置弹性网卡,地址可能变化,建议在服务配置中避免硬编码IP。
不少人拿到一串IP后分不清它是公网还是内网。其实有明确的判断规则,不需要猜。
基本的区分方法:
掌握这个规则,能帮你快速判断网络架构,避免在排查问题时找错对象——比如把公网IP当成内网IP去ping,结果一直不通。
不一定。绝大多数情况下,ip addr 显示的是网卡上的私有IP地址。只有当服务器拥有独立的公网IP(如未经过NAT的独立主机),该命令才会显示公网地址。云服务器默认多使用NAT方式,因此查到的多为内网IP,公网IP需另外通过 curl 或控制台确认。
因为服务器同时启用了IPv6网络栈,且该命令优先返回IPv6地址。若要强制获取IPv4地址,可使用 curl -4 ifconfig.me 参数;若服务器仅有IPv6出口,则返回的IPv6地址也是唯一的公网标识。
不能。私有IP地址不会在公网路由表中出现,外面无法直接访问。若需要从外部访问内网服务,只能通过端口映射、VPN或反向代理等方式实现,否则连接必然超时。
查询服务器IP并不复杂,关键是分清场景:对外服务看公网IP,用 curl 命令或在线平台即可;内部通信看内网IP,用 ip addr 或 ipconfig 就能找到。建议你在首次配置服务器时,把公网IP、内网IP和对应的网卡名记录下来,保存到运维文档中。这样后续无论是排查故障还是变更配置,都能减少很多来回确认的时间。