✅ 方法一:在服务器内部通过命令行获取(推荐)

Linux / macOS / WSL:

curl ifconfig.me

curl ipinfo.io/ip

curl icanhazip.com

💡 这些服务会返回你当前出口的公网 IP(即 NAT 后的公网 IP)。

Windows(PowerShell):

(Invoke-WebRequest -Uri "https://ifconfig.me").Content

✅ 方法二:查看云服务商控制台(最准确)

如果你使用的是 阿里云、腾讯云、AWS、华为云等云服务器:

  1. 登录对应云平台控制台(如 阿里云 ECS 控制台)

  2. 找到你的实例

  3. 查看 “公网 IP” 或 “弹性公网 IP(EIP)”

⚠️ 注意:有些云服务器默认没有分配公网 IP,需手动绑定 EIP。

❌ 不推荐的方法

方法

问题

ip addr / ifconfig

只显示内网 IP(如 172.x, 192.168.x),不是公网 IP

hostname -I

同样只返回内网地址

第三方不明网站

可能记录你的 IP,存在隐私风险

🔒 安全提醒

  • 避免频繁调用免费 IP 查询 API,部分服务有速率限制。

  • 如果服务器在 NAT 后(如家庭宽带、企业内网),你看到的公网 IP 是路由器的出口 IP,服务器本身可能无法直接被外网访问(需配置端口转发)。