怎么查看linux的公网ip
怎么查看linux的公网ip详细介绍
在 Linux 系统中查看公网 IP 地址的方法主要分为命令行工具和在线服务两类。以下是具体操作步骤及注意事项:
一、命令行工具:无需图形界面,直接通过终端获取
1.
curl 命令(最常用)
通过向第三方 IP 查询服务发送 HTTP 请求获取结果:
bash
ifconfig.meipinfo.io/ip
icanhazip.com
示例输出:
plaintext
111.225.148.16 # 典型IPv4地址2001:db8::1 # 典型IPv6地址
2.
wget 命令(适合脚本自动化)
bash
-qO- ifconfig.me-qO- ipinfo.io/ip
3.
dig/nslookup 命令(通过 DNS 查询)
利用 OpenDNS 的特殊解析服务:
bash
+short myip.opendns.com @resolver1.opendns.commyip.opendns.com resolver1.opendns.com
优势:即使无法访问 HTTP 服务,只要 DNS 正常即可工作。
4.
host 命令
bash
myip.opendns.com resolver1.opendns.com
5.
网络接口查询(仅限直接连接公网时)
bash
addr show
注意:此方法仅在 Linux 设备直接连接公网(如 VPS)时有效。若通过路由器 NAT 上网,显示的是内网 IP(如192.168.x.x)。
二、在线服务:适合图形界面用户
- 浏览器访问:
https://ipinfo.io:显示 IP、地理位置、运营商等信息。https://whatismyip.com:简洁界面,直接显示 IP。https://icanhazip.com:纯文本 IP,适合脚本解析。
- API 接口:
https://api.ipify.org?format=json:返回 JSON 格式数据。https://ifconfig.me/ip:纯文本 IP,支持 IPv6。
三、进阶技巧
1.
脚本自动化
创建脚本get_ip.sh:
bash
ifconfig.me
"
执行:
bash
+x get_ip.sh./get_ip.sh
2.
区分 IPv4/IPv6
bash
ifconfig.meifconfig.me
3.
验证 IP 真实性
同时使用多个服务验证:
bash
ifconfig.meicanhazip.com
四、常见问题及解决方案
- 无法访问服务:
- 检查网络连接:
ping ifconfig.me - 更换服务:尝试
ipinfo.io或ipecho.net - 检查防火墙规则:确保 80/443 端口未被封锁
- 检查网络连接:
- 返回内网 IP:
- 确认设备是否直接连接公网
- 若通过路由器上网,需登录路由器管理界面查看 WAN 口 IP
- 隐私保护:
- 使用 HTTPS 服务:
curl https://ifconfig.me - 通过代理查询:
curl -x socks5://127.0.0.1:1080 ifconfig.me
- 使用 HTTPS 服务:
五、工具安装
若系统未预装工具,可通过包管理器安装:
bash
dnsutils
dnf bind-utils
pacman dnsutils
六、总结
| 方法 | 推荐场景 | 示例命令 |
|---|---|---|
| curl | 快速查询,支持多种格式 | curl ipinfo.io |
| dig/nslookup | 网络故障时备用 | dig +short myip.opendns.com |
| 在线服务 | 图形界面用户 | 访问https://whatismyip.com |
| 脚本 | 自动化任务 | 编写get_ip.sh脚本 |
通过以上方法,您可以轻松获取 Linux 设备的公网 IP 地址。若涉及服务器配置或安全策略,建议结合具体场景选择合适的查询方式。