猫盘群晖远程访问之Frpc
前言
手上有一台猫盘刷的群晖,虽然已经洗白并且能稳定使用,但是从来没去尝试过群晖官方的QuickConnect,一是因为不好意思,二是因为听说QC的速度也并不快。没有公网ip的情况下,我也尝试过zerotier打洞的方式,但是跨运营商访问成功率很低并且速度也很慢,最终入了frp的坑。
通过frp中转的方式有两种,一种是在自己有公网ip的服务器上搭建,另一种是用第三方的服务。因为贫穷, 我选择了第二种。
各个平台可能操作方法略有不同,我使用的是SakuraFrp,虽然有非常丰富的文档,但是实际操作中仍然遇到了一些问题,就把自己踩过的坑总结一下。
注册账户
注册账户这一点没有什么难度,但是有的平台有国内的服务器做节点,根据 《中华人民共和国网络安全法》 及相关法律的规定,用户不提供真实身份信息的,网络运营者不得为其提供相关服务。如果你能接受国外的节点(不一定慢很多),那么不实名也是可以的。
配置DSM面板
1、登陆DSM之后,打开控制面板——网络——DSM设置,记住DSM端口,通常http端口为5000,https端口为5001 。
建议选择穿透https,原因有二,一是因为部分节点屏蔽http传输,二是因为可能会引起某些不必要的麻烦。
2、点开控制面板——应用程序——终端机和SNMP,启用ssh功能并记下端口,默认22 。
安装frpc
1.连接ssh,常用软件如PuTTY。首次登陆可能会有个安全性提示,忽略掉就好了。点击Open,然后输入登陆DSM的账号密码,输入密码的时候不会显示。
2.获取root权限,输入命令sudo -i,然后再次输入密码,可以看到你的Nas名称前面由admin变成了root。
3.确认系统架构。执行uname -m命令,可以看到大猫群晖的架构是aarch64,其它设备请参考官方文档。
4.安装frpc。安装的方法有两种(建议第二种):
①第一种是SakuraFrp提供的懒人版命令,如果你按照步骤2获取了root权限则不必输入sudo。
sudo bash <(curl -Ls getfrp.sh) |
第一种方法确实简便,有中文指引,但是我没能安装成功,所以用的方法二。
②进入/usr/local/bin
目录并下载文件,大猫群晖可以直接使用如下代码(两条命令先后使用):
cd /usr/local/bin |
注意:wget后面是杠欧而不是杠零,官方文档的字体看起来非常像杠零,我就浪费了许多时间(哭)
5.设置正确的权限并检查输出(同样获取了root权限的可以不输入sudo):
sudo chmod 755 frpc |
6.输入frpc -v
查看是否安装成功,如果显示了对应的版本即为成功。
创建隧道
根据你的网络选择一个穿透节点,如果你同时使用多个运营商(如宽带电信手机移动)建议选择多线。
如图操作,本地端口号为你DSM设置的https端口号,默认为5001。远程端口建议自动选择,因为手动输入的可能已经被使用。
配置服务
1.如果你是DSM5/6版本(大多应该是6),回到ssh客户端,执行下面命令:
vim /etc/init/frpc.conf |
2.按E进入编辑模式。
3.按一下i
键,左下角会显示--INSERT--
或者--插入--
的字样。
4.复制粘贴下面的内容,注意要把启动参数换成自己的访问密钥+隧道id。
description "SakuraFrp synology frpc service" |
5.按一下Esc键,然后输入:wq
,就保存并退出。
测试服务
执行下面的命令测试frpc能否正常运行(不要#):
# start frpc |
如果看到途中的两个提示,则frpc已经安装完成并可以正常使用了(这里借用一下官方文档的图):
现在您可以通过 https://节点域名:远程端口
的方式访问 DSM 面板,也可以使用 https://日志中标出的连接方式
访问,推荐使用节点域名。
绑定域名
平台给的节点域名比较长且不好记,如果你有自己的域名,可以解析自己的域名。以腾讯云为例,添加一个CNAME解析,记录值为节点域名。
此外,腾讯云可以免费申请ssl证书,申请一个ssl证书以确保https访问正常。
总结
最开始一直没尝试frp是因为看到文档就觉得复杂,事实上昨晚操作过程中也如此觉得,尤其是杠欧那里,安装失败了好几次,或者安装错了版本最后rm -rf。但是弄好了之后发现其实也没什么难度,仅以此文来总结我使用过程中踩过的坑,避免各位再次踩坑浪费时间。
如果你没有公网ip但是外网访问群晖的话,frp(尤其是自建)应该是一个非常棒的选择。