上一篇
在Linux系统中,可通过命令行快速查看公网IP,常用方法包括:使用curl访问外部服务(如curl ifconfig.me、curl icanhazip.com或curl api.ipify.org),或利用dig查询DNS记录(dig +short myip.opendns.com @resolver1.opendns.com),若未安装curl,可用wget替代。
查看Linux公网IP的多种方法
在Linux系统中,查看本机的公网IP地址是常见的需求,无论是用于远程连接、网络配置还是排查问题,以下是几种简单且高效的方法,适用于不同的使用场景:
方法1:通过第三方网站API查询
大多数公网IP查询工具通过访问外部服务器的API返回结果,Linux用户可以直接用curl或wget命令调用这些服务。
curl ifconfig.me curl icanhazip.com curl ipinfo.io/ip
说明:
ifconfig.me、icanhazip.com、ipinfo.io均为知名IP查询服务,返回纯文本格式的公网IP。- 如果未安装
curl,可使用sudo apt install curl(Debian/Ubuntu)或sudo yum install curl(CentOS/RHEL)安装。
方法2:使用DNS查询命令
通过查询特定DNS记录,可间接获取公网IP地址,此方法依赖dig命令(需安装dnsutils包)。

dig +short myip.opendns.com @resolver1.opendns.com
说明:
dig命令向OpenDNS的解析器发送请求,直接返回IP。- 若未安装
dig,使用sudo apt install dnsutils或sudo yum install bind-utils安装。
方法3:通过路由表查询
对于某些网络环境(如使用NAT网关的公网IP),可通过查询网关路由信息获取IP。
ip route get 8.8.8.8 | awk '{print $7}'
说明:

- 该命令查询到Google DNS服务器(8.8.8.8)的路由路径,并提取本机出口IP。
- 此方法可能不适用于所有网络环境,需结合实际情况测试。
方法4:使用图形化工具(如有桌面环境)
若系统安装了桌面环境,可通过浏览器直接访问IP查询网站(如WhatIsMyIP),页面将自动显示公网IP。
常见问题解答
-
为什么不同工具返回的IP不一致?
- 可能因网络出口多线路(如多WAN口)或运营商NAT导致,建议优先使用
ipinfo.io/ip等权威服务。
- 可能因网络出口多线路(如多WAN口)或运营商NAT导致,建议优先使用
-
如何验证IP是否为真实公网IP?

在路由器后台查看WAN口IP,或联系网络管理员确认。
-
查询命令无响应怎么办?
- 检查网络连接,或尝试更换工具(例如从
curl切换为wget)。
- 检查网络连接,或尝试更换工具(例如从
安全提示
- 公网IP暴露可能增加网络攻击风险,建议仅在必要时查询,并通过防火墙限制不必要的端口访问。
- 避免使用来源不明的第三方服务,防止隐私泄露。
引用说明
本文参考以下资源编写:
- curl官方文档
- OpenDNS官方解析服务
- ipinfo.io API文档
- Linux
ip-route手册页(可通过man ip-route查看)
