• 手机版
    手机扫一扫访问
    好4K手机版
  • 公众号
    微信扫一扫关注
    好4K公众号
YouYu94Xiang 发表于 2019-7-13 22:24 | 显示全部楼层
教你用群晖 FastConnect实现自定义域名+内外网访问

前言我原本是5月底发这篇文章的,但是因为马上要搬家了,一拖再拖就到了现在。原文是基于长城/移动宽带写的,搬家后我换成了联通宽带。虽然我已经脱坑了,但决定把之前的折腾经历分享出来,希望能帮到有需要的朋友。??
前段时间「矿难」,我跟着某个 QQ 群里的老司机们上了「蜗牛星际」的车,以300元不到的低成本也体验了一下早有耳闻的 NAS,确实是个好东西啊。装黑群晖的过程我就不再赘述,网上很多教程,挺简单的。
然而在使用黑群晖的过程中,我和大部分人都碰到了一个难题:「如何通过外网访问家中的黑群晖?」
黑群晖无法使用官方的 QuickConnect 服务(虽然可以洗白,但不太推荐);
很不幸,家里的长城/移动宽带都没有公网 IP,也无法使用各种 DDNS 服务。
关于官方的 QuickConnect(简称QC),二级域名不够个性化,听说速度也不是很稳定,而且咱用着黑群晖,群晖老板都睁一只眼闭一只眼了,如果还去蹭群晖的 QC 资源,不合适吧?
其实大家都中了群晖的计,早晚要洗白~??
如果想解决这些麻烦,常见的有以下办法:
更换一个有公网 IPv4 地址的宽带运营商,比如电信和联通,此方法一劳永逸。
部分地区的宽带没有公网 IPv4 但支持 IPv6 ,尝试获取公网 IPv6 地址也是一样的效果。
购买内网穿透硬件,按月收费、操作较简单(如花生棒、公网IP盒子),但性价比可能不如换宽带。
使用内网穿透软件,有免费和付费的,操作灵活但有一点小门槛。
我在搬家前是合租,最开始图便宜瞎选的100M长城宽带,后来换成月消费58元+50M移动宽带,当时使用的是比较折腾的第4种方法。目前的新家是一个人住,使用的是月消费59元+100M联通宽带,比较省心了,算第1、2种方法吧。
顺便附送一个小科普:
IPv4 地址的总数为 4 294 967 296(约43亿),而互联网已经发明60余年,目前地球上的联网终端规模过百亿,早在2011年IPv4地址已经分配完毕了,其中我国占了3 .38亿个。
2017年某机构调查数据显示,中国7.51亿互联网用户仅有3 .38亿个 IPv4 地址,人均0 .45个。
目前 IPv4 在向 IPv6 过渡中,作为互联网的下一代协议,IPv6 地址的总数为3.4×10^38个,比 IPv4 地址的数目大 10^28倍,可以说是一个天文数字了,基本上IPv6可以分配到地球上的每一粒尘埃。
一、FastConnect我家中的斐讯K3路由器刷了「梅林」固件,里面内置了一个很厉害的「ddnsto内网穿透」插件,和 QC 的效果差不多了,但有一点小问题:
定期需要微信扫码验证,比较适合个人使用。
可能是我路由器是改版固件的原因,偶尔会抽风断开连接一段时间。
为了多一个备份方案,于是我翻遍各种论坛和博客,最后找到了一个比较合适的方案,我把它命名为「FastConnect」吧,因为其中的两项重要服务都是 F 开头,小小恶搞一下~??

顺手画了个logo
OK……不卖关子了,所谓的 FastConnect (简称FC)是指:

FC原理
Tip:注册个人域名属于个性化需求,并不是必须的。

FC流程图
当你在外面使用手机流量访问 fcnas.cf,域名会解析到frp服务器,通过内网穿透连接NAS。
当你在家中使用手机WiFi访问 fcnas.cf,域名会被家中的路由器劫持DNS,绑定到NAS的本地IP,局域网直达NAS,避免frp中转绕远路。
使用我这套 FastConnect 和群晖官方 QuickConnect 体验基本一致,甚至速度可能更快。
以上为个人理解,如有错误请指正。
看到这里,老司机应该心里有数了,FastConnect 的原理其实很简单,只是我觉得以前看的教程都不够简洁,于是自己动手写了。下面我就说说下实现的步骤,如果只需要外网访问,直接看下文的「内网穿透」部分即可。
二、注册域名2.1 免费域名网上有很多提供免费域名的服务商,如Freenom可注册.TK / .ML / .GA / .CF / .GQ后缀的免费一级域名。有效期最长一年,部分还能延期。
不过也有很多老司机不推荐免费域名,问题多多(比如域名使用不当,有可能被收回),请自行考虑后决定。

