群晖NAS FRP内网穿透

前言

在使用NAS的时候,偶尔会需要异地访问,虽然白群晖的QuickConnect已经可以实现异地登录DSM,但是如果涉及到比如说Jellyfin之类的媒体库就十分捉襟见肘。大部分情况下自家宽带可以联系运营商申请公网ip,只需要打个电话就可以很方便的获取公网ip,再通过DDNS设置一下就可以使用。但是总会有各种状况导致无法使用常规网络,比如我现在搬到商住两用房,大楼里的宽带是被运营商垄断的,接的是房东办好的企业宽带,想要公网ip的套餐一年要六千元,那这条路肯定行不通。查阅资料之后找到了可以通过FRP实现内网穿透的方法。

FRP实现内网穿透需要一个服务器,目前主流的有阿里云和腾讯云。之前看到说阿里云学生优惠有10元一个月的服务器,但是我实在是找不到,但是发现腾讯云有新人112元包年的轻量服务器,带宽为4M,实测可以支持全高清的1080p流畅在线观看不卡顿(压缩过的mp4格式,非蓝光原盘),不过拖动进度条的时候加载时间还是比较长。以及实测发现阿里云可以很简单的在DDNS里设置用群晖的域名访问,但是腾讯云必须在腾讯云平台上注册域名,并且实名认证,整个过程花费了我大概一个星期时间。但是不得不说这是开销最少的一个方法,所以本文以腾讯云的轻量服务器为例,进行FRP内网穿透。

购买服务器

登录腾讯云 腾讯云官网
选择最新活动的上云·精选

群晖NAS FRP内网穿透_第1张图片

第一个就是我们想要的服务器了


系统选择CentOS7.6 64位,地址在哪就选哪,延迟更低
群晖NAS FRP内网穿透_第2张图片
买好之后进入控制台,点开轻量应用服务器

群晖NAS FRP内网穿透_第3张图片
在这里可以看到购买的服务器,在右下角会显示公网IP地址
群晖NAS FRP内网穿透_第4张图片

配置ssh连接

点击左侧密钥,再点击创建密钥
群晖NAS FRP内网穿透_第5张图片
进行密钥的创建
群晖NAS FRP内网穿透_第6张图片
创建好之后会发现浏览器下载了一个login.pem,稍后有用。然后点击绑定/解绑实例。
在这里插入图片描述
绑定的时候会显示需要关机才能生效,这时确保虚拟机没有在使用。
群晖NAS FRP内网穿透_第7张图片

现在进行ssh的连接

这里我用的是FInalShell进行ssh连接,依次点击下面按钮
群晖NAS FRP内网穿透_第8张图片
名称按照自己喜好,主机输入公网IP,端口22。
认证方法选择公钥,用户名填写root,选择刚刚的私钥
群晖NAS FRP内网穿透_第9张图片
浏览-导入,浏览选择刚刚的密钥文件
群晖NAS FRP内网穿透_第10张图片
群晖NAS FRP内网穿透_第11张图片
连接管理器出现服务器,右键点击连接
群晖NAS FRP内网穿透_第12张图片

第一次打开会显示下面界面,点击接受并保存
群晖NAS FRP内网穿透_第13张图片
连接成功显示如下页面

配置FRP服务

FRP相关中文文档
先去github上下载FRP
我使用的CentOS下载linux_amd64的版本
群晖NAS FRP内网穿透_第14张图片
直接在服务器上下载会比较慢,我推荐是用VPN下载到本地,然后通过FinalShell直接传上去,FinalShell下方会自动打开根目录,直接拖拽就好

解压压缩文件

tar -zxvf frp_0.51.0_linux_amd64.tar.gz

解压后右键刷新就能看到文件

选中右键重命名文件夹为frp,双击打开,打开客户端设置文件frps.ini
在最后一行加入token = password2020然后ctrl+s保存。这里的密码用的是明文的方式,不要用常用的密码。

接下来进行服务器的端口配置,点击查看详情
群晖NAS FRP内网穿透_第15张图片
点击防火墙-添加规则
群晖NAS FRP内网穿透_第16张图片
我干脆直接把所有可能会用到的端口都开放了,其他默认,端口填写5000-9000
群晖NAS FRP内网穿透_第17张图片
然后设置FRP客户端的自动运行

vi /lib/systemd/system/frps.service

将以下内容复制进去

[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/root/frp/frps -c /root/frp/frps.ini  #此处安实际情况修改

[Install]
WantedBy=multi-user.target

点ESC,然后输入:wq保存

启动FRP客户端

systemctl start frps

设置自动启动

systemctl enable frps

完成后如下所示
在这里插入图片描述
此时重启服务器
重启完成后输入ps auxw
向上翻能看到frps就成功了

Docker客户端设置

群晖打开Docker(最新系统里叫Container Manager),点击 映像-操作-导入-从URL添加

复制这个链接https://hub.docker.com/r/chenhw2/frp,点击导入
群晖NAS FRP内网穿透_第18张图片
下载速度会很慢,因为需要,可以通过设置代理的方式进行下载。趁着下载期间先准备一些工具,在电脑上新建一个文件重命名为frpc.ini,输入以下内容
如果有别的需要映射的端口可以按照同样的格式进行转发,括号里的名字修改一下不要重复

[common]
server_addr = 服务器IP地址
server_port = 7000
token = password2020

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[DSM]
type = tcp
local_ip = 127.0.0.1
local_port = 5000
remote_port = 5000

在群晖的Docker文件夹下创建frp文件夹,进入后点击上传-覆盖,将frpc.ini文件上传
群晖NAS FRP内网穿透_第19张图片
然后进行容器的创建,docker里选中点击运行
群晖NAS FRP内网穿透_第20张图片
点击下一步然后配置环境参数,默认是frps,因为在群晖上是客户端所以改为frpc
群晖NAS FRP内网穿透_第21张图片
映射文件路径
群晖NAS FRP内网穿透_第22张图片
选择frpc.ini
群晖NAS FRP内网穿透_第23张图片
点击选择
群晖NAS FRP内网穿透_第24张图片
拉到下面网络选择host
群晖NAS FRP内网穿透_第25张图片
然后就可以启动了,点击日志出现success
群晖NAS FRP内网穿透_第26张图片
至此,FRP设置已经完成,可以通过公网IP访问群晖了。

腾讯云设置域名

使用公网IP麻烦的一个地方就是一串数字就是不如有逻辑的英文好记,这里就需要申请一个域名,之前我用阿里云测试的时候可以很方便的把服务器的公网IP和群晖域名进行绑定,不用花一分钱就能实现域名登录,但是腾讯云就会要求你对域名进行备案。具体备案的流程这里就不赘述了,选一个自己能记得住倒是稍微长一些的域名,一年的价格在29元,也还可以接受,然后按着给的指示进行实名制注册就好了。不得不说腾讯云的域名有一个好处就是比群晖域名还短一些。

你可能感兴趣的:(腾讯云,服务器)