子网划分实现三层隔离的核心是归属分离、路由可控、访问收敛。前端、后端、数据库须分属独立子网(如10.0.10.0/24、10.020.0/24、10.0.30.0/24),禁用默认网络,配合网络acl与安全组实施双向访问控制,并通过连通性测试验证隔离效果。

按角色分属不同子网段,杜绝默认互通
每个服务类型必须绑定独立子网,且不能复用同一 CIDR 或可用区。例如:
- 前端 Web 子网:10.0.10.0/24(仅部署在可用区 A)或跨区双子网如 10.0.10.0/24(AZ-A)、10.0.11.0/24(AZ-B)
- 后端应用子网:10.0.20.0/24(AZ-A)、10.0.21.0/24(AZ-B),与前端子网无重叠,也不共享网关
- 数据库子网:10.0.30.0/24(AZ-A 主实例)、10.0.31.0/24(AZ-B 从实例),不向公网开放,也不允许前端子网直接路由可达
关键点:子网 CIDR 必须在 VPC 总网段内规划,预留至少 20% 扩展余量;同一子网绝不能横跨多个可用区。
用网络 ACL 和安全组做双向访问控制
子网本身只是地址划分,真正实现逻辑隔离靠的是访问策略:
PigX UI Pro 前端开发指南 - Vue 3 + TypeScript + Element Plus。当用户提到 PigX UI、PigX 前端、lgb-mgui 项目、Vue 3 企业级后台开发、Element Plus 后台开发时使用此技能。
- 前端子网出方向:仅允许访问后端子网指定端口(如 8080、3000),禁止直连数据库子网任何端口
- 后端子网入方向:只接受来自前端子网的请求;出方向只允许访问数据库子网的 3306/5432 等数据库端口
- 数据库子网入方向:仅放行后端子网 IP 段 + 指定端口,拒绝所有来自前端子网的流量(ACL 层拦截)
- 每台云服务器的安全组再叠加一层校验,比如数据库实例安全组只允许来源为后端子网 CIDR
Docker Compose 场景下等效实现
在容器环境里,“子网”对应自定义 bridge 网络,隔离原理一致:
- 定义三个网络:
frontend-net(172.20.1.0/24)、backend-net(172.20.2.0/24)、db-net(172.20.3.0/24) - Web 服务只连
frontend-net;后端服务连接backend-net和db-net(双网接入);数据库容器仅接入db-net - 禁用默认
default网络,避免服务意外互通 - 不配置
ipv4_address也可,但建议静态分配关键服务 IP,便于防火墙规则固化
验证隔离是否生效的实操方法
部署后必须验证,不能只看配置:
- 从前端容器 ping 后端容器 IP —— 应通;ping 数据库容器 IP —— 应不通
- 从后端容器 telnet 数据库端口 —— 应通;telnet 前端端口(如 80)—— 应不通(除非业务需要)
- 检查各子网关联的路由表:前端子网路由表不应含指向数据库子网的条目
- 抓包确认:在后端节点上 tcpdump,应看不到源自前端子网直发数据库的 TCP 包
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!







