1987WEB视界-分享互联网热点话题和事件

您现在的位置是:首页 > 域名 > 正文

域名

黑群晖FastConnect:自定义域名+内外网访问,比QC更顺滑

1987web2023-01-02域名1239
〇、前言我原本是5月底发这篇文章的,但是因为马上要搬家了,一拖再拖就到了现在。原文是基于长城/移动宽带写的,搬家后我换成了联通宽带。虽然我已经脱坑了,但决定把之前的折腾经历分享出来,希望能帮到有需要的

〇、前言


我原本是5月底发这篇文章的,但是因为马上要搬家了,一拖再拖就到了现在。原文是基于长城/移动宽带写的,搬家后我换成了联通宽带。虽然我已经脱坑了,但决定把之前的折腾经历分享出来,希望能帮到有需要的朋友。


前段时间「矿难」,我跟着某个 QQ 群里的老司机们上了「蜗牛星际」的车,以300元不到的低成本也体验了一下早有耳闻的 NAS,确实是个好东西啊。装黑群晖的过程我就不再赘述,网上很多教程,挺简单的。

然而在使用黑群晖的过程中,我和大部分人都碰到了一个难题:「如何通过外网访问家中的黑群晖?」

  • 黑群晖无法使用官方的 QuickConnect 服务(虽然可以洗白,但不太推荐);

  • 很不幸,家里的长城/移动宽带都没有公网 IP,也无法使用各种 DDNS 服务。

关于官方的 QuickConnect(简称QC),二级域名不够个性化,听说速度也不是很稳定,而且咱用着黑群晖,群晖老板都睁一只眼闭一只眼了,如果还去蹭群晖的 QC 资源,不合适吧?

如果想解决这些麻烦,常见的有以下办法:
  1. 更换一个有公网 IPv4 地址的宽带运营商,比如电信和联通,此方法一劳永逸。

  2. 部分地区的宽带没有公网 IPv4 但支持 IPv6 ,尝试获取公网IPv6 地址也是一样的效果。

  3. 购买内网穿透硬件,按月收费、操作较简单(如花生棒、公网IP盒子),但性价比可能不如换宽带。

  4. 使用内网穿透软件,有免费和付费的,操作灵活但有一点小门槛。

我在搬家前是合租,最开始图便宜瞎选的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 开头,小小恶搞一下~

FastConnect.jpg

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

FastConnect (简称FC)是指.jpg

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

为了多一个备份方案.jpg

  • 当你在外面使用手机流量访问fcnas.cf,域名会解析到frp服务器,通过内网穿透连接NAS。

  • 当你在家中使用手机WiFi访问fcnas.cf,域名会被家中的路由器劫持DNS,绑定到NAS的本地IP,局域网直达NAS,避免frp中转绕远路。

  • 使用我这套 FastConnect 和群晖官方 QuickConnect 体验基本一致,甚至速度可能更快。

  • 以上为个人理解,如有错误请指正。

看到这里,老司机应该心里有数了,FastConnect 的原理其实很简单,只是我觉得以前看的教程都不够简洁,于是自己动手写了。下面我就说说下实现的步骤,如果只需要外网访问,直接看下文的「内网穿透」部分即可。

二、注册域名

2.1 免费域名

网上有很多提供免费域名的服务商,如Freenom可注册.TK / .ML / .GA / .CF / .GQ后缀的免费一级域名。有效期最长一年,部分还能延期。

不过也有很多老司机不推荐免费域名,问题多多(比如域名使用不当,有可能被收回),请自行考虑后决定。

免费和付费域名.jpg

简单过一下注册流程:

  1. 挑选一个你喜欢的免费域名,有效期最长12个月。

  2. 选择【Use DNS】-【Use your DNS】,推荐改成国内的DNSPod,输入下面的地址:

  • http://f1g1ns1.dnspod.net

  • http://f1g1ns2.dnspod.net

  1. 下一步使用邮箱提交注册,或者直接使用 Google、Facebook 关联登陆。

  2. 最后随便填写一下个人信息,都不需要手机验证,注册成功的界面忘记截图了。

挑选一个你喜欢的免费域名.jpg

2.2 付费域名

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

三、内网穿透

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。frp 由frps 服务端和frpc 客户端组成,版本要一致,需配合使用。

3.1 选择frps服务器

网上有许多互联网分享精神的站长共享了自己搭建的 frp 服务器,其实这个玩意挺小众的,服务器利用率不算高,速度基本够用。

我从搜索引擎找到了一些可用的 frp 公共服务器,不保证长期有效,自己 ping 一下找个速度快的。

