【运维✨】云服务器公网 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 就彻底隐身。
  • 换区域 / 换云厂商,原理一模一样,只是菜单名字不同。
相关推荐
wadesir5 分钟前
当前位置:首页 > 服务器技术 > 正文Linux网络HSRP协议(实现路由器热备份与高可用性的实用指南)
linux·服务器·网络
稻谷君W8 分钟前
Ubuntu 远程访问 Win11 WSL2 并固定访问教程
linux·运维·ubuntu
泡沫·8 分钟前
4.iSCSI 服务器
运维·服务器·数据库
胡八一12 分钟前
解决PHP未检测到您服务器环境的sqlite3数据库扩展报错
服务器·数据库·php
不解不惑23 分钟前
OpenAI whisper 语音识别服务器搭建
服务器·whisper·语音识别
gaize121331 分钟前
适合业务规模较大的场景的服务器测评
服务器
00后程序员张1 小时前
iOS 抓不到包怎么办?从 HTTPS 解密、QUIC 排查到 TCP 数据流分析的完整解决方案
android·tcp/ip·ios·小程序·https·uni-app·iphone
悠悠121381 小时前
告别Zabbix?我用Netdata只花10分钟就搞定了50台服务器的秒级监控(保姆级实战)
运维·服务器·zabbix
天庭鸡腿哥1 小时前
大小只有4K的软件,可让系统瞬间丝滑!
运维·服务器·windows·microsoft·everything
虚伪的空想家1 小时前
华为昇腾Atlas 800 A2物理服务器开启VT-d模式
运维·服务器·ubuntu·kvm·vt-d·直通