ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

弹性公网IP详解:云主机如何获得公网访问能力?

2026/10/2 8:46:10 拓冰建站 浏览量
弹性公网IP详解:云主机如何获得公网访问能力? 我平时帮人弄服务器十次里有八次被问到一个问题为啥我明明买了一台云主机给的却是一个10打头的内网地址网站扔上去外面死活访问不了等我说完“还得再申请一个弹性公网IP”对方更懵了——IP不是跟着机器走的吗还要单独买这玩意儿到底是个啥。这篇就把移动云的弹性公网IP彻底讲清楚。它本质上是一张“公网入场券”负责把云主机从只有内网环境的封闭空间里拉出来让外部用户能通过互联网访问你的网站、接口或者远程桌面。不管你是准备搭个人网站、跑个API服务还是帮团队规划云上资源先把弹性公网IP这个概念弄明白后面所有网络操作才玩得转。1. 弹性公网IP到底是干什么的1.1 你买的云主机自带IP为什么不好使很多人刚接触云计算时有个错觉我买一台云服务器它就理所当然有一个能被全世界访问的公网IP。实际上绝大多数云平台默认分配的是一个私有IP也就是VPC内部地址常见的是10.x.x.x、172.16.x.x、192.168.x.x这类网段。它的作用范围只在你的私有网络里云主机之间互访没问题但出了这个圈子外部设备根本不知道这个地址在哪自然也就访问不到。这时候弹性公网IPElastic IP简称EIP就出来了。它是由云平台统一规划、独立存在的一种网络资源本质上是一个真实可路由的公网IPv4地址和你云主机网卡上的内网IP是两码事。拿到EIP之后你需要手动把它绑定到某台云主机上这台机器才真正获得“被公网访问”的能力。我用一个生活里的例子你立刻就懂了内网IP像是办公楼里每个工位的分机号同事之间随便拨但外面的人想找你必须得知道公司总机由总机转到分机。EIP就是那个总机号码没有它外线电话打不进来。云的逻辑也一样你得先把EIP这个“总机”申请到再告诉它转接到哪台云主机。1.2 “弹性”两个字价值全在灵活性为什么前面要加“弹性”两个字而不是直接叫“公网IP”因为它在使用方式上比传统IP灵活太多。传统的物理服务器时代IP地址是和网卡绑定的。你要换一台机器旧机器释放了IP新机器重新配置IP还要改DNS解析、等生效业务中断时间按小时算。而弹性公网IP是把IP做成一个可以独立操控的资源对象它今天可以绑在A机器上明天解绑再绑到B机器上整个过程可能只需要几分钟甚至几十秒。如果你做了脚本化处理几秒钟就能完成切换。这种“IP跟业务走不跟机器走”的特性在故障转移和业务迁移时尤其好用。比如A机器硬件出问题你在另一台新机器上把环境复制好解绑EIP再绑过去外部用户无感知连DNS都不用等。带宽也是一样的道理今天业务量上来了在控制台把带宽峰值调高明天活动结束再调低不用重新买机器也不用动IP。另外一点容易被忽略EIP是独立计费的云资源你不用时可以保留也可以随时释放。这个“用完能放”的能力才配得上“弹性”这两个字。如果IP只能买不能退、只能绑一台不能换绑那跟传统机房里买条固定IP没什么区别也就没有单独做成云产品的必要了。2. 移动云弹性公网IP的真实应用场景2.1 给网站、应用和API一个公网入口最典型的场景就是对外提供服务。你自己写了个网站、搭了个博客、部署了一个后端API希望用户通过域名访问又或者你的业务需要接收第三方平台的回调消息比如支付通知、登录回调这些服务必须有一个公网可达的地址EIP就是这个地址的提供者。不绑EIP的情况下云主机就算上面跑着Nginx、Tomcat监听80或443端口公网请求也进不来。绑上EIP之后再把安全组规则放行对应端口外部的请求才会被路由到这台机器上。我在实际部署中遇到过太多“一模一样”的案例用户在云主机上把服务起好了本地SSH连上去也没问题但网页就是打不开最后排查半天发现就是没绑EIP或者绑了没放行安全组。2.2 远程管理机器时它就是你的门把手运维层面的刚需。你要SSH登录Linux服务器要在Windows云主机上开远程桌面都得靠公网IP作为入口。虽然现在很多平台提供网页版的VNC登录方式但那种方式通常在网络环境特殊或者带宽受限时用真正高效的运维还是得走SSH和RDP而这两个协议都需要一个能从你所在网络访问得到的地址。EIP就是那个地址。这里要说一个我的习惯即便有EIP也尽量不要把它直接暴露在所有端口上。比如Linux服务器把SSH端口从默认的22改到高位端口或者至少设置好密钥登录、禁止root密码登录。这不是EIP的问题而是暴露在公网上的机器时时刻刻都会被人扫描安全习惯跟不上早晚会吃亏。2.3 临时测试、联调与外发数据的快速通道很多临时需求也离不开EIP。比如你做两个系统之间的联调对方需要访问你这边的一个测试接口或者你要给客户演示一个Demo客户需要一个公开链接再或者你本地开发环境需要接收某个外部服务的回调不想改代码逻辑临时申请一个EIP绑到开发机上就能解决。这种场景下EIP“按需申请、用完释放”的优势特别明显。你不用像传统机房那样为了一次持续半小时的联调去拉一条永久宽带然后一直付月租。按量计费的EIP通常按小时收费带宽可以设得很低用完就释放成本可能就几毛钱。我个人的经验是凡是不确定要用多久的公网出口需求一律先用按量计费EIP顶着等确认长期稳定再改成包年包月既省事又不心疼钱。3. 申请并绑定一个EIP实操流程完整走一遍3.1 申请之前先拍板这三件事不要一上来就点申请按钮先把三件事想清楚。第一是地域。EIP属于地域级别的资源它只能绑定到同一地域下的云主机跨地域不能绑定。比如你的云主机开在华东某节点那就得申请同节点的EIP跑到华北节点去申请回来根本绑不上。这个坑我见过不少新手踩申请的时候不留意地域绑定的时候弹错误白耽误时间。第二是计费模式。现在主流两种包年包月和按量付费。包年包月适合明确长期使用的业务价格稳定按量付费适合不确定用量、短期测试的场景灵活但单价通常比包年包月折算下来贵一点。先别纠结哪种更省钱后面单独讲申请前至少要心里有数。第三是带宽峰值。你要评估业务平时的流量大概是多少设置一个合理的上限。这个值不是越小越好也不是越大越好。设小了业务高峰期带宽跑满用户访问卡顿设大了费用明显上涨。我见过有人图省事直接拉满100Mbps结果一个月下来账单很难看业务也就用2Mbps。3.2 控制台申请与绑定的七个步骤在移动云控制台操作整体流程不算复杂我按正常操作顺序给你整理一下登录移动云官网控制台在左侧菜单找到“网络”分类下的“弹性公网IP”进入EIP列表页。点击“申请弹性公网IP”按钮进入配置页面。选择与云主机相同的地域这是绑定成功的前提。选择计费方式。常用的组合是“按量付费按流量计费”或“包年包月按固定带宽计费”按自己的预算来。设置带宽峰值。不确定就先按5Mbps起步后面可以随时调整。确认数量。一般申请1个就够如果有多台机器需要公网访问可以一次申请多个也可以后面再加。提交订单支付回到EIP列表等状态变为“可用”。申请成功后下一步就是绑定云主机。在EIP列表右侧找到“绑定”操作点击后选择目标云主机实例确认绑定即可。绑定的本质是把EIP这个公网地址和云主机当前使用的内网网卡做一层映射关系不需要你在操作系统里面改任何网络配置。这个设计很省心比传统的“登录服务器改/etc/network/interfaces或者改网卡属性”要简单太多。绑定完成后在云主机里执行ip addr或者ifconfig查看网卡你会看到内网IP还在而公网IP通常是以辅助方式关联的并不直接出现在系统网络配置里。3.3 别忘安全组放行端口这是拦住很多人的“隐形门槛”。EIP绑定成功后并不是所有端口就自动对外开放了。云平台默认的安全组策略往往比较严格通常是“默认拒绝入站流量”你需要显式放行需要的端口。以最常见的网站服务为例你需要在安全组入站规则里加上来源IP填0.0.0.0/0协议选TCP端口填80和443如果还要SSH登录再放行22端口。规则配置好之后最好去云主机上再确认一下系统自身的防火墙CentOS的firewalld、Ubuntu的ufw都可能拦截流量两边都要打开对应的端口才能真正通畅。我特意把安全组放在“绑定”之后讲是因为很多人觉得“绑上IP就万事大吉”。实际上EIP、安全组、系统防火墙三者缺一不可。绑了EIP等于给你家大门装上了门牌号安全组走漏了等于门卫不放人进来系统防火墙再拦一道等于你自己家里还反锁了。这三层但凡有一层没通服务就是不可访问的。所以在测试的时候建议从外网机器上做个连通性测试比如ping公网IP或telnet IP 80一步步定位问题在哪一层。4. 计费方式怎么选才能少花冤枉钱4.1 固定带宽和按流量到底怎么算账这是EIP计费里最让人纠结的问题。简单说固定带宽模式是你预先买一个带宽上限比如2Mbps、5Mbps、10Mbps无论你用不用都要按这个保底费用付钱按流量模式则不设带宽保证用多少流量付多少钱带宽峰值通常也可以设置一个上限用来防止失控。怎么选核心看你的业务流量曲线。一个个人博客或者企业官网一天到晚其实没多少访问量峰值也就几Mbps这种就用固定带宽比如5Mbps一个月费用是确定且可控的。反过来如果你的业务流量波动很大平时没动静、一活动就爆量按流量模式可能更划算。因为固定带宽买高了平时闲置浪费买低了活动来了又不够用升级还要操作。按流量则不存在这个矛盾用多少算多少。我举个例子算笔账。某小型网站月流量约200GB假设按流量单价折合下来每GB约0.8元具体以移动云官网价格为准那月流量费大概160元。如果改成固定带宽10Mbps按常见价格可能在百元左右但前提是你们那边卖EIP带带宽套餐且不限流量这里只是抛个思路。真正的结论是长期稳定低流量业务选固定带宽短期高波动业务选按流量别只看单价。我自己的项目通常用固定带宽5Mbps开发测试才用按流量一个月下来费用差好几倍。4.2 实际省钱经验与欠费回收风险几条实打实的省钱建议。第一申请EIP时地域一定别选错选错了不能绑定要么退了重买要么就只能闲置等于白花钱。第二暂时用不上的EIP一定要释放。很多人申请了忘了退一个月多出几十上百块累计起来不是小数。第三带宽峰值不是越高越好如果你不确定先设个保守值比如3Mbps或5Mbps实际不够再调大。大部分云平台的EIP都支持带宽峰值实时调整你完全不需要一开始就“拉满”。再提醒一个容易被忽视的规则按量付费的EIP如果绑定的云主机被释放了或者你长期欠费平台有一定的时间窗口后IP会被系统回收。回收之后你再想要同一个IP基本不可能了。这个IP涉及的一切解析、白名单、回源地址都得重新配置。我见过有人因为忘记续费一个EIP被回收结果合作方把旧IP写死在系统白名单里重新换IP还得走流程申请相当折腾。所以如果你对某个IP有感情或者业务强依赖它最好绑定一台常驻实例别让资源空转。5. 日常使用中的高频故障与排查技巧5.1 绑了EIP却Ping不通八成是这四层问题“我明明绑了EIP为什么从外面Ping不通”这个问题我问过很多人最终原因基本逃不出下面四个层级。第一层安全组没放行ICMP协议。很多平台默认安全组只放行了自己指定的端口ICMP也就是Ping用的协议并没有放行。你去安全组入站规则里加一条“ICMP来源0.0.0.0/0”放行后再试多半就行了。第二层云主机系统防火墙拦截。Linux的iptables、firewalldWindows的防火墙都有可能屏蔽外部ping包。测试时可以临时把这台机器的防火墙关掉一次如果通了就说明系统层面挡了。注意别一直关着定位到问题后按需放行精准端口就好。第三层EIP确实没绑定成功。这个不要臆断去控制台看EIP状态和绑定的实例ID。很多时候用户买了很多云主机结果在列表里绑错了机器。看似绑了实际绑的并不是你正在测的那台。第四层云主机本身网络异常。比如系统网卡down了、路由表被改坏了、网络服务异常。这种属于实例层面的问题可以尝试重启网络服务进一步定位。多数情况下前两层原因占80%先从这两处查起别一上来就怀疑平台。5.2 带宽跑满或费用异常先别急着加钱业务访问变卡很多人第一反应是“带宽不够升级带宽”。但带宽跑满只是现象原因未必是需求增长。我遇到过几次典型情况一次是服务器日志没开轮转日志文件越滚越大监控程序不断传输日志把带宽吃满了另一次是云主机被入侵成了别人对外扫描或发包的“肉鸡”短时间内流量飙升还有一次是备份任务、代码拉取、镜像推送全部挤在同一时段执行瞬时带宽直接打满。碰到这种情况正确做法是先看监控面板查一下是哪个时间段的流量飙升、入口流量和出口流量哪个大。入口大可能是被扫描或攻击出口大可能是内部服务在往外吐数据。再登录系统通过ss -ant看连接数通过iftop看实时流量通过这些手段找到具体的流量来源。如果确认是正常业务增长再加带宽不迟如果是异常流量加带宽等于给别人攻击你的资源买单。费用异常同理。按流量计费的EIP如果突然产生天价账单先别慌也别急着把EIP删掉。去查流量账单、看流量使用曲线的峰值时间段很多时候是某台机器的Agent上报数据开了大流量或者备份策略出了问题。解决根源之后再考虑把这个EIP的带宽峰值调低防止再次失控。5.3 解绑、释放、IP换绑时的注意事项解绑EIP本身不影响云主机运行但有几个细节要留意。首先解绑之后云主机就失去了公网访问能力如果你正在通过这个IP远程登录解绑的瞬间连接会断开这是正常的。其次解绑后EIP仍然保留在你的账号下但多数平台会开始收取“闲置费”或者“保有费”虽然通常不高但长期闲置一样是成本。再一个如果EIP的带宽是按固定带宽购买的解绑后带宽资源还在你随时可以绑到另一台机器上。释放EIP则是彻底退掉这个资源释放后IP会被平台回收无法找回。所以释放之前务必检查三个方面一是域名解析记录有没有A记录指到这个IP二是其他系统里有没有写死这个IP的白名单、回源配置、数据库连接地址三是第三方服务如果有回调地址配置也需要同步更新。我强烈建议在释放一个生产环境EIP之前先拿一张纸列出它涉及的所有关联项勾完再动。换绑IP这个操作在高可用里很常见。比如A机器要停机维护你先把EIP解绑绑定到B机器上。这里有个诀窍尽量在业务低峰期操作并且提前把B机器上的环境、服务、安全组都准备好。绑定操作本身很快但业务恢复可快可慢取决于你B机器的环境是否完备别到时候IP切过去了服务却起不来。6. 几条老鸟才知道的EIP使用心得6.1 一个EIP不要什么都往上挂很多小团队图省事一台云主机上既跑网站又跑数据库还挂着一个API服务然后用一个EIP对外提供所有服务。短期看是省钱长期看是安全隐患和运维负担。一旦某一个服务被攻击或者出现异常流量整个IP的带宽都被拖垮其他服务全部受到影响。如果你业务确实比较重要建议按服务类型拆分网络出口比如Web和API用一组EIP运维管理入口用另一组EIP加独立安全组规则。弹性公网IP的成本并不高多一两个带来的安全性提升完全值回票价。另外一个点是EIP只解决“公网可达”的问题不解决“高可用”的问题。如果业务要求更高的可用性那要上负载均衡或者高可用组让多个后端实例分担流量EIP绑定到负载均衡上而不是单台云主机。别把EIP当作高可用的全部它只是入口后端有多扛打才决定可用性。6.2 域名和证书的坑提前安排有了EIP之后大多数人会继续做两件事绑定域名、部署HTTPS证书。这里面有个顺序问题容易出错。域名解析建议用CNAME或A记录指向EIP如果以后EIP换了A记录要改如果用CNAME指到平台给的一个域名换IP时你就不用动自己的解析配置。我个人倾向于能用CNAME就用CNAME省心。HTTPS证书方面如果你申请的是免费证书或者云平台提供的托管证书证书绑定的通常是域名而不是IP。只要域名不变换IP不影响证书生效。但有一种情况要注意如果你在证书里填了IP地址作为“IP证书”那EIP一换证书就废了得重新申请。国内很多合规场景更认域名所以能用域名就用域名别为了偷懒直接拿IP做证书。6.3 用EIP做简单的故障转移老手还会把EIP当作一个轻量的故障转移工具。比如你有两台云主机一台主用一台备用正常情况下EIP绑在主用机上。你可以写一个简单的健康检查脚本定期去探测主用机的服务端口如果连续探测失败就通过云平台API把EIP解绑并绑定到备用机上。整个过程可以完全自动化实现秒级切换。这种方案比直接买负载均衡要轻量得多适合那些不想引入额外组件的场景。当然它也有短板没有健康检查的精细调度、没有会话保持、没有多后端流量分发。所以我的定位是“轻量故障转移”不是“正经负载均衡”。真要上生产级的架构还是把负载均衡和EIP搭配起来用。但如果你只有两台测试机、一个小型内部系统这套脚本方案完全够用而且能让你对EIP的理解深一个层次。最后再分享一点我个人在长期使用中的体会弹性公网IP看似只是一个“IP地址”但它是整个云上业务对外通信的起点。你后面要做的域名解析、HTTPS、安全组、负载均衡、故障切换全部绕不开它。把它的绑定逻辑、计费逻辑、排查方法都搞明白云上网络这一块基本就通了。以后遇到任何“公网访问不通”的问题你都能按“EIP有没有绑→安全组有没有放行→系统防火墙有没有拦→服务有没有监听”的顺序快速定位不慌也不瞎猜。