免费域名
简单过一下注册流程:
挑选一个你喜欢的免费域名,有效期最长12个月。
选择【Use DNS】-【Use your DNS】,推荐改成国内的 DNSPod,输入下面的地址:
f1g1ns1.dnspod.net
f1g1ns2.dnspod.net
下一步使用邮箱提交注册,或者直接使用 Google、Facebook 关联登陆。
最后随便填写一下个人信息,都不需要手机验证,注册成功的界面忘记截图了。

注册域名
2.2 付费域名国内的腾讯云和阿里云也有很多低价域名可购买,最便宜的才1元/第一年。因为我没买就跳过了,需要的自己下单,需要教程问度娘。

腾讯云域名

阿里云域名
三、内网穿透frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
frp 由 frps 服务端和 frpc 客户端组成,版本要一致,需配合使用。
3.1 选择frps服务器网上有许多互联网分享精神的站长共享了自己搭建的 frp 服务器,其实这个玩意挺小众的,服务器利用率不算高,速度基本够用。
我从搜索引擎找到了一些可用的 frp 公共服务器,不保证长期有效,自己 ping 一下找个速度快的。
排名不分先后
公共服务器1
公共服务器2
公共服务器3
公共服务器4
公共服务器5
公共服务器6
选择公共服务器要留意 frps 版本,待会儿你在群晖 Docker 里安装的 frpc 版本要一致,否则出现谜之 bug 后果自负。

frp公共服务器
如果你担心隐私问题或者有云服务器想自己折腾,可以在一台有固定公网 IP 的 VPS 上搭建 frps 服务端,GitHub 有官方教程。你也可以使用这个一键安装脚本。
3.2 安装frpc客户端打开群晖 DSM ,在「套件中心」里搜索并安装「Docker」,然后在 Docker 「注册表」里搜索并下载 frpc(frp客户端)。
frpc 客户端版本与 frps 服务端版本保持一致
我示例选的是 leonismoe/frpc 的 v0.26 版本镜像,更新比较及时

下载frpc
下载完映像后,不急着启动,咱们要先准备 frpc.ini 配置文件。
3.3 配置frpc新建一个文本文件,复制以下内容,另存为 frpc.ini文件(注意改后缀名),然后上传到你的 NAS 的 /docker/frp 默认文件夹,也可以选其他位置。
下面分享我原创的、可能是全网最容易看懂的 frpc 配置图示:
白色部分直接复制
蓝色部分按需修改
绿色部分备注说明
灰色部分自备域名

frpc配置文件
对照上图,复制文本并修改为适合你的配置。自己搭建 frps 服务器的同学,可以去GitHub看官方教程,有更多详细的可选设置项。
[common]
server_addr = frp1.chuantou.org
server_port = 7000
token = www.xxorg.com
user = ccav
admin_addr = 192.168.2.33
admin_port = 7400
admin_user = admin
admin_pwd = admin
[nas]
type = http
local_ip = 192.168.2.33
local_port = 5000
subdomain = fc
custom_domains = fcnas.cf
[feixun_k3]
type = http
local_ip = 192.168.2.2
local_port = 80
custom_domains = k3.fcnas.cf
3.4 启动frpc准备好配置文件,我们可以来尝试启动 frpc 客户端了。
在「Docker」的「映像」里选择刚才下载的文件「启动」创建容器,「常规设置」默认即可,点击左下角「高级设置」。

补的截图,忽略版本
首先「高级选项」默认选项卡勾选「启用自动重新启动」,然后在「卷」选项卡,用刚才上传 frpc.ini 配置文件替换默认的/etc/frpc.ini文件 。

高级设置1
在「网络」选项卡勾选「使用与Docker Host相同的网络」,最后点击「应用」,继续下一步完成启动。

高级设置2
如果你设置了公共服务器的 subdomain(二级域名),可以打开类似fc.frp1.chuantou.org的网址测试连接。若出现谜之bug,请查看日志然后去问度娘。如果你要绑定使用自己的 FC 域名,请继续下一步操作。
之后想修改 frpc 配置文件,可以直接打开群晖IP:7400进入管理后台。


