【运维✨】云服务器公网 IP 迷雾:为什么本机看不到那个地址?

适合第一次用云服务的新手,5 分钟看懂「弹性公网 EIP」和「端口映射」


故事开场

小 A 买了一台云服务器,厂商给他分配了公网 IP 203.0.113.47

他登录机器,输入 ip a,却怎么也找不到这个地址------只有一张私有网卡 192.168.0.12

更奇怪的是,浏览器访问 203.0.113.47:8080 能看到网页,访问 203.0.113.47:5000 却直接超时。

小 A 陷入迷茫:

「公网 IP 到底在哪?为什么有的端口能进,有的不能进?」


1 分钟原理:云厂商在幕后做了一次「搬家」

云服务厂商为了节省公网地址,会给每台云主机绑定一个 弹性公网 IP(Elastic IP,简称 EIP) ,然后在机房边缘做一次 1:1 NAT

方向 地址变化
公网→私网 203.0.113.47:端口192.168.0.12:端口
私网→公网 192.168.0.12 源地址 → 203.0.113.47 源地址

结果

  • 本机永远看不到 203.0.113.47,只能看到私网 192.168.0.12
  • 公网 IP 像「影子」一样挂在云端,只负责「收包→转发」

2 分钟实验:把「影子」拆开看

① 在本机查地址

bash 复制代码
$ ip a | grep inet
inet 192.168.0.12/24 brd 192.168.0.255 scope global eth0

→ 确实只有私网地址

② 从公网来敲门

bash 复制代码
# 能通(云控制台放行了 8080)
curl http://203.0.113.47:8080

# 超时(云控制台没放行 5000)
curl http://203.0.113.47:5000

→ 能否连通 取决于「安全组 / 防火墙」是否把对应端口映射进来


3 分钟选择:我要不要开放更多端口?

方案 怎么做 优点 缺点
A. 继续加端口映射 在云控制台再开 TCP 5000 入方向 最简单,公网直连 每开一个端口就多一个攻击面
B. 只用 Nginx 反向代理 只保留 80/443,/api/ 转发到 localhost:5000 端口少,易配 HTTPS、限流、WAF 多一次转发,延迟略增

生产环境推荐 方案 B ;快速调试可用 方案 A


4 分钟命令:把 5000 映射进来(方案 A 示例)

  1. 登录云控制台 → 安全组 → 入方向规则
  2. 添加 TCP 5000 允许源 0.0.0.0/0
  3. 立即再测
bash 复制代码
curl http://203.0.113.47:5000

→ 通!


5 分钟总结:一句话背下来

"公网 EIP 是云端的'影子',背后 NAT 到私网;想从公网连新端口,要么去控制台放行,要么让 Nginx 代理,别指望本机能'看到'那个公网地址!"

记住这张图,以后再也不会被「找不到公网 IP」困扰啦!


彩蛋小贴士

  • 如果只想内网用,安全组直接禁止 0.0.0.0,只留公司/校园网段, Shadow 就彻底隐身。
  • 换区域 / 换云厂商,原理一模一样,只是菜单名字不同。
相关推荐
blasit17 小时前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
Sinclair4 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean5 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
蝎子莱莱爱打怪5 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
茶杯梦轩5 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
海天鹰6 天前
【免费】PHP主机=域名+解析+主机
服务器
DianSan_ERP6 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅6 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