ubnt解决方案
查看: 41581|回复: 215

在群晖NAS上用docker安装UniFi控制器完全教程

  [复制链接]

7420

回帖

4万

积分

1万

在线时间

管理员

无线论坛管理员

注册时间
2004-10-2
金币
35084 个
威望
404 个
荣誉
114 个
累计签到:119 天
连续签到:3 天
[LV.200]无线新星
发表于 2020-6-29 14:25 |显示全部楼层
目录
一、前言        3
二、什么是Docker        3
三、安装Docker        3
四、安装UniFi控制器        5
五、升级UniFi控制器        17
五、Docker的UniFi控制器常见问题        22
1. 无法启动控制器        22
2.发现不了设备        22
3. 设备“正在采用”、“已断开”(无限循环)        23
4. 远程访问        29
5. 通过APP随时管理UniFi        32
6.NAS上的防火墙配置        36


文章较长,65张图,需要的可下载文档阅读。
游客,如果您要查看本帖隐藏内容请回复


更多教程请关注本站微信公众号,订阅UBNT教程,更详细更全面的专业教程!

相关教程链接:

使用Linux平台安装控制器的请查看:阿里云Centos 7.8安装UniFi控制器教程
群晖NAS解决docker仓库无法下载注册表的问题
UniFi网关家族参数对比一览表
UBNT UniFi全系AP参数对比一览表
UBNT UniFi CloudKey家族参数对比表
UBNT UniFi Protect家族参数对比一览表
UBNT室内AP安装和拆卸详细教程
UBNT AP连接和供电教程



一、前言
在NAS上安装UniFi控制器,可以实现UCK(UniFi Cloud Key)完全一样的功能。除了折腾一下下,还能省钱省地方^_^
UCK的通用功能:
  • 管理UniFi的AP、交换机和网关
  • 搭建云控制器,随时随地可通过PC、APP远程控制
  • 热点认证和计费


本文以群晖NAS为例,详细说明安装UniFi Controller的步骤及常遇到的问题解决方法。

二、什么是Docker

通俗地讲Docker是一个运行在Linux下的虚拟机程序,类似Windows下的vmware。Docker是Linux 容器的一种封装,提供简单易用的容器使用接口。
我们用的NAS基本上都是基于Linux开发的,Docker支持X86-64、ARM及PPC等系统平台,docker里提供了丰富的各种应用程序,包括今天要讲的UniFi控制器。
举一反三,广泛地讲,只要是支持docker的设备均可以安装UniFi控制器,比如openwrt路由器……


三、安装Docker
打开“套件中心”,搜索docker并安装:





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x

本帖被以下淘专辑推荐:

7420

回帖

4万

积分

1万

在线时间

管理员

无线论坛管理员

注册时间
2004-10-2
金币
35084 个
威望
404 个
荣誉
114 个
累计签到:119 天
连续签到:3 天
[LV.200]无线新星
发表于 2020-6-29 14:25 |显示全部楼层
四、安装UniFi控制器
Step1:打开刚安装的docker


Setp2:下载unifi映像
提示docker被土啬,已无法直接下载映像。《群晖NAS解决docker仓库无法下载注册表的问题》。2023年8月

在左侧注册表里,搜索unifi,找到jacobalberty/unifi

Docker提供的映像中,还包括UniFi Video Controller即UniFi安防控制器,如果您使用了UniFi摄像头可按本文教程安装。本文安装的是UniFi SDN。
点右键或双击下载此映象:


选择版本,选择最新的SC稳定版(Stable Candidate),觉得这个版本不爽也可选择别的再安装,NAS折腾不坏:


在映像中会显示正在下载:




Setp4:创建容器
下载完成后,在映像中,选择启动该映像:


容器名称:为应用起个名字以便标识,这里我们起名UniFi-Controller,不支持中文和空格:


点击上图的“高级设置”,勾上“启用自动重新启动”:


”,添加一个unifi的安装文件夹:


在docker目录下,“新建文件夹”,起名为unifi:


在装载路径输入/unifi


切记:文件夹名称要设为全小写unifi,在后来测试UniFi升级中,来回折腾了5、6次升级控制器,配置文件都丢失,折腾得没脾气了,不小心才发现下图:

编译程序所生成的保存路径中全是小写的/unifi,这才解决问题。
另外,如果是跨大版本升级,也可能会丢失配置。所以在升级前务必备份控制器。具体备份教程请查看:《UniFi控制器的备份和还原》

网络:直接勾上“使用与Docker Host相同的网络”,则端口就和NAS的IP完全一样,安全性略差,但是对普通用户来更简单。对普通用户建议勾上,后面的使用会省事非常多,在下文会讲到原因。


