
1. 为什么要在OpenWrt上部署集客AC很多朋友可能都有这样的困扰家里或者办公室的无线网络设备越来越多管理起来特别麻烦。不同品牌的AP无线接入点各自为政信号覆盖不均匀漫游体验差。这时候就需要一个AC无线控制器来统一管理所有AP而集客AC就是这样一个轻量级但功能强大的解决方案。选择在OpenWrt上通过Docker部署集客AC有几个明显优势。首先OpenWrt本身就是一个非常灵活的路由器系统加上Docker的容器化技术可以让你的网络环境既稳定又易于维护。其次这种部署方式不会污染你的OpenWrt系统想升级或者卸载都非常方便。最重要的是集客AC对集客AP的支持非常好可以实现无缝漫游、统一配置等专业功能。我自己的工作室就采用了这种方案。之前用普通路由器带几个AP经常出现设备连在远处的AP上不切换的情况。换成集客ACAP的方案后漫游切换时间控制在50ms以内视频会议再也不会卡顿了。而且所有AP的配置都可以在AC上统一管理省去了一个个登录AP的麻烦。2. 部署前的准备工作2.1 硬件和系统要求在开始之前你需要确认你的设备满足以下要求一台运行OpenWrt的路由器建议CPU至少是ARMv7或x86架构内存建议1GB以上因为Docker本身会占用一定资源存储空间至少剩余500MB用于存放Docker镜像和AC数据网络环境已经配置好能够正常上网我建议先在OpenWrt上安装htop和df -h命令这样可以随时查看系统资源使用情况。如果发现内存经常占满可能需要考虑升级硬件或者优化配置。2.2 安装Docker环境OpenWrt上安装Docker和常规Linux系统有些不同。首先确保你的OpenWrt版本是较新的稳定版然后通过SSH登录路由器执行以下命令opkg update opkg install docker docker-compose luci-app-dockerman /etc/init.d/docker start安装完成后建议设置Docker开机自启/etc/init.d/docker enable这里有个小技巧OpenWrt的存储空间通常比较紧张建议把Docker的数据目录挂载到外部存储。比如我用的是一块U盘先格式化为ext4然后挂载到/mnt/usb最后修改Docker配置uci set docker.docker[0].data_root/mnt/usb/docker uci commit docker /etc/init.d/docker restart3. 部署集客AC容器3.1 选择合适的镜像版本集客AC有多个版本可供选择主要分为v1和v2两个大版本。选择时需要注意v1版本兼容性最好支持7.6以下固件的APv2版本功能更新但只支持7.6及以上固件的APlatest标签始终指向最新版本但不保证稳定性我建议新手先用v2版本除非你有老款AP。执行以下命令拉取镜像docker pull adxing/gecoos-ac:v23.2 运行容器的最佳实践直接运行容器虽然简单但我建议先创建一个专用目录来存放配置和数据mkdir -p /opt/docker/AC/{data,tls}然后使用这个优化过的命令来启动容器docker run -itd \ --restart always \ --name gecoos-ac \ -p 60650:60650 \ -p 8800:8080 \ -v /opt/docker/AC/data:/data \ -v /opt/docker/AC/tls:/tls \ -e mp8080 \ -e langzh \ -e isonlyoneprot0 \ -e showtip0 \ -e https0 \ --nethost \ adxing/gecoos-ac:v2这里有几个关键点需要注意--nethost让容器使用主机网络简化网络配置把tls目录也映射出来方便以后启用HTTPS端口映射中我把管理端口8080映射到了8800避免和OpenWrt的LuCI冲突4. 配置与优化技巧4.1 初始登录与基本设置容器启动后可以通过浏览器访问管理界面http://你的路由器IP:8800默认用户名和密码都是admin。第一次登录后强烈建议立即修改密码。在基础设置中有几个关键选项需要注意AP发现方式建议选择广播发现这样AP会自动找到AC漫游阈值默认是-75dBm可以根据实际环境调整信道规划启用自动信道选择可以减少干扰4.2 使用docker-compose管理容器对于长期使用的环境我建议改用docker-compose来管理。创建一个docker-compose.yml文件version: 3 services: gecoos-ac: image: adxing/gecoos-ac:v2 container_name: gecoos-ac network_mode: host ports: - 60650:60650 - 8800:8080 volumes: - /opt/docker/AC/data:/data - /opt/docker/AC/tls:/tls environment: - mp8080 - langzh - isonlyoneprot0 - showtip0 - https0 restart: always这样以后更新容器只需要执行docker-compose pull docker-compose up -d4.3 定期备份与升级策略集客AC的所有配置都存储在映射出来的/data目录中。我设置了一个每周自动备份的脚本#!/bin/sh tar -czf /opt/backups/ac-config-$(date %Y%m%d).tar.gz /opt/docker/AC/data把这个脚本加入cron任务中0 3 * * 0 /path/to/backup-script.sh关于升级我的经验是先备份数据查看集客论坛的更新日志测试新版本时先用--name gecoos-ac-test创建一个测试容器确认没问题后再更新生产环境5. 常见问题排查5.1 AP无法注册到AC这是最常见的问题通常有几个原因网络不通确保AP和AC在同一个二层网络防火墙阻挡检查OpenWrt的防火墙是否放行了60650端口版本不匹配确认AP固件版本和AC版本兼容我常用的排查命令tcpdump -i br-lan port 60650 -vv这个命令可以查看是否有AP在尝试连接AC。5.2 管理界面无法访问如果打不开管理页面可以按以下步骤检查确认容器正在运行docker ps检查端口映射docker port gecoos-ac查看容器日志docker logs gecoos-ac有时候可能是OpenWrt的防火墙问题可以临时关闭防火墙测试/etc/init.d/firewall stop5.3 性能优化建议如果发现AC响应慢可以尝试限制容器内存docker update --memory 512M gecoos-ac关闭不必要的日志修改环境变量showtip0使用更轻量的数据库集客AC默认用SQLite通常够用我在一个管理30个AP的环境中测试过给容器分配512MB内存就足够流畅运行了。