frpc管理界面
四、域名解析接着我们来说说如何绑定自己的 FC 域名,打造自己独一无二的 FastConnect。
4.1 微信小程序本文以腾讯云 DNS 域名解析为例(DNSPod 现在属于腾讯云了),加上腾讯云支持自家的微信小程序,比较方便。
如果你是在阿里云购买的域名,可以直接使用阿里云解析,过程大同小异,有问题找度娘。

微信小程序搜索「腾讯云助手」,授权登录和验证步骤略过。
在小程序的「管理」页选择「域名解析」,添加域名。
选择你在腾讯云购买的域名或添加免费域名(注册的时候咱已经关联了 DNSPod)

添加域名
添加域名后继续点击「添加解析记录」,建议添加「@」和「*」这2条解析记录。
记录类型:公共服务器选「CNAME」,自建服务器选「A」记录
主机记录:填写「@」直接解析和「*」泛解析
记录值:填写 frps 服务器地址

添加解析
保存后过几分钟域名解析就会生效了(可以重启一下群晖的 docker 容器),打开浏览器测试一下吧~ 比如我的一级域名是fcnas.cf。

访问成功
4.2 设置群晖应用别名登录群晖 DSM,在「控制面板」-「Synology 应用程序门户」-「应用程序」里可以分别设置你需要单独访问应用门户别名和登录样式等。

设置别名
我直接设置了默认的几个别名,然后群晖会自动识别你的 FC 域名并关联别名,例如浏览器打开fcnas.cf/drive,这样就省去了修改 frpc 配置文件的麻烦,一步到位。
偷偷晒下壁纸哈~

群晖套件网页版
4.3 域名使用小贴士
如果遇上谜之bug,先去「解析记录」-「立即诊断」,查看原因后问客服或度娘。
群晖全家桶里的 Drive、Moments 等 App 可以直接填写fcnas.cf登录,无需加端口。
但群晖管家、DS file、DS audio、DS video 等 App 必须填写fcnas.cf:80登录,这个问题困扰了我很久。

域名小贴士
五、内外网切换群晖自带的 QuickConnect 虽然二级域名很长(类似xxx.cn1.quickconnect.to),但是 QC 有一个好处,只需在群晖全家桶 App 填写一次 QC ID(如xxx),它会自动识别内网或外网,达到最佳的连接速度。
一般用内网穿透或 DDNS 搞定外网访问后,在群晖全家桶 App 里填写fcnas.cf,不管你在外面还是家中,所有数据都要经过中转,下载或备份的速度比较一般。常见的解决办法是手动修改地址:
都填fcnas.cf,外网访问方便了,在家却变龟速,千兆局域网没有利用起来。
在外填fcnas.cf,在家填192.168.2.33,群晖 App 可以记住地址,手动切换略麻烦。
接下来就是 FastConnect 的最后一步,搞定内外网切换功能。
5.1 路由器DNS劫持这个步骤需要你使用基于 OpenWrt 的路由器固件(如 LEDE、梅林、老毛子,小米等),其他的开源路由器固件我不熟悉,只要支持修改 Dnsmasq 或 hosts 的都行。
因为市面上路由器型号各异,我不展开说了(我的路由器是梅林固件,出国留学插件里刚好有 Dnsmasq 的选项)。
请大家先问问度娘,找到家中路由器的 DNSmasq 或 Hosts 管理页面,添加加下面的内容。然后路由器会劫持你的 FC 域名,直接解析到群晖本地 IP。
如果修改Dnsmasq文件,这样填你的FC域名和群晖本地IP
address=/fcnas.cf/192.168.2.33
如果修改hosts文件,这样填你的FC域名和群晖本地IP
192.168.2.33 fcnas.cf
域名重定向
5.2 群晖套件 DNS Server如果你的路由器不支持修改 Dnsmasq 或 hosts ,建议换一个智能路由器,捡垃圾首选 K2P(开玩笑的~)
那么你可以去群晖「套件中心」下载「DNS Server」,也可以实现类似的效果。文章写到后面有点累了,偷懒贴一个网友的 DNS Server 设置教程吧。
群晖DNS Server自动识别内网还是外网连接 - GXNAS 博客
至此,一个专属于你的 FastConnect 方案就算圆满成功了,祝大家玩机愉快~

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子2

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时访问好4K

400-123-45678

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:广东省/深圳市
电邮:admin@hao4k.cn
电话:13800138000

Powered by Hao4K X3.3© 2016-2020 Hao4K影音|小黑屋|最新帖|网站地图