当前位置:   article > 正文

群晖NAS FRP内网穿透

nas frp

前言

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

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

购买服务器

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

在这里插入图片描述

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

在这里插入图片描述
系统选择CentOS7.6 64位,地址在哪就选哪,延迟更低
在这里插入图片描述
买好之后进入控制台,点开轻量应用服务器
在这里插入图片描述
在这里插入图片描述
在这里可以看到购买的服务器,在右下角会显示公网IP地址
在这里插入图片描述

配置ssh连接

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

现在进行ssh的连接

这里我用的是FInalShell进行ssh连接,依次点击下面按钮
在这里插入图片描述
名称按照自己喜好,主机输入公网IP,端口22。
认证方法选择公钥,用户名填写root,选择刚刚的私钥
在这里插入图片描述
浏览-导入,浏览选择刚刚的密钥文件
在这里插入图片描述
在这里插入图片描述
连接管理器出现服务器,右键点击连接
在这里插入图片描述

第一次打开会显示下面界面,点击接受并保存
在这里插入图片描述
连接成功显示如下页面
在这里插入图片描述

配置FRP服务

FRP相关中文文档
先去github上下载FRP
我使用的CentOS下载linux_amd64的版本
在这里插入图片描述
直接在服务器上下载会比较慢,我推荐是用VPN下载到本地,然后通过FinalShell直接传上去,FinalShell下方会自动打开根目录,直接拖拽就好
在这里插入图片描述
解压压缩文件

tar -zxvf frp_0.51.0_linux_amd64.tar.gz
  • 1

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

接下来进行服务器的端口配置,点击查看详情
在这里插入图片描述
点击防火墙-添加规则
在这里插入图片描述
我干脆直接把所有可能会用到的端口都开放了,其他默认,端口填写5000-9000
在这里插入图片描述
然后设置FRP客户端的自动运行

vi /lib/systemd/system/frps.service
  • 1

将以下内容复制进去

[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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

点ESC,然后输入:wq保存

启动FRP客户端

systemctl start frps
  • 1

设置自动启动

systemctl enable frps
  • 1

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

Docker客户端设置

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

复制这个链接https://hub.docker.com/r/chenhw2/frp,点击导入
在这里插入图片描述
下载速度会很慢,因为需要翻墙,可以通过设置代理的方式进行下载。趁着下载期间先准备一些工具,在电脑上新建一个文件重命名为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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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

腾讯云设置域名

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号