群晖无公网IP怎么办? | FRP免费内网穿透教程

群晖放在局域网内还是不足以发挥其真正实力的。 那么不少小伙伴都在想。如何让我们家里的群晖能够愉快的在互联网(广域网)上访问呢?本篇文章将介绍群晖利用FRP进行内网穿透。达到公网访问的目的。

几种常用的让群晖在公网访问的方法:

  • 宽带自带公网IP (花生壳DDNS、3322DDNS、各类DDNS等)
  • 利用中转服务器安装内网穿透软件(FRP、Ngrok等)
  • P2P软件打洞(zerotier等)
  • 白群晖自带功能QuickConnect

以上几个方法当中,最推荐使用的就是第一种方式,无需额外花钱,并且宽带损耗最小。 当然,并不是每一位伙伴家里都能申请得到公网IP。所以,今天我们来讲一下第二种方法:利用中转服务器安装FRP进行内网穿透。

前期准备:

  • 具有公网IP的VPS服务器一台( 教程假设公网IP为:12.23.34.45 )
  • 域名一个( 教程假设域名为 www.izcv.com )

FRP 内网穿透服务器的工作原理如下图:

处于内网环境的服务器主机,通过【frpc客户端】与一台具有公网IP的服务器上【frps服务端】进行通讯。这样访客访问我们【frps服务端】的服务器就相当于穿透内网环境来访问内网主机了

服务器搭建FRP服务器(frps)

wget --no-check-certificate https://tutu.bid/bash/frps.sh -O ./frps.sh && chmod 700 ./frps.sh && ./frps.sh install

一键FRP服务端安装脚本

默认安装v0.29.0版本
默认http端口:80、默认https端口:443、默认通讯端口:5443、默认WEB管理端口:6443 (安装过程以上端口均可自定义)

通过以上脚本,我们就可以将FRP服务端愉快的安装在我们的服务器上啦。

访问:https://12.23.34.45:6443 就可以通过我们刚刚一键脚本中的账号密码来访问我们FRP服务端的WEB控制台啦。(控制台可以查看客户端链接状况)

域名解析设置

将我们的域名 www.izcv.com 的 A 记录设置为我们服务器的IP地址。

  • 解析类型:A记录、主机名:www、记录值:12.23.34.45
  • 解析类型:A记录、主机名:@ 、记录值: 12.23.34.45

群晖中安装FRP客户端(frpc)

通过以上所有的准备工作之后,我们就可以在群晖中设置frpc客户端啦。由于我们服务端安装的是frp v0.29.0版本,所以客户端也需要同样的版本。

客户端:点此下载

下载成功后,我们将压缩包解压。提取出:frpcfrpc.ini 备用。

客户端文件上传

1.通过管理员账户登陆群晖,并新建共享文件夹“setting”,在新建的“setting”共享文件夹中新建“frp”文件夹。

2.将我们刚刚解压出来的frpc(客户端)、frpc.ini(客户端配置文件)上传至frp文件夹内

3.在frp文件夹上点击右键,选择“属性”,并选择拥有者为当前管理员,以及勾选“应用到这个文件夹、子文件夹及文件”

同时记录该frp文件夹在群晖中的“所在位置”,本教程案例中的“所在位置”为:

/volume1/setting/frp

待会我们运行frp客户端的时候需要这个网络位置。
我们实际frpc文件的网络位置是: /volume1/setting/frp/frpc
我们实际frpc配置文件的网络位置是: /volume1/setting/frp/frpc.ini

修改frpc.ini配置文件

你需要创建正确的,并且与服务端密钥匹配的客户端配置文件。下图为本例中示范的配置文件。

该示例中:(可根据你群晖的实际情况进行更改)

  • 群晖的https端口为默认的5001端口
  • 群晖的http 端口为默认的5000端口
通过本设置,即可将群晖本地的5001端口,穿透至域名下的443端口
将群晖本地的5000端口,穿透至域名下的80端口
[common]
server_addr = 你服务器的IP
server_port = 5443
token = 你安装服务端时设置的密钥
tls_enable = true

[izcv-https]
type = https
local_ip = 127.0.0.1
local_port = 5001
custom_domains = 你的域名,用“,”隔开

[izcv-http]
type = http
local_ip = 127.0.0.1
local_port = 5000
custom_domains = 你的域名,用“,”隔开

设置FRP客户端开机运行

1.群晖访问“控制面板” -> “计划任务” -> “新增” -> “触发的任务” -> “用户自定义的脚本”

2.按照下图设置任务名称,并点击“任务设置”

3.在“运行命令”的文本框内,填入如下的脚本。

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

4.全部设置完成后,在该脚本上点击右键,选择“运行”,即可运行frp客户端。

之后访问 www.izcv.com 或 izcv.com 即可访问我们的群晖啦。若没有生效可重启群晖。同时我们在FRP的WEB管理面板中,也可看到客户端的链接状态为“online”

Lop祝大家玩儿的愉快。本教程到此结束。