开发、测试、生产环境必须分网隔离,核心是防止配置误用、数据污染和故障扩散;按业务生命周期阶段划分独立子网,地址互不重叠,并通过acl、vlan、dns域分离及api网关强制管控跨环境访问。

开发、测试、生产环境必须分网隔离,不是为了形式,而是防止配置误用、数据污染和故障扩散。核心原则是:环境即边界,流量需显式放行。
按环境角色分配独立子网
不按物理位置(比如同一机柜),而按业务生命周期阶段划分。每个环境独占一个逻辑子网,地址段互不重叠:
- 开发环境:建议用 /25(126 可用 IP),如 172.16.10.0/25 —— 满足本地构建、CI 节点、开发者终端等,预留扩容空间
- 测试环境:建议用 /26(62 可用 IP),如 172.16.10.128/26 —— 包含测试服务器、自动化平台、临时数据库,与开发网段严格隔离
- 生产环境:建议用 /24 或更细粒度,如 10.100.0.0/24;若含 Web 层、应用层、DB 层,可进一步按角色再划分子网(如 10.100.1.0/26 为 API 服务,10.100.1.64/26 为数据库),并启用 VLAN+ACL 控制跨层访问
预留扩展余量与安全冗余
别按当前主机数硬配,要预估未来 6~12 个月增长:
- 开发环境加 30% 余量:含新工具链、容器节点、临时沙箱
- 测试环境加 20%:覆盖多版本并行测试、性能压测实例
- 生产环境不只看主机数,还要考虑服务网格 Sidecar、监控探针、日志采集器等“隐形主机”
- 所有环境之间禁止直连;跨环境访问必须经由统一 API 网关或跳转代理,并记录审计日志
配套网络策略不能少
光有子网不够,得靠策略守住边界:
- 在核心交换机或防火墙上配置 ACL,例如:拒绝 172.16.10.0/23(开发+测试)→ 10.100.0.0/24 的任意 TCP 流量
- 生产网段禁用 ICMP 和 SSH 密码登录,仅允许密钥+跳板机访问
- 各环境 DNS 解析域分离:dev.example.com → 开发子网,test.example.com → 测试子网,不混用 hosts 或泛解析
- 所有 Linux 服务器配置双网卡绑定时,确保管理口(如 eth0)和业务口(如 eth1)物理/逻辑分离,避免路由混淆
验证与落地要点
配置完不是结束,必须验证是否真正生效:
- 用
ip route get 10.100.0.5检查生产目标是否走对网卡和网关 - 从开发机
telnet 172.16.10.129 22(测试网段某台),应超时失败;反之亦然 - 检查 ARP 表:
ip neigh show,确认不同环境的网关 MAC 不出现在同一接口缓存中 - 重启后执行
systemctl status networking或netplan status,确认配置未回退











