前段时间,把之前咸鱼上买到的星际蜗牛刷上飞牛系统后就一直空跑闲置着。
今天有空正好把一些基础的软件和功能给配置上。
首先就是实现内网穿透,解决最基本的远程访问的问题。
这里实现内网穿透的方案是这样:NAS 和访问设备上都安装 FRP 客户端,再配合一台有公网 IP 的云服务器安装 FRP 服务端来协助打洞,访问设备和NAS之间使用FRP的XTCP模式进行点对点通信。
最终实现在一般情况下,既能保证一定访问速度,又能兼顾一定安全性的远程访问。
云服务器上安装frps可以去看这篇博客:Debian下安装frps
FRP的鉴权方式设置为使用token,记下frps设定的token后面frpc要使用
1 | # frps.toml |
安装完frps后还需要在云服务器厂商的控制台设置一下放行对应的端口。一般的云服务器厂商默认安全组配置都只放开22、80、443之类的几个基本端口,还需要自己进一步配置,所以这里多提一嘴。
打开frpc编辑里面的配置文件。
具体配置情况如下:
1 | #云服务器域名或IP |
配置参数详解:
[[proxies]] :这是 TOML 格式中定义代理数组的语法。每一个 [[proxies]] 区块代表一条独立的穿透隧道。name:代理的唯一标识名称,后续在访问端(Visitor)配置时需要用到。type:设定为 xtcp,即启用 P2P 点对点穿透模式。secretKey:该条隧道的共享密钥。访问端必须填入完全相同的密钥,才能通过验证并建立连接。localIP 与 localPort:指向 NAS 本地需要被穿透的服务。127.0.0.1 代表本机,端口则对应具体的服务上述配置的实际含义:
在 NAS 上建立了两条 P2P 穿透隧道。第一条将本地的 SSH 服务(22端口)映射出去,命名为 NAS2FN_SSH_P2P;第二条将飞牛 NAS 的 Web 管理页面(5666端口)映射出去,命名为 NAS2FN_Main_P2P。
我的主力机是Win10系统,frp也提供了Windows版本的软件,但依然是用命令行的方式运行和配置的。
但都用Windows了,安装使用个软件还整天捣鼓命令行未免有点狼狈。所以我推荐用koho开发开源的FRP Manager来配置frpc。
GitHub上下载并安装FRP Manager
仓库地址:https://github.com/koho/frpmgr
点击“添加”,在弹出窗口填写代理信息
配置参数详解:
secretKey 中设定的共享密钥proxies 配置中设定的 name(即 NAS2FN_SSH_P2P),用于告诉服务器要访问哪条隧道127.0.0.1:25622上述配置的实际含义:
在 Windows 电脑上建立了一条访问通道。当通过本地的 25622 端口发起连接时,frp会自动通过 P2P 隧道,将流量直连到远端名为 NAS2FN_SSH_P2P 的服务上。
可以看到两个访问的配置已经运行成功
现在就可以通过本地的127.0.0.1:25666地址访问到远端的NAS服务了