最近小米路由器 HD 发布,1299 元的价格让我意识到 —— 这是一个高价卖出旧款小米路由器的机会。当即挂上闲鱼以接近买入价格成交了。
顺带升级一下网络设备,总结自己的需求有:
- 跑满外网千兆,上海电信民用千兆光纤普及也就这几年的事了。
- 跑满内网千兆,局域网看片、看漫画。
- 不需要多拨、科学上网、过滤广告、QOS等功能,稳定即可。
最终锁定 x86 主机,在做软路由的同时,可以充当 NAS 使用。无线信号部分购买斐讯 K3 作为 AP 使用,直接引用自己推文:
消费级的路由器就像能刷 CM 的 Android 手机,到手了总得刷机。而且常年放角落不碰的东西,路由器比手机更应该追求性价比。 家庭使用场景,买无线硬件规格高的做 AP 就行了,主路由还得是企业路由或者 x86 才稳定。
![xiaomaV2.JPG](https://i.typlog.com/taresky/8379516879_5162945.jpg)
![feixunK3.JPG](https://i.typlog.com/taresky/8379516865_071432.jpg)
注意,黑群晖属于盗版,折腾完了发现确实很方便,已经准备购入正版群晖硬件。本文将侧重软路由结合群晖功能指南。
介绍
x86、ESXi、软路由、群晖之间的关系
![x86.png](https://i.typlog.com/taresky/8379516842_924238.png)
- x86 主机是一台小电脑,一般多网口,低功耗。
- ESXi 是这台电脑的操作系统,不同于 Windows 或者 Mac,这个操作系统本身就是虚拟机平台。感兴趣你可以在 VMware Wiki 继续了解。
- 在 ESXi 上我们可以创建虚拟机,比如软路由系统、群晖系统、Windows 等等。
当然也有别的 x86 方案,例如威联通。但基于 ESXi 的这套方案比较主流,能搜到大量教程和帮助,更适合新手。
硬件选购与配置
硬件选购部分,和我一样的小白用户请直接购买成品,DIY 可以参考 搭建一台真正的 All in One Home Server 篇一:硬件准备篇。 配置部分也不打算写,一是自身了解不足,仅仅是知其然。二是文章实在太多,送上两篇自己啃吧。
使用指南
如何更好的搭配软路由使用群晖,才是本文重点。
1. DDNS + 端口转发实现远程控制
一个最常见的需求,在外网想要访问家中的网络设备。最简单的办法是在你的路由器系统 (LEDE) 中,配置 DDNS 和端口转发。
先简单补充一下概念:
DDNS
由于我们重新拨号的时候,宽带运营商(比如电信)给我们的 IP 地址是容易变动的,需要通过一种手段来检测它的变动,才能长期访问正确的 IP 地址。DDNS 即 动态 DNS 能做到这一点,访问固定的某个域名,就能解析到你家中现在的 IP 地址。
推荐老牌的免费服务花生壳,几乎所有的路由器系统都支持,配置方法是在 LEDE 后台找到 DDNS 的选项,填入花生壳给你的域名、用户名、密码
即可。
端口转发
端口转发是将内网端口
转发至公网,就可以访问 公网 IP : 端口
来进入内网。
详细举例:
- LEDE 的管理地址
192.168.1.1
,即192.168.1.1:80
; - 把
内网 192.168.1.1
的80 端口
转发至公网 100 端口
; - 假设公网 IP 为
111.222.333.44
,那么访问111.222.333.44:100
就等同于在内网访问192.168.1.1:80
; - 假设 DDNS 域名为
example.domain.com
,直接访问example.domain.com:100
即可。
常见端口转发用途
- 首先是管理后台的外网访问,同上面的例子。可以把路由器后台,群晖网页,EXSi 后台都配置端口转发。
- PC 的远程开机和远程控制,之前写过一篇 「远程唤醒与远程控制 Win10 PC」。
- PT、Aria2 等下载工具的端口转发,实现远程下载,详情后文会提及。
- 在外网看家中群晖的电影或漫画,比较考验上传速度,详情后文会提及。
附上群晖官方文档「Synology 服务使用哪些网络端口?」。
2. 在路由器挂 SS 实现科学上网
上一次我对路由器挂 SS 感兴趣时,还在用 TP-Link 的 mini 路由器,实际体验下来性能十分糟糕。换了软路由后用只做了一些简单测试:
![gcp-hk-speedtest.png](https://i.typlog.com/taresky/8379516811_977942.png)
在用 N3700 分配 2个核心给 LEDE 的情况下,墙外速度 200M 时 CPU 占用 70%,墙外跑满 220M 时 CPU 占用 85%。勉强达到了可用的程度,但显然换成千兆宽带后,我的软路由将无法胜任这项任务。我们可以考虑把 SS 挂在二级路由上,以备不时之需,比如 iPhone 恢复 iCloud 备份。
从规则定制的角度,路由器跑 SS 仍不如 Surge 的规则灵活,因此还是推荐神器 Surge 来实现 iOS/Mac 的科学上网,可以参考我之前写的 「2016 Surge 使用体验」。另外 Surge 在这里还可以实现内网访问的功能,详情后文会提及。
3. 普通下载、PT/BT 下载
DSM 的 Download Station 是群晖的主要下载工具,可以完成普通下载、PT/BT 下载任务。最新一次更新中写着修复了迅雷离线下载,迅雷使用了别的下载方法,没有去测试。
Download Station 的 BT 内核是 Transmission,实测可以跑满 200M 宽带。注意关闭启用 DHT 网络
,并且配置 BT 端口的公网转发
,不然会导致红种。
通过 iOS 客户端 DS get 可以在手机上查看下载进度和新增下载任务。
4. 百度云和迅雷离线下载
之前写过一篇 「Mac下使用Aria2在百度云不限速下载」,利用 Aria2 可以实现百度云和迅雷离线的下载,同样群晖也可以安装 Aria2。
安装 Aria2
操作过程直接参考 纯小白教程!群晖用Docker安装ARIA2,我补充几点教程中未提及,但是可能导致问题的地方:
- 在 Docker 中搜索,需要科学上网,提供两个简单的思路:
- 在软路由中直接开启 SS,群晖自然处于 fq 状态。
- 群晖支持 HTTP 代理,Surge for iOS/Mac 或者 GoagentX 都能通过局域网共享 HTTP 代理。
- 我们最终目的要实现远程使用 Aria2 下载,因此强烈建议开启 Aria2 的 token 验证: 用文本编辑器打开
aira2.conf
,在最下方加入一行rpc-secret=password
,其中password
可以改成你想要的密码。 - 教程中没有提及,必须使用 root 用户,才能修改 download 文件夹 7777 权限。和一般 ssh 修改密码不同,群晖的 root 权限获得和密码修改操作比较诡异:
- 先在 DSM 控制面板中开启 admin 用户。
- 使用 admin 用户登录 ssh,输入
sudo su -
提升到 root 权限。 - 输入
synouser –setpw root password
修改 root 密码,其中password
可以改成你想要的密码。
Aria2 WebUI 配置
由于我们增加了 token 验证,配置上 Aria2 的服务器路径地址变成了 http://token:password@hostname:port/jsonrpc
,在 Aria2 WebUI 的访问密码设置中也要填写 password
。
我们最终想要实现远程下载,hostname:port
可以在端口转发后变成 example.domain.com:port
。
百度云和迅雷离线配置
这里涉及两个 Chrome 插件,分别是 BaiduExporter 和 迅雷离线助手。
- BaiduExporter 其实一直在默默更新,需要从 Github 下载源码,开启 Chrome 插件的开发者模式,将整个 Chrome 文件夹拖入插件页面即可。
- BaiduExporter 可以同时配置
本地 ( Mac ) Aria2 下载
和群晖 Aria2 下载
,如图所示:
![BaiduExporter.png](https://i.typlog.com/taresky/8379516781_323494.png)
5. 局域网看电影、漫画
这个我使用 NAS 的核心需求,iPad 也放心的可以买乞丐版了。
SMB/AFP/NFS/WebDAV 的选择
DSM 的控制面板有这些文件共享方式: SMB ( CIFS )、AFP、NFS,但他们各自有各自的问题。
- SMB (CIFS) 是微软开发的协议,各平台兼容性最好,但性能要求较高。更重要的是 iOS 上 SMB 的速度始终被限制在 5MB/s;
- AFP 是苹果自己的协议,只支持 Mac 和 iOS;
- NFS 性能最优,但 Windows 和 Mac 上都没有便捷的加载办法,iOS 更是束手无策。
后来发现 WebDAV 是性能和兼容性可以兼顾的好办法,iOS 上有 nPlayer、Comic Glass、Good Reader;Mac 在 Finder 中快捷键 Command+K
直接挂载;Windows 安装 NetDrive 即可。
启用 WebDAV 需要在 DSM 的套件中心安装 WebDAV Server。
附上一个 SMB/AFP/NFS/WebDav 的文件传输峰值速度对比,Mac 由于是 13 年款 Macbook Air,无线网卡性能可能有瓶颈。
SMB | AFP | WebDAV | NFS | |
---|---|---|---|---|
iOS | 5 | 5 | 90 | X |
Mac | 35 | 80 | 80 | 80 |
PC | 115 | X | 115 | 115 |
最佳视频播放器 nPlayer Plus
最佳视频播放器,毫无疑问的 nPlayer Plus。我看到过一些最佳视频播放器的测评文章,下载了一堆免费播放器,评出一个最佳;截了很多图,然后谈交互,评出一个最佳;觉得一个播放器支持的格式多,就叫最佳。写出来搞笑吗?
nPlayer 拥有这些功能才称得上最佳:
- 对文件传输协议的全面支持,WebDAV/FTP/SFTP/SMB(CIFS)/UPnP(DLNA),传输速度非常好。
- 画中画、DTS 官方授权,这已经是一个播放器基本素质。
- 解码能力稳定,再高清也不卡不崩。
- 跨文件夹的字幕识别功能,看剧的时候字幕往往单独打包。
- 集成 The Movie Database。
![nPlayer.jpg](https://i.typlog.com/taresky/8379516751_635735.jpg)
Infuse Pro 曾独占高端播放器市场,后被 nPlayer 赶上,两者属于同一级别的产品。Infuse Pro 在我使用过程中出现过两次字幕识别乱码,两次播放中闪退,愤而卸载。而 nPlayer 一直非常稳定,留下它就足够了。
漫画软件 Comic Glass
漫画软件,推荐老牌的 Comic Glass。它支持 HTTP (包括 WebDAV)、FTP、SMB 协议,也可以自建 Media Server。默认只支持下载到本地后观看,开启浏览模式需要额外内购。 我没有搜到还有其他软件能支持这个功能,对于把漫画丢在 NAS 的人来说,Comic Glass 属于漫画必备软件。
6. Surge + SS 实现远程控制
前面我们提到,要从外网访问家里的软路由和群晖,需要借助 DDNS 和端口转发。但端口转发有一个缺点,容易把服务直接暴露在公网上,任何人知道了地址就可以访问,安全性较差。后来查到这篇文章「Surge Guide — 轻松访问家中的网络服务」,得知用 SS 就可以实现无缝访问家中网络。
其原理是,在家中的路由器上运行一个 SS 服务器,这个服务器不是为了给连上网络的人科学上网,而是为了让外网的人翻回家中的局域网,实现了更便捷的远程操控。
路由器 SS 配置
![lede-ssr.png](https://i.typlog.com/taresky/8379516736_412795.png)
- LEDE 路由系统默认支持这一功能,设定端口和密码后即可启动。
- 需要将
内网服务器端口
转发至公网,得到SS 的服务器端口
。 - 已经设置好的 DDNS 域名就是
SS 的服务器域名
。
Surge 配置
按照 Surge Guide 教程的域名配置,我自己实验失败了,配置域名跳转到内网 IP 后解析成功,但始终无法访问。最后我使用了更简单粗暴,而且不需要可配置域名的办法。
- 假设你的 DDNS 域名是
example.domain.com
,转发后的 SS 公网端口是8388
,密码为password
。
- 假设你的 DDNS 域名是
- 配置 Surge 规则,加入
HomeProxy
这条代理。
- 配置 Surge 规则,加入
HomeProxy = custom, example.domain.com, 8388, aes-256-cfb, password, xxx.module
- 当连上自家 Wi-Fi 时,说明你在内网,可以直连。
[Proxy Group]
Home = ssid, default=HomeProxy, HomeSSID=DIRECT, HomeSSID2=DIRECT
其中 HomeSSID
替换成自己的 Wi-Fi 名称。
- 加入规则
[Rule]
IP-CIDR,192.168.0.0/16,Home,force-remote-dns
其中 192.168.0.0/16
表示 192.168.0.0 - 192.168.255.255
,要修改成你真实的内网 IP 地址。
- 删除规则
删除
[General]
中skip-proxy
后的192.168.0.0/16
,因为如果 skip 的话上面的规则就失效了。
- 删除规则
删除
其实这里 iOS 不用删除,但 Mac 必须删除。猜测是 iOS 上的 skip-proxy 本身是失效的。
无缝体验
到这里 SS 和 Surge 都配置成功了,打开 Surge 后无论身处何处,你都能愉快的访问家中的内网资源。
另外 Surge 本身支持多代理,我们通过规则让实现了:
- 访问墙内直连。
- 访问墙外连 HK 代理。
- 访问家中内网连路由器代理。
- 若使用家里的 Wi-Fi,访问局域网变成直连,避免降速。
安全和性能兼顾,更有无缝的体验。在 nPlayer 和 Comic Glass 等软件只需要保留内网的访问路径即可,访问速度取决于你家中网络的上传和所在网络的下载。实际使用中,通过 SS 能跑满 20M 的上传速度,在线看 1080P 完全没问题。
结语
在折腾 x86 的这几天,踩了很多网上教程没提及的坑,希望这篇文章能节约你的时间。如果发现错误,请务必告知,关于页面 可以找到我。