手把手教你:在CentOS 7.6内网服务器上离线搞定雷池WAF(含Docker-Compose避坑指南)

张开发
2026/5/5 19:48:13 15 分钟阅读
手把手教你:在CentOS 7.6内网服务器上离线搞定雷池WAF(含Docker-Compose避坑指南)
内网环境下的雷池WAF离线部署实战从零避坑到高效防护金融、政企等隔离网络环境中的安全防护一直是运维工程师的痛点。当服务器无法连接互联网时如何部署专业的Web应用防火墙WAF成为棘手问题。本文将手把手带你完成CentOS 7.6内网服务器上雷池WAF的完整离线部署流程特别针对docker-compose版本冲突等典型问题提供已验证的解决方案。1. 离线部署的核心逻辑与准备工作离线部署的本质是在线打包-离线传输-内网部署的三步走策略。关键在于确保内外网环境的基础一致性避免因系统版本差异导致的依赖问题。基础环境要求外网打包机与内网目标机需保持CentOS大版本一致建议7.x系列外网机需具备至少10GB临时存储空间用于缓存安装包内网机需预留5GB以上空间用于WAF运行提示虽然CentOS 7.6与7.9等小版本差异理论上兼容但实际部署中发现某些Docker特性在不同小版本上表现不一致建议尽量保持版本完全一致。离线部署的核心资源清单资源类型文件说明存储位置RPM缓存Docker及依赖包/root/MySafeLineWAFrpmPackages容器镜像雷池社区版image.tar.gz任意可访问目录编排文件compose.yaml/data/safeline环境配置.env/data/safeline2. 外网环境准备与资源打包2.1 基础环境配置首先在外网机器上执行标准化预处理# 关闭防火墙和SELinux systemctl stop firewalld systemctl disable firewalld sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config setenforce 0配置yum缓存机制mkdir /root/MySafeLineWAFrpmPackages echo cachedir/root/MySafeLineWAFrpmPackages /etc/yum.conf echo keepcache1 /etc/yum.conf2.2 Docker全家桶安装采用阿里云镜像源确保下载速度yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo关键安装命令yum install -y docker-ce docker-ce-cli containerd.io systemctl start docker systemctl enable docker2.3 雷池资源准备下载社区版镜像和编排文件mkdir -p /data/safeline cd /data/safeline wget https://waf-ce.chaitin.cn/release/latest/compose.yaml配置环境变量SAFELINE_DIR/data/safeline IMAGE_TAGlatest MGT_PORT9443 POSTGRES_PASSWORDComplexPwd2023 SUBNET_PREFIX172.22.2223. 内网部署的特殊处理与排坑指南3.1 离线Yum源搭建将外网打包的RPM资源传输到内网后createrepo /root/MySafeLineWAFrpmPackages cat /etc/yum.repos.d/local.repo EOF [local-base] namelocal-base baseurlfile:///root/MySafeLineWAFrpmPackages gpgcheck0 enabled1 EOF3.2 Docker-Compose的版本陷阱这是最易出错的环节。CentOS 7默认仓库的docker-compose版本过旧会导致雷池启动失败。解决方案在外网机下载最新二进制包curl -L https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m) -o docker-compose chmod x docker-compose将可执行文件传输到内网机的/usr/local/bin目录验证安装docker-compose --version # 应显示 Docker Compose version v2.23.03.3 镜像加载技巧当传输大体积镜像文件时建议分卷压缩# 外网分割压缩 split -b 500M image.tar.gz image.tar.gz.part # 内网合并解压 cat image.tar.gz.part* | gzip -d | docker load4. 雷池的初始化与调优成功启动后访问https://服务器IP:9443进行初始化。若忘记密码docker exec safeline-mgt resetadmin性能优化建议修改/data/safeline/compose.yaml中的资源限制根据业务流量调整POSTGRES_SHARED_BUFFERS参数定期清理日志目录/data/safeline/logs对于高并发场景建议在.env中调整WORKER_PROCESSES4 WORKER_CONNECTIONS40965. 长效维护机制建立离线更新策略在外网环境拉取最新镜像使用docker save导出新版本在内网docker load加载更新执行滚动升级cd /data/safeline docker compose down docker compose up -d --remove-orphans监控方案建议配置crontab定期检查容器状态设置日志轮转策略防止磁盘爆满对9443端口进行访问IP白名单限制在实际金融项目部署中这套方案成功支撑了日均200万的Web请求过滤。关键点在于前期做好充分的版本验证特别是Docker与内核版本的兼容性测试。内网环境部署最大的优势是安全性但同时也要求运维人员具备更强的故障自愈能力。

更多文章