跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Linux系统查看服务器外网IP地址 常用命令行方法

直接用curl ifconfig.me最稳,90%场景下能立刻拿到纯IP字符串;ifconfig和ip addr只能查内网地址(如192.168.x.x),因NAT后公网IP由路由器或云平台SNAT决定,本机无感知。 直接用
curl ifconfig.me
最稳,90% 场景下能立刻拿到纯 IP 字符串,不带多余空格或换行,适合脚本调用。 为什么
ifconfig
和
ip addr
查不到外网IP 这两个命令只查本地网络接口配置,显示的是内网地址(比如
192.168.x.x
、
10.x.x.x
或
172.16–31.x.x
),根本看不到经过 NAT 后的公网出口 IP。路由器或云厂商的 SNAT 规则已经把你的请求“伪装”出去了,本机操作系统压根不知道那个外网 IP 是多少。 常见错误现象: 执行
ifconfig eth0
或
ip addr show eth0
得到
192.168.1.15
,误以为这就是公网 IP 在云服务器(如腾讯云、阿里云)上运行这些命令,看到的仍是内网地址,和控制台显示的“弹性公网 IP”对不上
curl
类服务怎么选:纯 IP 还是带地区信息 不同 HTTP 接口返回格式差异大,选错会导致解析失败或额外清洗成本: Docker Desktop(linux) 当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。 下载 只要干净 IP(如写监控脚本、自动注册服务):
curl ifconfig.me
、
curl icanhazip.com
、
curl v4.ident.me
—— 响应体就是一行纯 IPv4 字符串 需要地区/运营商信息(如调试 CDN、判断访问来源):
curl cip.cc
、
curl myip.ipip.net
、
curl ip.cn
—— 返回多行文本或 JSON,含空格、冒号、中文,需
awk
/
grep
提取 注意
curl ip.sb
默认返回 JSON(含地区),加
-s
和
jq -r .ip
才能取纯 IP,不如直接用
ifconfig.me
遇到超时或 DNS 失败怎么办 不是所有服务都永远可用,单点依赖容易翻车: 优先组合多个备用源,例如:
curl -s ifconfig.me || curl -s icanhazip.com || curl -s v4.ident.me
某些环境禁用 80/443 出站(如严格内网),
dig +short myip.opendns.com @resolver1.opendns.com
走 DNS 协议,可绕过 HTTP 限制 如果
curl
命令本身不存在(极简容器镜像),改用
wget -qO - ifconfig.me
,兼容性略高 避免用
curl ip.6655.com/ip.aspx
—— 返回带 HTML 标签的 ASPX 页面,解析麻烦且不稳定 真正容易被忽略的是:没有做超时控制。默认
curl
可能卡住几十秒,建议统一加
--max-time 3
,尤其在自动化任务里——慢比错更难排查。

相关文章