一、公网IP与私网IP的本质区别
- 公网IP:全球唯一,直接暴露在互联网,任何人都能访问,适合对外服务。
- 私网IP:仅在本地网络(如VPC、局域网)内唯一,外部无法直接访问,适合内部通信。
二、实际应用场景举例
1. 公网IP典型场景
- 游戏客户端接入:玩家在家用网络通过公网IP连接到游戏服务器。
- 跨地域服务:全球玩家通过Anycast或CDN加速,统一接入公网IP,自动路由到最近节点。
- 第三方API对接:服务器需要被外部支付、社交等服务回调时,需暴露公网IP。
2. 私网IP典型场景
- 服务器集群内部通信:如游戏逻辑服与数据库、Redis、消息队列等,全部走私网IP,安全高效。
- 多区服部署:每个区服节点用私网IP互联,便于横向扩展和管理。
- 负载均衡后端:SLB/ELB等负载均衡器前端用公网IP,后端真实服务器用私网IP,隐藏内部结构。
三、技术实现与运维建议
1. NAT网关与端口映射
- SNAT(源地址转换):内网服务器访问外网时,自动将私网IP转换为公网IP,外部看不到真实私网IP。
- DNAT(目的地址转换):外部访问公网IP+端口时,自动转发到指定私网IP+端口,实现端口复用和服务隔离。
- 安全建议:只开放必要端口,避免全端口暴露,配合安全组/ACL严格控制访问。
2. 弹性IP与弹性网卡
- 弹性IP(EIP):可随时绑定/解绑到云主机或负载均衡,灵活应对故障切换和弹性扩容。
- 弹性网卡:一台云主机可绑定多个网卡,实现多IP多网络隔离,便于多业务部署。
3. 网络安全与隔离
- VPC子网划分:将不同业务、环境(如生产、测试、开发)划分到不同子网,提升安全性。
- 安全组/ACL:公网IP需严格配置安全组规则,私网IP可适当放宽,但仍建议最小权限原则。
4. 运维监控
- 公网IP流量监控:重点关注DDoS、异常流量,及时告警。
- 私网IP健康检查:监控内部服务连通性,防止单点故障。
四、常见问题与最佳实践
- 公网IP资源有限且贵,能用私网就用私网,对外服务统一走负载均衡或NAT出口。
- 不要将数据库、缓存等敏感服务暴露公网IP,只允许私网访问。
- 多区服/多地域部署时,建议各区服间用私网IP互联,跨地域用专线/VPN/VPC Peering。
- 公网IP变更需做好DNS和服务发现机制,避免客户端连接中断。
五、图示(简化)
[玩家客户端] --(公网IP)--> [负载均衡/网关] --(私网IP)--> [游戏逻辑服] --(私网IP)--> [数据库/缓存]
六、总结表格
维度 | 公网IP | 私网IP |
---|---|---|
可达范围 | 互联网全局 | 局域网/VPC内部 |
安全风险 | 高,需重点防护 | 低,VPC隔离 |
典型用途 | 客户端接入、API暴露 | 内部通信、集群管理 |
分配方式 | 云商/运营商分配 | 管理员自定义/VPC分配 |
成本 | 高 | 低 |
下面我将分别从阿里云具体配置示例、NAT/安全组最佳实践、多区服跨VPC通信方案三个方面详细说明,内容贴合游戏服务器实际运维需求。
一、阿里云具体配置示例
1. 公网IP配置(EIP)
场景:为游戏服务器分配公网IP,供玩家接入。
步骤:
-
购买ECS实例
- 选择“专有网络VPC”类型,分配私网IP。
-
申请弹性公网IP(EIP)
- 控制台 > 网络与安全 > 弹性公网IP > 申请EIP。
-
绑定EIP到ECS实例
- 控制台 > 弹性公网IP > 绑定到ECS实例。
- 绑定后,ECS实例既有私网IP(内网通信),也有公网IP(对外服务)。
-
安全组配置
- 控制台 > ECS > 安全组 > 配置入站规则。
- 只开放必要端口(如TCP 7000-8000为游戏端口,TCP 22为SSH,其他全部拒绝)。
示例安全组规则:
方向 | 协议类型 | 端口范围 | 授权对象 | 描述 |
---|---|---|---|---|
入 | TCP | 7000-8000 | 0.0.0.0/0 | 游戏端口 |
入 | TCP | 22 | 管理员IP段 | SSH远程管理 |
入 | ALL | ALL | 0.0.0.0/0 | 默认拒绝 |
2. 私网IP配置(VPC子网)
场景:集群内部通信,数据库、缓存等服务仅用私网IP。
步骤:
-
创建VPC和子网
- 控制台 > 专有网络VPC > 创建VPC,设置网段如
192.168.0.0/16
。 - 创建子网(交换机),如
192.168.1.0/24
。
- 控制台 > 专有网络VPC > 创建VPC,设置网段如
-
ECS实例加入子网
- 创建ECS时选择对应VPC和子网,自动分配私网IP。
-
内部通信
- 服务器间通过私网IP互通,安全组可放宽(如允许同一安全组内全部流量)。
3. NAT网关配置
场景:多台ECS服务器共享一个公网出口访问外网,或将部分服务端口映射到公网。
步骤:
-
创建NAT网关
- 控制台 > NAT网关 > 创建NAT网关,选择VPC。
-
绑定EIP到NAT网关
- 申请EIP并绑定到NAT网关。
-
配置SNAT规则
- 选择需要访问外网的子网或ECS实例,配置SNAT,出公网流量统一走NAT网关。
-
配置DNAT规则(端口映射)
- 将EIP的某个端口映射到指定ECS实例的私网IP+端口,实现公网访问。
二、安全组/NAT最佳实践
1. 安全组最佳实践
- 最小权限原则:只开放必要端口,其他全部拒绝。
- 分环境分组:生产、测试、开发环境分不同安全组,互不干扰。
- 白名单管理:管理端口(如SSH、RDP)只允许运维IP段访问。
- 日志审计:开启安全组日志,定期审查异常访问。
2. NAT最佳实践
- 统一出口:所有内网服务器访问外网统一走NAT网关,便于流量审计和安全管控。
- 端口映射:只映射必要端口到公网,避免全端口暴露。
- 高可用:生产环境建议NAT网关做主备,避免单点故障。
三、多区服跨VPC通信方案
1. 场景说明
- 游戏多区服部署在不同VPC(甚至不同地域),需要互通(如跨服战、数据同步)。
2. 方案一:VPC对等连接(VPC Peering)
适用:同一地域或支持对等连接的跨地域VPC。
配置步骤:
-
创建对等连接
- 控制台 > 专有网络VPC > 对等连接 > 创建对等连接,选择源VPC和目标VPC。
-
路由表配置
- 在两个VPC的路由表中分别添加对方网段的路由,下一跳为对等连接。
-
安全组放通
- 两端安全组放通对方VPC网段的必要端口。
优点:低延迟、高带宽、无需公网流量。
3. 方案二:VPN网关/专线
适用:跨地域、跨云厂商,或对安全性有极高要求。
配置步骤:
- 各VPC分别创建VPN网关。
- 建立IPSec隧道,配置对端网关和认证信息。
- 路由表配置,互通对方网段。
- 安全组放通。
优点:安全、可跨云、可与IDC互通。
4. 方案三:云企业网(CEN)
适用:阿里云多地域、多VPC大规模互联。
配置步骤:
- 创建云企业网实例。
- 将各VPC挂载到CEN。
- 自动完成路由互通,安全组放通即可。
优点:大规模互联,自动路由,适合大型游戏公司多区服部署。
四、典型架构图
[公网玩家] --(EIP)--> [负载均衡SLB] --(私网IP)--> [游戏服ECS] --(私网IP)--> [数据库/Redis]
|
+--(NAT网关)--> [外网API]
[跨区服] <---(VPC Peering/CEN)---> [其他区服VPC]