选择公共服务器要留意 frps 版本,待会儿你在群晖 Docker 里安装的 frpc 版本要一致,否则出现谜之 bug 后果自负。

选择公共服务器要留意 frps 版本.jpg

如果你担心隐私问题或者有云服务器想自己折腾,可以在一台有固定公网 IP 的 VPS 上搭建 frps 服务端,GitHub 有官方教程。你也可以使用这个一键安装脚本。

3.2 安装frpc客户端

打开群晖 DSM ,在「套件中心」里搜索并安装「Docker」,然后在 Docker 「注册表」里搜索并下载frpc(frp客户端)。

  • frpc 客户端版本与 frps 服务端版本保持一致

  • 我示例选的是 leonismoe/frpc 的 v0.26 版本镜像,更新比较及时

frpc 的 v0.26 版本镜像.jpg

下载完映像后,不急着启动,咱们要先准备frpc.ini配置文件。

3.3 配置frpc

新建一个文本文件,复制以下内容,另存为frpc.ini文件(注意改后缀名),然后上传到你的 NAS 的 /docker/frp 默认文件夹,也可以选其他位置。

下面分享我原创的、可能是全网最容易看懂的 frpc 配置图示:

  • 白色部分直接复制

  • 蓝色部分按需修改

  • 绿色部分备注说明

  • 灰色部分自备域名

全网最容易看懂的 frpc 配置图示.jpg

对照上图,复制文本并修改为适合你的配置。自己搭建 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.jpg

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

「高级选项」默认选项卡勾选「启用自动重新启动.jpg

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

使用与Docker Host相同的网络.jpg

如果你设置了公共服务器的 subdomain(二级域名),可以打开类似http://fc.frp1.chuantou.org的网址测试连接。若出现谜之bug,请查看日志然后去问度娘。如果你要绑定使用自己的 FC 域名,请继续下一步操作。

之后想修改 frpc 配置文件,可以直接打开群晖IP:7400进入管理后台。

400进入管理后台.jpg

四、域名解析

接着我们来说说如何绑定自己的 FC 域名,打造自己独一无二的 FastConnect。

4.1 微信小程序

本文以腾讯云 DNS 域名解析为例(DNSPod 现在属于腾讯云了),加上腾讯云支持自家的微信小程序,比较方便。

如果你是在阿里云购买的域名,可以直接使用阿里云解析,过程大同小异,有问题找度娘。
  1. 微信小程序搜索「腾讯云助手」,授权登录和验证步骤略过。

  2. 在小程序的「管理」页选择「域名解析」,添加域名。

  • 选择你在腾讯云购买的域名或添加免费域名(注册的时候咱已经关联了 DNSPod)

选择你在腾讯云购买的域名或添加免费域名.jpg

  1. 添加域名后继续点击「添加解析记录」,建议添加「@」和「*」这2条解析记录。

  • 记录类型:公共服务器选「CNAME」,自建服务器选「A」记录

  • 主机记录:填写「@」直接解析和「*」泛解析

  • 记录值:填写 frps 服务器地址

填写 frps 服务器地址.jpg

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

保存后过几分钟域名解析就会生效了

4.2 设置群晖应用别名

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

设置群晖应用别名.jpg

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

偷偷晒下壁纸哈~

壁纸.jpg

4.3 域名使用小贴士

  • 如果遇上谜之bug,先去「解析记录」-「立即诊断」,查看原因后问客服或度娘。

  • 群晖全家桶里的 Drive、Moments 等 App 可以直接填写fcnas.cf登录,无需加端口。

  • 但群晖管家、DS file、DS audio、DS video 等 App 必须填写fcnas.cf:80登录,这个问题困扰了我很久。

群晖全家桶里的 Drive、Moments 等 App 可以直接填写fcnas.cf登录.jpg

五、内外网切换

群晖自带的 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

如果修改Dnsmasq文件,这样填你的FC域名和群晖本地IP.jpg

5.2 群晖套件 DNS Server

如果你的路由器不支持修改 Dnsmasq 或 hosts ,建议换一个智能路由器,捡垃圾首选 K2P(开玩笑的~)

那么你可以去群晖「套件中心」下载「DNS Server」,也可以实现类似的效果。文章写到后面有点累了,偷懒贴一个网友的 DNS Server 设置教程吧。

至此,一个专属于你的 FastConnect 方案就算圆满成功了,祝大家玩机愉快~

我上次发布的效率集合导航站,就是利用这个办法搭建的,感兴趣的可以顺便看看。