如果你有公网IP,那么DDNS是最好的方案,如果你没有公网IP,又是黑群晖,或者嫌弃一点都不Quick的QuickConnect,还一分钱都不想花该怎么办呢?(威联通等其他支持docker的都适用)

2019/7/17更新:免费frp服务穿透速度很慢,可以参考 https://www.troyqi.com/archives/664/frps%e5%ae%89%e8%a3%85-%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f%e6%9c%8d%e5%8a%a1%e5%99%a8/自己搭建frp服务器。

方案介绍

frp 是一个高性能的反向代理应用,支持 tcp, udp, http, https 协议。通常frp的作用有以下这些:

  1. 利用处于防火墙后的机器,对外网环境提供 http 或 https 服务。
  2. 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
  3. 利用处于防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司局部环境的主机。

网上有一些人会提供免费的frps服务器,这样我们只需要在群晖安装frpc客户端并配置完成就好了。

如果不想敲代码,那么docker就是最好的方案啦。

方案步骤

安装docker

需要你是x86架构的群晖,不管黑白都可以,在套件中心中找到docker,安装。

安装frpc

在docker中找到oldiy/frpc,双击选择最新版本,然后就会自动开始下载镜像了。

(这里要感谢大佬提供的镜像:https://odcn.top/2018/10/27/1156/

配置

首先你需要找到一个免费frp服务器,比如https://www.waiwang.men/

他还提供了一个frpc配置生成工具,https://www.waiwang.men/frpc_ini.html,很方便。

这里填入你选的免费frp服务器信息;

这里填入你的本地信息,本地IP填你的群晖的局域网IP地址(记得在你的路由器里固定群晖的IP地址,避免重启就失效了),端口号填DSM的端口号,默认http的是5000。自定义域名可以参考我另外一篇文章来申请免费域名,100块自己家搭建网站,免费域名申请及frp穿透。完成后点击查看并下载配置文件。(该网站也提供免费子域名,在配置文件中加上subdomain = *****替换成你想要的子域名,就可以使用,配置文件详细说明见最下面的其他)

Log的配置其实不需要,可以删掉,然后点击下载文件。

然后将该文件上传到群晖,比如我放在/volume1/docker/frpc/conf/frpc.ini。

然后启动docker镜像,双击即可。

按照下面的步骤操作;

高级设置-卷-添加文件 本地文件自选,装载路径 /frp/frpc.ini (装载路径不能修改)

使用 Docker Host相同网络,然后点击应用即可。

然后试一试你之前的自定义域名看外网能不能访问群晖了吧。

其他

Frpc配置文件说明

[common]
server_addr = usla.waiwang.men
#服务器地址
server_port = 6666
#服务器端口
privilege_token = waiwang.men
#连接凭证
protocol = tcp
 
[waiwang_23363]
type = http
#http协议也可以是https
local_ip = 192.168.1.2
#群晖的内网IP
local_port =5000
#群晖访问端口
subdomain = test
# 选择一个可用的子域名,你的访问地址将会是http://test. usla.waiwang.men
custom_domains = test.test.com
#如果你有自己的域名,可以设置你自己的域名,先将自己的顶级域名解析到usla.waiwang.men (用CNAME记录,不要用A记录)(和上面一项二选一)

除非注明,否则均为Troy小法师原创文章,转载必须以链接形式标明本文链接

本文链接: https://www.troyqi.com/archives/436/nas内网穿透docker方案(最简单的免费外网访问方法)/


2 条评论

jojo · 2019年12月17日 上午10:15

按照教程操作之后,在 浏览器中打开域名显示拒绝请求,但是域名(子域名test.aliyunsz.waiwang.men)又可以ping通,这是除了什么问题么?

    Troy小法师 · 2019年12月17日 下午12:00

    你检查下客户端配置都正确吗

欢迎留言