黑群晖利用FRP外加云服务器实现黑群晖 Nas 内网穿透

原创 淹不死的狗  2022-09-28 00:32:03  阅读 74 次 评论 0 条
摘要:

1.前言

实现内网穿透的过程是折腾NAS中最麻烦的一部分,这里单独拿出来作为一个记录。

首先,讲一下我的配置,猫盘刷黑群晖DS119j系统,由于猫盘是arm架构,所以无法使用docker,只能实现一些基础功能。

其次,想可以在外地也访问家中的猫盘黑群晖系统,有两种方案:

1.从运营商申请固定IP,直接与NAS映射。

2.购买云服务器,赠送公网IP,通过frp实现内网穿透。

方案1最为简单,但是运营商说由于转为公网IP,电信公司会监控家中网络,我听着有些犹豫,所以就放弃了。

1.前言

实现内网穿透的过程是折腾NAS中最麻烦的一部分,这里单独拿出来作为一个记录。

首先,讲一下我的配置,猫盘刷黑群晖DS119j系统,由于猫盘是arm架构,所以无法使用docker,只能实现一些基础功能。

其次,想可以在外地也访问家中的猫盘黑群晖系统,有两种方案:

1.从运营商申请固定IP,直接与NAS映射。

2.购买云服务器,赠送公网IP,通过frp实现内网穿透。

方案1最为简单,但是运营商说由于转为公网IP,电信公司会监控家中网络,我听着有些犹豫,所以就放弃了。

方案2比较折腾,但我恰好有一个阿里云服务器,所以就来折腾这个。

黑群晖利用FRP外加云服务器实现黑群晖 Nas 内网穿透 网站相关 第1张

2.具体实施

内网穿透有很多种方案,我这里使用的是常见的frp方案。我们首先大致了解一下他的原理:


frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。

内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。

用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。


首先,下载frp的文件https://github.com/fatedier/frp/releases,现在最新的是0.44版本。这里一定要注意,由于frp的文件中包含服务器端和客户端,所以要根据自己的具体机器架构选择版本,云服务器是X86架构,装了ubuntu系统,所以选择下载frp_0.44_linux_amd64.tar.gz。而我的NAS机器是arm架构,并且似乎不支持64位,所以选择下载frp_0.44_linux_arm.tar.gz。

接下来进行配置,首先是对于服务器端。


3.服务器端

打开filezilla,在root下新建一个文件夹frp,并将frp_0.35.1_linux_amd64.tar.gz解压出来文件夹中的两个文件上传进该文件夹:

[common]
# 配置服务端对外的ip地址
server_addr = 139.155.**.***
#服务器端口号 要与客户机对应的
bind_port = 7000 
#外部访问端口
vhost_http_port = 88 
#dashboard 用户名
dashboard_user = **** 
#dashboard 密码
dashboard_pwd = q******3  
#dashboard 端口,启动成功后可通过浏览器访问如http://ip:7500
dashboard_port = 7500  
#设置客户端token,对应客户端有页需要配置
token = q*******3
pool_count = 5


接着找到阿里云服务器防火墙配置,将7000和8000端口设置为开放,不然会无法访问。

保存,打开PUTTY连接到云服务器。然后将frps复制到/usr/bin/目录下,使得他可以被执行:

sudo cp frps /usr/bin/

接下来执行frps,并使其工作在后台,这样putty关闭后服务一样能启动:

cd frp/

nohup frpc -c frpc.ini &

万一要更新配置文件,可以杀死这个进程再启动:

ps -aux|grep frp| grep -v grep

kill -9 xxx  #xxx是找到的进程号

此时服务器端已经配置完成。


4.客户端

登录黑群晖,打开File Station套件,在里面的共享目录下,新建一个文件夹,文件夹名称为frp。

打开解压出来的frp_0.35.1_linux_arm.tar.gz目录,准备将里面的frpc、frpc.ini两个文件上传到刚才创建的frp文件夹中。

上传之前修改frpc.ini的内容为:

[common]

server_addr = ###.###.##.##      #是公网服务器frps的IP;(这里防止被攻击我已#号代替);
server_port = 15443                  #服务器frps的服务端连接端口;
token = admin123                    #服务器frps连接的Token;

 

[ssh]
type = tcp                                  #连接协议;
local_ip = 192.168.0.12               #内网服务器ip;
local_port = 22                          #ssh默认端口号;
remote_port = 122                    #自定义外部访问内部ssh的转发端口号;



[web]                                               #frps控制台显示(可随意设置会显示在frps 网页控制台里,不可以重复);

type = http                                      #访问协议;
local_ip = 192.168.0.12                     #内网服务器ip;
local_port = 80                                #内网web服务的端口号;
custom_domains = dd.1lia.com       #所绑定的公网服务器域名,一级、二级域名、IP都可以;


然后进行上传。

接下来进入黑群晖,打开控制面板-任务计划,新增-触发的任务-用户定义的脚本,常规选项卡里的任务名称填写frp,事件选择开机,任务设置选项卡里的运行命令-用户定义的脚本框里输入:

/volume1/NASshare/frp/frpc -c  /volume1/NASshare/frp/frpc.ini

请注意:/volume1/NASshare/frp/frpc这是我的frpc的路径,你要改成自己的,请用File Station进入找到这个文件,右键属性可以看到路径,并自己替换一下。

黑群晖利用FRP外加云服务器实现黑群晖 Nas 内网穿透 网站相关 第2张

勾选刚才添加的frp计划任务,点菜单中的保存。然后右键frp计划任务-运行。

黑群晖利用FRP外加云服务器实现黑群晖 Nas 内网穿透 网站相关 第3张

然后再点击这个任务,找到动作-运行结果。如果没有看到结束时间证明客户端在运行。

黑群晖利用FRP外加云服务器实现黑群晖 Nas 内网穿透 网站相关 第4张

接着,访问https://xxx(xxx是你云服务器的公网IP),弹出来这个网页不被信任,选择继续访问,就可以访问到你的NAS了。

以上,我们就实现了外地访问家中NAS的功能了。


本文地址:https://www.tugouli.cn/3599.html
版权声明:本文为原创文章,版权归 淹不死的狗 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?