我是靠谱客的博主 诚心奇迹,最近开发中收集的这篇文章主要介绍阿里云ECS搭建frp服务器实现黑群晖 Nas 内网穿透,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.前言

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

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

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

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

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

方案1最为简单,但是运营商说由于转为公网IP,电信公司会监控家中网络,我听着有些犹豫,所以就放弃了。
方案2比较折腾,但我恰好有一个阿里云服务器,所以就来折腾这个。

2.具体实施

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

frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。
内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。
用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。

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

3.服务器端

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

frps
frps.ini

修改其中的frps.ini,改为:

[common]
#[common] 是固定名称的段落,用于配置通用参数。
bind_port = 7000
#服务端监听端口,要求和客户端一致
vhost_http_port = 8000
#我们这里用不上
token = key
#鉴权使用的 token 值,客户端需要设置一样的值才能鉴权通过
#以下设置的是dashboard监控,可以在服务器的7500端口打开监控面板查看信息
dashboard_port = 7500
dashboard_user = chen
dashboard_pwd = chen

接着找到阿里云服务器防火墙配置,将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 = xxx
#这是你云服务器的公网IP
server_port = 7000
#与服务端一致
token = key
#与服务端一致
[dsm]
type = tcp
local_ip = 127.0.0.1
local_port = 5001
remote_port = 443

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

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

请注意:/volume1/NASshare/frp/frpc这是我的frpc的路径,你要改成自己的,请用File Station进入找到这个文件,右键属性可以看到路径,并自己替换一下。
勾选刚才添加的frp计划任务,点菜单中的保存。然后右键frp计划任务-运行。
然后再点击这个任务,找到动作-运行结果。如果没有看到结束时间证明客户端在运行。

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

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

最后

以上就是诚心奇迹为你收集整理的阿里云ECS搭建frp服务器实现黑群晖 Nas 内网穿透的全部内容,希望文章能够帮你解决阿里云ECS搭建frp服务器实现黑群晖 Nas 内网穿透所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部