服务器刚交付或者网络配置变更后,第一件事通常都是确认它当前的IP地址。公网IP负责对外提供服务,内网IP则用于局域网内部通信,两者一旦混淆,远程登录、网站访问、防火墙策略都有可能出问题。与其到处搜教程,不如直接掌握几套在不同系统下都能用的查询方法,迅速认清服务器的网络身份。
想让服务器自己报出公网地址,最直接的方式就是让它去访问一个外部接口,然后读取返回的数据。各大主流系统的终端里都有现成的网络工具,无需额外安装软件。
按下Win+R键,在弹出的运行框中输入cmd并回车,打开命令提示符窗口后,输入以下任一命令:
执行后屏幕显示的纯数字字符串,就是你当前访问互联网所使用的公网地址。
打开终端窗口,输入以下任一命令即可获取公网IP:
这里有一个需要留意的判断标准:如果返回的地址是192.168.x.x、10.x.x.x或者172.16.x.x开头的,那多半是内网地址。出现这种情况,要么服务器本身就只有私网IP,要么网络环境里做了公网地址的转换。
另一个容易踩坑的地方是NAT场景。当服务器挂在负载均衡器或者公司路由器后面时,命令查到的往往是网关的出网地址,而不是服务器网卡上实际配置的公网IP。想要确认真实地址,务必去云厂商控制台或路由器管理后台核对。
举个例子,新接手一台云主机时,通过跳板机登录后执行一条查询命令,能立刻确认实例绑定的弹性公网IP,后续配置安全组白名单就方便多了。
命令行返回的只是一串数字,如果需要了解IP所在的省份城市、归属运营商,或想粗略评估访问延迟,网页端的可视化工具更直观。
浏览器打开ipip.net等专业查询站点,页面会自动识别当前公网出口地址,并展示运营商、地理范围等详细信息。也可以手动输入任意IP进行反向查询,快速了解该地址的归属组织。
看待查询结果时,注意以下三个要点:
在服务器上执行ip addr(Linux)或ipconfig(Windows)这样的命令,可以看到网卡上绑定的所有地址。凡是落在以下三个网段范围内的,都属于内网IP:
网卡上显示的地址如果属于上述段位,那这个网卡连接的必然是内网环境。云服务器的控制台通常会同时标注“内网IP”和“公网IP”两个字段,前者用于VPC内实例互通,后者用于外网访问。
要注意的是,云服务器的公网IP很多时候不是直接绑在操作系统上的,而是通过NAT规则映射过来的。也就是说,在系统里看不到公网IP,但外部确实能通过它访问到你的服务,属于正常现象。
远程连不上服务器,我建议按下面的顺序做排查:
实际操作中常见的一个误解是:把内网IP当作公网IP配置到域名解析里,结果用户全部无法访问。判断标准很简单,域名解析用的必须是公网IP,内网IP只能用于内部服务调用。
大多数云厂商采用NAT方式为服务器提供公网访问,公网IP并不直接配置在操作系统网卡上,而是映射到内网IP上。登录服务器执行ipconfig只看到私有网段属正常现象,真实公网IP需登录云控制台查看。
不能直接转换,但可以通过端口转发、NAT映射或绑定弹性公网IP等方式,实现内网地址对外开放指定的服务端口。反向地,公网IP也不会自动变成内网IP,两者是不同网络层次的概念。
仅做普通查询是安全的,因为这些站点只接收你的请求并返回IP信息。但不要在公网环境下使用明文方式传输敏感数据的查询,有需要时应通过VPN等加密通道操作,避免请求内容被截获。
先把系统自带的curl命令用熟,这是查询公网IP最快、最省事的途径;再结合在线平台获取归属地和运营商详情,判断网络架构是否符合预期。遇到云服务器时,云控制台始终是查真实公网IP的权威来源。平时养成检查网卡地址、确认监听范围和核对安全策略的习惯,能省去大量排查故障的时间。