隔离网络里要先解决「东西怎么进去」
与互联网隔离的网络里,自动化遇到的第一个问题不是连接,而是依赖供给:装包、拉镜像、校准时间、更新证书、外送日志,这些在其他环境里理所当然的动作全部需要替代方案。通用做法是在隔离区内建一套本地供给能力——本地软件源、本地镜像仓库、内部时间源与内部签发机构,并与外网侧的内容保持一致性和校验。设计的重点在于「进去的东西可被信任」,而不是把外网通道临时打开一次。
基本信息
| 适用对象 | 内网隔离、专网与离线部署环境 |
|---|---|
| 受影响能力 | 依赖安装、镜像拉取、时间同步、证书更新、日志外送 |
| 替代方案 | 本地源、本地镜像仓库、内部时间源与内部签发 |
| 导入要求 | 所有进入内容需校验来源与摘要并留档 |
| 执行要求 | 工具与脚本本地化,避免依赖外网地址 |
常见能力替代
- 软件包供给:在隔离区搭本地源,定期从外网侧同步并发布到内网
- 容器镜像:搭建本地镜像仓库,外网侧同步镜像后由内网拉取,按摘要引用
- 时间同步:使用内部时间源,避免直接依赖外部时间服务导致偏移累积
- 证书体系:内部签发机构签发内部证书,吊销信息通过内部渠道分发
- 日志外送:经前置收集节点集中后单向传输,减少内网主机直连外部
- 执行工具:工具与依赖提前本地化,脚本中不出现对外网地址的运行时依赖
内网侧的可控做法
内网侧的可控做法
cat /etc/yum.repos.d/internal.repo # 确认源指向内网地址(RHEL 系)
grep -rh '^deb ' /etc/apt/sources.list.d/ 2>/dev/null | head # Debian 系源配置
ls -l /var/lib/packages/incoming # 导入目录,只放校验通过的包
sha256sum -c /var/lib/packages/incoming/SHA256SUMS | tail -3 # 导入前校验
sha256sum /var/lib/packages/incoming/*.rpm | tee SHA256SUMS # 生成校验清单留档
chronyc sources -v 2>/dev/null || timedatectl status # 时间源是否指向内部
crictl images 2>/dev/null | head # 内网镜像仓库实际提供的镜像隔离环境的关键取舍
| 能力 | 外网做法 | 隔离区做法 |
|---|---|---|
| 软件包 | 直连公共源 | 本地源,定期同步并校验 |
| 容器镜像 | 直连公共仓库 | 本地仓库,按摘要引用 |
| 时间同步 | 使用公共时间服务 | 使用内部时间源 |
| 证书 | 公共签发机构 | 内部签发机构与内部吊销分发 |
| 日志外送 | 主机直连外部平台 | 前置收集后单向传输 |
内容导入流程要有明确的两段:外网侧负责获取与校验,隔离区内只负责接收已校验的内容。把校验放到内网侧会造成内外两套标准,长期看更难维护,也更容易出现绕过。
为图方便在隔离区临时开通外网通道,是这类环境最常见的安全退化路径:一次开通往往被长期保留,且通常缺少监控。确需临时开通时,应限定目标地址、时间窗与用途,并在结束后确认已关闭。