一、初始需求
远程访问群晖的文件,使用域名访问并且不加端口,比如说在浏览器打开 http://nas.xxx.com 就是群晖的页面,手机使用DS套件远程访问,比如:DS file 输入 nas.xxx.com 可以登录使用域名访问。
所有照片都放在群晖里,希望在外面也能访问,宿舍没有公网IP,2年前在路由器装过frp,但是装在内存中,重启路由就没了,最近搬家换工作后又准备重新装一下,发现忘记怎么装了,然后尝试用DDNS,各种都配置好了,发现外网进不来电信猫,只能试试直接在群晖里面装frp...
二、环境准备
黑群晖主机,系统6.2.1
域名2个解析到服务器,nas.xxx.com,nas-photo.xxx.com(用于Photo Station)
服务器,有公网IP的云主机(下文假定IP为 10.10.10.10),系统 Centos 7,需安装Nginx 直接安装宝塔面板方便
用到的软件:Mac的终端(远程ssh连接服务器,Win下推荐使用XShell)、FileZilla(SFTP客户端编辑服务器上的文件,也可直接用命令行或服务器管理面板,跨平台,非必须)、浏览器、
以上安装了宝塔面板,以便于安装架站,各开放端口
三、开始操作
简单来说就是4步:
1. 在服务器中运行 frp 服务端 'frps' 与相关配置
2. 在群晖系统中运行 frp 客户端 'frpc' 与相关配置
3. 解析2个域名到服务器
4. 在服务器添加2个网站,转发端口
那么现在展开来说:
1. 在服务器中运行 frp 服务端 'frps' 与相关配置
1.1 首先远程连接到服务器,打开终端输入:(10.10.10.10为服务器IP,请更换为自己服务器的IP)
ssh root@10.10.10.10
输入密码,密码为不可见,回车后可登陆
1.2 下载 frp 项目
cd ~
mkdir frp
curl -O https://github.com/fatedier/frp/releases/download/v0.26.0/frp_0.26.0_linux_amd64.tar.gz
tar -xzf frp_0.26.0_linux_amd64.tar.gz
这是解压完成后产生的文件图
解释一下:
第一行是进入用户主目录,第二行是创建 frp 文件夹,第三步是下载 frp 项目文件,第四步是解压 frp 项目文件。下载地址,进去对应选择自己的服务器环境,一般云主机就选我这个
1.3 配置 frp 服务端
cd frp_0.26.0_linux_amd64
vi ./frps.ini
按 'i' 进入编辑模式,复制粘贴(纯手打备注)
# frps.ini
[common]
bind_port = 7000 # frp 客户端连接端口
vhost_http_port = 7008 # http 协议端口
vhost_https_port = 7010 # https 协议端口
dashboard_port = 7001 # 管理面板端口
dashboard_user = admin # 管理面板用户名
dashboard_pwd = 123456 # 管理面板密码
按 Esc 退出编辑模式,输入 ':wq' 回车进行保存
编辑frps.ini文件
1.4 运行 frp 服务端
./frps -c ./frps.ini
此时就已经在服务器中运行 frp 服务端 frps 了,可以在浏览器中输入 http://10.10.10.10:7001 即可访问到 frp 管理面板了
这是frp管理面板
1.5 安全配置
如果此时访问不了管理面板,很大概率是因为端口没开的原因,可以使用端口扫描工具检测
以上端口未开放
楼主使用的阿里云轻量服务器,需要在阿里云先开放端口(阿里云或腾讯云之类的主流云主机都需要先配置端口)
阿里云云服务器防火墙配置
为了方便使用,直接开放了7000到7010端口,另外9025到9040好像是Video Station套件需要的端口,开了目前没有碰到有连接。需要哪些端口一起开了,
另外楼主用的 Centos,也需要开放系统防火墙,由于安装了BT面板,直接在BT面板进行操作
系统放行frp端口
此时再进行端口扫描,端口就算开放也需要有相应的服务监听才会显示已开放,显示关闭的是没有服务启用这些端口(此处应该输入7000-7010)
以上端口已开放
1.6 开启自启
vi /etc/rc.d/rc.local
按 'i' 进入编辑模式,在文件最后添加
cd /root/frp/frp_0.26.0_linux_amd64 && ./frps -c ./frps.ini
按 Esc 退出编辑模式,输入 ':wq' 回车进行保存
需要添加执行权限
chmod +x /etc/rc.d/rc.local
2. 在群晖系统中运行 frp 客户端 'frpc' 与相关配置
2.1 准备 frp 客户端配置文件
进入群晖,打开文本编辑器,新建文件,复制粘贴保存为 frpc.ini(纯手打备注)
# frpc.ini
[common]
server_addr = 10.10.10.10 # 服务端IP
server_port = 7000 # 服务端端口
[nas.xxx.com]
type = http # 类型
local_ip = 127.0.0.1 # 本地IP
local_port = 5000 # 本地端口
custom_domains = nas.xxx.com # 监听域名
[nas-photo.xxx.com]
type = http # 类型
local_ip = 127.0.0.1 # 本地IP
local_port = 80 # 本地端口
custom_domains = nas-photo.xxx.com # 监听域名
[DSM, Download Station, Audio Station, Video Station]
type = tcp # 类型
local_ip = 127.0.0.1 # 本地IP
local_port = 5000 # 本地端口
remote_port = 5000 # 远程端口
#[range:Video Station] # range表示范围
#type = tcp # 类型
#local_ip = 127.0.0.1 # 本地IP
#local_port = 9025-9040 # 本地端口
#remote_port = 9025-9040 # 远程端口
frp客户端配置
保存到用户主目录 /home/frpc.ini
以上是用户主目录
2.2 安装 Docker 套件,注册表搜索 frp 下载
docker套件安装
注册表搜索frp
双击下载,防止时间有效性,选择和服务端一致版本
要保持与服务端版本一致
2.3 创建 Docker frpc容器
下载好后将在映像中出现,双击新增容器进行配置
创建容器
配置权限
点击高级设置
配置自启动
配置文件
配置网络
2.4 IP访问
此时如果将上面 frp 客户端配置中的域名换成IP那么其实已经可以访问了,访问地址应该是:http://10.10.10.10:7008,不想继续优化的到这里就可以远程访问黑群晖了,不过 Photo Station这个套件有点特殊,暂时还不能访问,有需要请继续看下面
3. 解析2个域名到服务器
3.1 解析域名
解析 xxx.com 域名添加 nas 与 nas-photo 记录,到 10.10.10.10
域名解析
3.2 域名访问
frp管理面板tcp协议
管理面板http协议
此时已经可以使用 http://nas.xxx.com:7008 进行访问群晖的 web 管理
开放了 5000 端口的话也能使用手机上的DS套件应用连接了,使用 5000 端口的套件应用有:DS audio、DS cam、DS file、DS finder、DS video、DS download。由于这些套件使用的是TCP协议,所以在手机APP上无需加端口号
dsvideo手机应用
3.3 访问 Photo Station 套件
这个套件有点特殊,他用的是HTTP协议,并且是80端口,众所周知,80端口是HTTP协议默认端口,所以这个套件就算你有公网IP也不能访问,除非你是专线能开80端口的,但是应该也不会给NAS家用
点击套件跳到了默认80端口,不显示端口则为默认端口
使用域名
使用域名则会出现指定的页面不存在,那是因为 nas.xxx.com 并没有监听80端口,手动将其改成 nas-photo.xxx.com:7008 则可以进行访问了
手动更改地址
所以此时我们需要在 Photo Station 里进行一下设置
设置Photo Station 访问地址
这时候再回到 web 管理页面刷新,就会跳转到我们设定的地址了。手机版应用其实已经可以直接访问了,上面的设置针对的是 web 管理(PC端)
4. 在服务器添加2个网站,转发端口
4.1 创建站点
创建站点
创建相应的两个站点,nas.xxx.com 和 nas-photo.xxx.com,里面的内容都不重要
4.2 转发端口
主要是站点的配置,将所有的连接都转发到7008端口,这样直接访问80端口其实就是服务器帮我们请求到7008端口。记得将其它什么压缩,禁止css,js访问的配置都删除,不然会出现各种问题,最好是 location 就只有这一个配置
location / {
proxy_pass http://nas.xxx.com:7008;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
转发配置
4.3 域名访问
此时就可以直接使用 http://nas.xxx.com 进行访问了,记得将 Photo Station 中的配置进行更改(直接将端口号删除)
无须端口号即可访问
ds photo
发表评论