如果网络不勾“使用与Docker Host相同的网络”,而在“端口设置”需要按下图设置:
本地端口不要使用自动,全部输入固定端口号。同时添加一个10001的UDP端口,用于发现unifi的设备。


应用返回到常规设置,并点下一步:


确认应用,创建新的容器


在容器中,可发现新建立的UniFi-Controller控制器已经运行。


Step5:打开和登陆控制器
在浏览器界面中输入https://<NAS的IP>:8443,打开控制器。首次打开会提示非私密证书:



首次登陆会默认运行设置向导,请查阅《UniFi Controller向导及设置教程》一文。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
回复

使用道具 举报

7420

回帖

4万

积分

1万

在线时间

管理员

无线论坛管理员

注册时间
2004-10-2
金币
35084 个
威望
404 个
荣誉
114 个
累计签到:119 天
连续签到:3 天
[LV.200]无线新星
发表于 2020-6-29 14:25 |显示全部楼层
五、升级UniFi控制器
Docker运行的UniFi控制器,是不能在线升级的。

Docker的Unifi Controller软件存储在debian容器中的/var/lib/unifi中,而配置数据保存在/unifi/data,日志保存在/unifi/log目录。新创建容器时将控制器的目录挂载到Docker指定目录,在删除容器时会保留数据;而在新创建容器时将/unifi挂载回旧目录则可保持原配置而直接升级。


Docker的UniFi控制器升级有二种升级方法。
a. 通过配置文件升级
b. 保留配置直接升级
第一种方法是先删除再新创建控制器容器,并导入配置即可。主要步骤请查看本站《UniFi控制器的备份和还原》一文。

本文主要讲述第二种升级方法。
注意:在进行升级前,务必对原先控制器先作备份。

Step1:把容器停止运行


Step2:删除容器

Step3:下载新版本的UniFi映像

Step4:创建新的UniFi容器
在映像中,对新下载的映像按第一章教程进行设置,在“高级设置”,“卷”的保存目录时使用之前所设置的/unifi目录:

可以看到之前绑定的unifi目录有原先的数据存在,绑定到原先的数据目录:

装载路径输入/unifi

其它按上文步骤操作,生成容器并运行,登陆UniFi控制器界面可发现原先配置还保留。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
回复

使用道具 举报

7420

回帖

4万

积分

1万

在线时间

管理员

无线论坛管理员

注册时间
2004-10-2
金币
35084 个
威望
404 个
荣誉
114 个
累计签到:119 天
连续签到:3 天
[LV.200]无线新星
发表于 2020-6-29 14:53 |显示全部楼层
4. 远程访问
NAS设置好DDNS后,可以在外面直接访问NAS的控制器,轻松将UniFi控制器变成云控制器。ddns选个简单好记的域名:

ddns也可以在路由器操作,点击查看EdgeRouter路由器如何实现DDNS的有关教程
需要在路由器设置端口转向:
  • OpenWRT在防火墙中添加端口转向

  • EdgeRouter路由器如何添加端口转向


设置好端口转向后,在浏览器输入https://DDNS域名:8443,熟悉的证书警告页面就出现了:


5. 通过APP随时管理UniFi
虽然可以用浏览器通过ddns来登陆管理UniFi控制器,但手机端还是诸多不便的。UniFi提供APP端管理UniFi,在任何一个地方只要手机有网,都可以管理UniFi控制器。



下载移动端APP,苹果商店请直接搜索UniFi,安装如下图标的UniFi Network:


https://itunes.apple.com/cn/app/unifi-network/id1057750338

https://play.google.com/store/ap ... .easyunifi&hl=en_US
IOS版本APP有中文界面,安卓版目前只有英文的,国内市场更新没IOS频繁。
安卓APK本站下载地址:https://www.anywlan.com/xiazai_2701.html


6.NAS上的防火墙配置
如果NAS开启了防火墙功能,需要开放UniFi Controller使用的端口才可以正在使用。若未启用防火墙,则略过本步骤。

点“新增”,“端口”自定义,添加TCP端口:8080,8443,8843,8880,6789;同理添加UDP端口:3478,10001。


Docker UniFi控制器参考资料:
https://github.com/jacobalberty/ ... ob/master/README.md


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
回复

使用道具 举报

7420

回帖

4万

积分

1万

在线时间

管理员

无线论坛管理员

注册时间
2004-10-2
金币
35084 个
威望
404 个
荣誉
114 个
累计签到:119 天
连续签到:3 天
[LV.200]无线新星
发表于 2020-6-29 14:26 |显示全部楼层
五、Docker的UniFi控制器常见问题
更多常见问题,请关注本站公众号本文

