无论是排查服务器无法访问的问题、设置远程连接白名单,还是核对日志中的访问来源,第一步往往都是确认服务器的IP地址。需要先分清两类地址:对外提供服务的公网IP,以及只在内部网络通信的内网IP。下面按不同场景,给出可落地的查询思路。
只要服务器能正常访问外网,用命令行查公网IP最简单直接,不依赖任何图形界面,也适合批量处理多台机器。
结果判断:返回一长串包含数字和冒号的字符(如 240e:...)就是IPv6地址;如果是点分十进制形式(如 203.0.113.8),则属于IPv4地址。两者都可能是有效出口,需根据业务实际需要选用。
注意事项:部分精简版系统镜像没预装 curl,遇到 command not found 时,Debian/Ubuntu 系执行 sudo apt install curl -y,CentOS/RHEL 系执行 sudo yum install curl -y。另外,此命令返回的是服务器出站时的出口IP,若网络里部署了NAT网关或负载均衡,显示的是网关地址而非服务器网卡本身。
拿到IP后想确认它的物理位置、所属运营商或机房名称,用在线数据库查询平台最方便,常见于核对云主机所在节点,或分析异常请求来源。
实用做法:
避坑提醒:IP归属库更新存在延迟,IP段迁移后部分结果可能数周才刷新,别把单一平台结果当最终结论。移动网络下的定位精度一般到城市级,家庭宽带则可精确到区。交叉使用两个数据源核对,结果更可靠。
排查内网设备互访、设置共享目录或调试局域网服务时,需要知道服务器在内部网络中的私有地址。
特别提醒:使用云服务器(如阿里云、腾讯云、AWS)时,控制台显示的“内网IP”可能与系统内看到的网卡地址不同,因为虚拟网络层会做地址映射,两者都有效,但用途有区别。
已经通过SSH或远程桌面连上服务器,但忘了登录入口具体是哪个地址,可以用会话信息反查。
具体做法:
实操提示:这种方式反查出来的地址是连接发起方(本地电脑或跳板机)的IP,如果经过跳板机中转,看到的是跳板机的公网IP,并非你的真实位置。
这属于正常现象。域名解析目标可能是负载均衡器、CDN节点或反向代理的地址,而不是源站服务器的出口IP。先用 nslookup 域名 或 dig 域名 查看解析值,再和 curl 得到的出口IP对比,若差异明显,访问链路里大概率存在代理层。
最常见的情况是服务器没有配置公网出口,或者网络策略限制了外访。可以先 ping 网关地址确认内网连通,再用 traceroute 排查到公网的路由断点。若机房的网络架构里没有做NAT映射,服务器本身确实不会有公网IP,此时应检查网络策略或联系管理员确认出口配置。
可以,但有限制条件。需要保证发起连接的客户端也具备IPv6网络环境,且目标服务器的安全组或防火墙放行了对应协议。使用IPv6地址连接时,地址中的冒号需要按系统规范转义,例如在URL中需用方括号括起 [240e:...] 再填入端口。
查询服务器IP的核心在于先分清场景:出网访问用curl命令取公网出口地址,内网互访用 ipconfig 或 ip addr 看私有地址,归属核实用在线数据库交叉比对,追溯历史连接则翻看会话记录或事件日志。建议日常运维时把这些命令和查询路径整理成文档,遇到故障即可直接对照执行,节省排查时间。