HomeAssistant是一个开源的的智能家居平台,通过它可以很方便实现对智能家居的远程监测和控制。
群晖NAS提供了一个很丰富的生态,可以很方便快捷的部署数据存储服务。
将HomeAssistant部署到群晖上可以很方便快捷的进行数据管理。
然而,系统本身只能在局域网下访问,给远程控制带来了一些不便。
内网穿透(NAT 穿透)技术可以将局域网下的特定端口映射到公网,从而实现互联网无障碍访问,实现真正的智能家居。
本文主要介绍如何在群晖上部署内网穿透服务。
内网穿透有几种主要方案,按照技术分为端口映射、动态 DNS、反向代理、VPN、Ngrok、frp等,无论哪种技术,都需要一个公网IP作为中转。
按照具体部署方式,主要分为:
1、向内网穿透服务提供商购买内网穿透服务,通过厂商的带有公网IP的VPS进行代理,一般按照流量、带宽、节点数进行付费。该方案实现起来相对方便,由于都是公用带宽,所以用户体验一般,同时安全性相对可靠。
2、向VPS服务商购买带有公网IP的VPS,然后在VPS上搭建代理服务,一般按照VPS配置按年付费。该方式安全性高,用户体验好,对技术要求较高。
3、使用免费的内网穿透,一些厂商会提供免费的服务用于吸引用户,例如:Sakura、Cpolar。该方案免费,但不适合要求较高的应用。
这里主要是用于控制家居的开关,因此数据量非常小,同时考虑到成本,这里尝试了后两种方案。
连接上群晖,在桌面新建一个文件frpc.ini
,内容如下
[common]
server_addr = [公网IP]
server_port = [默认是7000]
tcp_mux = true
protocol = tcp
user = [用户名]
token = [验证密钥]
dns_server = 114.114.114.114
[DS923] # 隧道的标识,不能重复
type = tcp
local_ip = 192.168.0.199
local_port = 5000
remote_port = 25000
use_encryption = true
use_compression = true
[Home Assistant]
type = tcp
local_ip = 192.168.0.10
local_port = 8123
remote_port = 28123
use_encryption = true
use_compression = true
在群晖file station
中新建如下文件夹,并且将frpc.ini
拖到文件夹中
在套件中心搜索安装docker,新版的改名为Container Manager了
打开docker,搜索安装frp
,我这里选择0.50.0
这个版本,注意要和frps的版本匹配
安装后启动它,在存储空间设置添加如下内容,将file station
中的文件映射到docker容器中
启动docker,可以在frps管理界面看到已经连接上了
尝试网页打开,已经可以连接上了
1、cpolar群晖套件下载地址:https://www.cpolar.com/synology-cpolar-suite
2、没有DS923的型号,这里选择DS920+替代。
3、选择手动安装并且上传
4、点击同意并且完成
5、在已安装中找到cpolar
6、打开cpolar的网址进入dashboard
7、登录已注册的cpolar账号(如果没有请先注册),注意:第一次登录的账号将被记录到系统中,再次更改需要重新安装
1、配置Home Assistant的IP和端口,IP可以在群晖中找到,端口默认是8123
2、配置群晖的端口为5001
3、可以在状态->在线隧道列表中找到配置好的连接
4、修改Home Assistant中的代理设置
5、使用浏览器连接,可以打开群晖管理界面以及home assistant界面
完结!