1. 无法启动控制器
打开控制器时显示错误:HTTP Status 400 – Bad Request

未包含MongoDB,请选择包含数据库的SC标签的稳定版本安装。
UniFi运行时自动启动私有MongoDB数据库实例,不能外链到别的MongoDB。如果下载安装的映像中未包含MongoDB会运行不了。

2.发现不了设备
UniFi控制器需要使用10001 UDP端口来发现设备,请检查在创建容器时是否添加对了此端口:


3. 设备“正在采用”<->“已断开”(无限循环)


如果在创建容器时勾上了“使用与Docker Host相同的网络”,是不存在此问题的,所以会省却很多烦心事。如果您不想输下面这些命令,那么就把容器删除,重新创建新的容器绑定到unifi安装目录并勾上“使用与Docker Host相同的网络”。
Docker平台下的控制器不能直接采用到设备,需要修改AP的管理地址来完成采用。有二种方法修改设备的管理地址:

  • 通过SSH修改

Setp1:需要下载putty:https://www.anywlan.com/xiazai_182.html
通过ssh来修改控制器的管理地址:

Setp2:打开putty,在Host Name输入AP的IP地址,IP地址如上图,在控制器列表中可以查看到:

登陆的用户名和密码默认都为ubnt

Setp3:登陆成功后,输入控制器的管理地址,格式如下:
  1. set-inform http://<控制器URL>:8080/inform
复制代码

本例中我的NAS IP是192.168.2.88,则输入如下:

如果是通过云访问的,可输入域名:
  1. set-inform http://anywlan.synology.me:8080/inform
复制代码


注意需要在路由器先对8080做端口转向,控制器很快就会显示同步中。如果还不行,重复Setp3


  • 使用UniFi Discovery修改

如果在电脑安装了UniFi Controller,则附带有UniFi Discovery Utility,也可以手动下载UniFi Discovery Utility修改。如果没装UniFi Controller则建议用SSH修改方便些。
UniFi Discovery的打开方式:
  • Windows:开始菜单->Ubiquiti UniFi->UniFi-Discover
  • Mac OSX:启动台 ->UniFi-Discover
  • 运行 "java -jar <unifi_base>/lib/ace.jar discover"


Setp1:打开UniFi Discovery搜索设备


Setp2:在需要采用的设备上,点manage按钮
在Set Inform URL中,输入控制器的管理IP,格式如下:
  1. set-inform http://<控制器URL>:8080/inform
复制代码


Setp3:点“Apply”应用保存。

Setp4:应用后正常控制器即可同步UAP,如果不行,重复Setp2。若反复不行,按下面步骤操作:在控制器将UAP移除;将AP复位;重复Setp2,在“正在采用”时再执行Setp2一次。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
回复

使用道具 举报

859

回帖

3693

积分

1402 小时

在线时间

少校

注册时间
2010-12-26
金币
2684 个
威望
0 个
荣誉
0 个
累计签到:5 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2020-6-29 19:37 |显示全部楼层
知识贴,谢谢楼主
回复

使用道具 举报

2

回帖

28

积分

1 小时

在线时间

新兵上阵

注册时间
2018-11-21
金币
26 个
威望
0 个
荣誉
0 个
累计签到:1 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2020-6-30 11:35 |显示全部楼层
谢谢分享
回复

使用道具 举报

12

回帖

33

积分

3 小时

在线时间

新兵上阵

注册时间
2009-9-3
金币
21 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2020-7-3 21:10 |显示全部楼层
找了很久,终于找到合适的文章了
回复

使用道具 举报

15

回帖

255

积分

47 小时

在线时间

少尉

注册时间
2012-6-9
金币
230 个
威望
1 个
荣誉
0 个
累计签到:14 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2020-7-14 03:42 |显示全部楼层
谢谢分享,弄的我又想把黑裙整起来了
回复

使用道具 举报

3

回帖

14

积分

4 小时

在线时间

新兵上阵

注册时间
2019-6-21
金币
11 个
威望
0 个
荣誉
0 个
累计签到:2 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2020-7-17 13:38 |显示全部楼层
感谢大神!
回复

使用道具 举报

320

回帖

2037

积分

833 小时

在线时间

少校

注册时间
2013-2-4
金币
1600 个
威望
2 个
荣誉
0 个
累计签到:15 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2020-7-21 22:04 |显示全部楼层
感谢分享·····························
okooo来了
回复

使用道具 举报

2

回帖

6

积分

0 小时

在线时间

预备兵

注册时间
2020-7-29
金币
4 个
威望
0 个
荣誉
0 个
累计签到:1 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2020-7-29 12:09 |显示全部楼层
精品帖子,必然是要读一读的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-12-19 20:43

返回顶部 返回列表