知玩指南
白蓝主题五 · 清爽阅读
首页  > 驱动工具

虚拟主机公网IP地址查看方法全解析

在搭建网站或者配置远程服务的时候,很多人会遇到一个问题:我买的虚拟主机到底绑定了哪个公网IP?尤其是在需要做域名解析、端口映射或服务器对接时,知道公网IP是第一步。

为什么需要查看虚拟主机的公网IP?

举个例子,你在阿里云买了一台ECS,在腾讯云备案了域名,想把域名指向这台机器。这时候就必须填一个IP地址。如果你不知道这台虚拟主机的公网IP,域名解析就无从谈起。另外,像远程连接MySQL、FTP服务、部署API接口,也都依赖公网IP。

常见的查看方式

大多数云服务商都会在控制台直接显示公网IP。比如登录阿里云ECS管理页面,进入实例详情,就能看到“公网IPV4地址”一栏。腾讯云、华为云也类似,位置可能叫“弹性公网IP”或者“网络信息”。

如果控制台没写清楚,也可以通过命令行快速查出。假设你已经SSH登录到虚拟主机,执行下面这条命令:

curl ifconfig.me

这个命令会访问一个专门返回客户端公网IP的小网站,输出结果就是你当前主机的公网出口IP。简单直接,适合临时排查。

另一个常用命令是:

curl ipinfo.io/ip

效果差不多,但返回的信息更详细,包括地理位置和运营商。有时候内网做了NAT转发,直接看本地网卡可能只能看到私有IP,比如192.168.x.x,这时候用外部服务查询才靠谱。

注意区分内网IP和公网IP

有些新手容易搞混。在虚拟主机上运行 ifconfigip addr 看到的通常是内网IP,比如172.16.x.x 或 10.x.x.x,这些不能从外网直接访问。真正能被互联网访问的,才是公网IP。

如果你看到分配的IP属于以下范围,那基本可以确定是内网地址:

  • 10.0.0.0 ~ 10.255.255.255
  • 172.16.0.0 ~ 172.31.255.255
  • 192.168.0.0 ~ 192.168.255.255

脚本自动化获取公网IP

如果你管理多台主机,手动一个个查太麻烦。可以写个小脚本自动获取并记录:

#!/bin/bash
PUBLIC_IP=$(curl -s ifconfig.me)
echo "["$(date)"] Public IP: $PUBLIC_IP" >> /var/log/public_ip.log

加上定时任务,每天跑一次,就能留下历史记录,方便追踪IP变动。

公网IP会变吗?

这要看你买的是不是固定公网IP。很多入门级虚拟主机默认分配的是动态公网IP,重启或者停机再开机,IP可能会变。一旦变了,之前做的域名解析就得重新更新,否则网站打不开。

如果你希望IP永久不变,得单独购买“弹性公网IP”服务,并绑定到主机。虽然多花点钱,但省去了频繁维护的麻烦。

没有公网IP怎么办?

部分虚拟主机默认只配内网IP,尤其是VPC架构下的实例。这时候需要去控制台申请一个弹性公网IP,然后手动绑定。操作路径一般在“网络与安全”-“弹性公网IP”里,点击“绑定实例”选择你的虚拟主机即可。

完成绑定后,再用 curl ifconfig.me 测试,应该就能拿到可访问的公网地址了。