linux查看本机服务器的外网IP命令

在 Linux 中查看本机服务器的外网 IP(公网 IP)可以通过以下几种方法:

1. 使用 curl 查询外部服务(推荐)

bash 复制代码
curl ifconfig.me

或:

bash 复制代码
curl icanhazip.com

或:

bash 复制代码
curl ipinfo.io/ip

这些服务会返回你的公网 IP 地址。

2. 使用 wget 替代 curl

bash 复制代码
wget -qO- ifconfig.me

或:

bash 复制代码
wget -qO- icanhazip.com

3. 使用 dig 查询 DNS 记录(适用于动态 DNS 或特定场景)

bash 复制代码
dig +short myip.opendns.com @resolver1.opendns.com

4. 使用 hostnslookup

bash 复制代码
host myip.opendns.com resolver1.opendns.com

或:

bash 复制代码
nslookup myip.opendns.com resolver1.opendns.com

5. 使用 ipifconfig 查看本地网络接口(仅显示内网 IP,不推荐用于外网 IP)

bash 复制代码
ip a

或:

bash 复制代码
ifconfig

(这些命令通常只显示内网 IP,如 192.168.x.x10.x.x.x,不适用于直接获取公网 IP。)


注意事项

  • 如果服务器位于 NAT 或防火墙后(如家用路由器、云服务器内网环境),上述方法返回的是网关或云服务商分配的公网 IP。

  • 某些云服务器(如 AWS、阿里云)的公网 IP 可能需要通过控制台或元数据服务查询,例如:

    bash 复制代码
    curl http://169.254.169.254/latest/meta-data/public-ipv4  # AWS EC2

选择最简单的方法(如 curl ifconfig.me)即可快速获取外网 IP。

相关推荐
tntxia12 小时前
linux curl命令详解_curl详解
linux
扛枪的书生14 小时前
Linux 网络管理器用法速查
linux
顺风尿一寸17 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
MrSYJ3 天前
TCP协议理解
后端·tcp/ip
戴为沐4 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698035 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式