摘自 此篇博文,作者本人转载至CSDN
1 NAS简介
NAS(网络附属存储)是专用于数据存储的服务器,可将其视作大容量自建云盘。同时,多数NAS设备会挂载多个磁盘并组成磁盘阵列,通过将文件分散存储或拷贝到多个磁盘以保证某一磁盘损坏时数据不会丢失。目前市场普及率最高的家用NAS设备提供商为群晖(Synology)。笔者使用群晖的一款双盘位NAS与2块西数4T红盘组建NAS服务,总可用容量约3.6TB。
2 FRP内网穿透配置
群晖NAS的管理界面默认使用http协议和5000端口,其WebDAV服务则默认使用http协议和5005端口。在内网可以直接使用ip地址访问,但由于该NAS设备并未直接连接到校园网,因此若要求可在校园网范围内访问,则需要使用FRP软件组合进行内网穿透。笔者使用的是上述具有双网卡的服务器同时作为FRP服务端和客户端。校园网连接frps服务端口,frps和frpc连接,frpc再与NAS建立连接,则可实现内网穿透。
首先,下载FRP软件包并解压,编写frp的服务端和客户端配置文件如下(假设该FRP服务器内网地址为192.168.2.3,NAS地址为192.168.2.5)
- frps.ini(服务端)
[common]
# ssh监听地址
bind_addr = 0.0.0.0
# ssh监听端口
bind_port = 5443
# kcp协议监听端口
kcp_bind_port = 5443
# frps控制面板所在端口
dashboard_port = 6443
# frps控制面板账号
dashboard_user = admin
# frps控制面板密码
dashboard_pwd = yourpassword
# 将http映射到端口
vhost_http_port = 9080
# 将https映射到端口
vhost_https_port = 9443
# 日志设置
log_file = ./frps.log
log_level = info
log_max_days = 3
# 令牌(相当于服务端与客户端连接的密钥,可自行填写,也可通过程序生成)
token = hd92hr8r017dqdqh
# 根域名,适用于web服务
subdomain_host = yourdomain.com
# 其他连接设置,非必要不更改
max_pool_count = 50
tcp_mux = true
- frpc.ini 客户端
# common为服务端信息
[common]
server_addr = 127.0.0.1
server_port = 5443
# 在下面填写frps.ini里写的token
token = hd92hr8r017dqdqh
# nas Web管理界面的内网穿透
[nas]
type = http
# 连接到NAS的5000端口
local_ip = 192.168.2.5
local_port = 5000
# 开启压缩和加密
use_encryption = true
use_compression = true
# 子域名为in-nas,通过http://in-nas.yourdomain.com:9080 访问该服务
subdomain = in-nas
# nas WebDAV服务的内网穿透
[naswebdav]
type = http
local_ip = 192.168.2.5
local_port = 5005
use_encryption = true
use_compression = true
# 通过http://in-naswebdav.yourdomain.com:9080 访问该服务
subdomain = in-naswebdav
注1:选择9080端口是为了避免与此前架设的nginx服务冲突,并为之后nginx反向代理与https加密做好准备。
经此配置,运行如下两个命令在后台运行frps和frpc,即可在http://nas.yourdomain.com:9080
进入NAS的管理界面,并可在http://naswebdav.yourdomain.com:9080
使用WebDAV服务。
nohup ./frps -c frps.ini &
nohup ./frpc -c frpc.ini &
注2:可将配置文件放入frp默认的配置文件目录,则不需要指定-c
参数。
3 Nginx反向代理和Https加密配置
见本文。