在忍受了几年出租房极差的无线网络后,今年装修新家的时候,终于能一展拳脚折腾家庭网络环境了。然而在实际操作中,我发现其中所涉还真是庞杂,很是耗费心力。在大量阅读了网上的评测、教程,先后购入了AC+AP、NAS等一堆设备后,总算折腾到了令自己满意的程度。有鉴于此,就做个记录,当成是经验谈罢。
1 硬件
折腾家庭网络基础是网络硬件的规划。而且这部分设计,应该和水电一样,是需要在硬装的时候就开始考虑的。实际上,生活中很多网络问题,都是因为硬装时期的「先天不足」而造成的——比如承重墙对无线信号的削弱是致命的,但是如果没有预埋网线,就需要用更为复杂的方案来解决。
1.1 拓扑设计
拓扑设计其实是我卡住时间最久的环节。主要是犹豫不决,对于什么是「最佳方案」举棋不定。这里列两篇具有指导意义的指南吧。
总之,在参考了很多方案以后,我还是总结出了一套拓扑设计的原则:
- 家庭网络规划的核心是预埋网线
- 最好能做到每个房间或生活区域都预埋网线,在不确定软装布局时,可以在两面墙上都留网线口
- 如果想通过一个无线AP实现大面积网络覆盖,那最好在房顶吸顶灯处埋线
- 网线如果没埋到位,mesh是不二之选
- 不要迷信什么电力猫、无线信号放大器,都是不稳定、不可靠的方案
- 网线如果埋到位了,AC+AP的方案是最佳之选
- 面板AP的优势是隐蔽、不占网口,缺点是如果支持Wi-Fi 6之类的新标准价格会很高
- 吸顶AP的优势是隐蔽、信号强,缺点是覆盖范围太广,以至于有时换房间也不会切换AP
- 如果有安装各类插件的需求,可以选择支持纯AC模式的Poe交换机,搭配路由器使用
- 相同网络环境下,设备接入网络的方式,永远是有线 > 无线(当然前提是设备可以接有线网络)
- 弱电箱空间尽量大些,可以考虑做在柜子里,因为很多网络设备要放在这块区域
基于这些原则来看,我家的问题是:房子是精装房,已经无法进行预埋网线操作了。好在开发商还是埋了不少网线(可恨的是超五类线),弱电箱处又做了嵌入式的一面柜子,可以说先天条件不差。
在这种情况下,考虑到我后续需要购入的群晖NAS、旁路由、Iot设备网关等,我最终选择了AC+AP的方案,电脑、电视等有线网口的设备全部通过有线网络接入。整体拓扑图如下:
1.2 硬件选择
1.2.1 AC/AP/Poe
所谓AP,即无线网络节点,可以是无线路由器,也可以是面板AP等设备。而AC则是AP设备的控制器,当有多个AP设备时,由它来判断无线设备连接哪一个AP。Poe的话,则是一种供电形式,即通过网线来供电,从而使得AP设备不需要另外连接电线供电。
AC+AP的套装,我最终选择了H3C的H8家庭套装,即路由器和AC&Poe交换机一体机H200,和6个AP面板A200。之所以选华三,一来是因为它相较TPLink之流,主做企业网络方案,口碑不错。二来虽然H200是一体机,但是支持纯AC模式,可扩展性强。至于AP面板,虽然没有Wi-Fi 6之类功能,但是胜在数量众多,能做到全屋无死角覆盖。
1.2.2 NAS/旁路由
至于NAS的话,则可以简单理解为网络存储硬盘。群晖有「NAS界的苹果」之称,正好今年出了一波新款。我选购的DS220+,定位家庭中端款,双盘位,同时还有了两个网口,可以通过虚拟机来实现软路由功能,实在是性价比之选了。也正是因此,我没有另外购入软路由设备,而是通过群晖的虚拟机来实现了旁路由功能。
这里简单解释下「软路由」和「旁路由」。
所谓「软路由」,是相对普通路由器而言的一种设备类型,是arm架构的linux小型计算机。通过安装openwrt/LEDE等系统,在实现拨号上网、DHCP等普通路由器具备的功能之外,还能通过安装插件实现科学上网、广告过滤等。
而「旁路由」则是「旁路网关」的俗称,是指局域网中一种设备功能。实际上通过Surge等软件,电脑也可以作为旁路由使用,只是不太稳定罢了。旁路由通过连接主路由和无线设备,作为「中间人」,接管无线设备的网络请求,也可以实现科学上网、广告过滤等功能。
关于「软路由」和「旁路由」的详细解释,可以参考以下文章:
2 软件
硬件到位后,实际耗费大量时间的,是设备软件的安装。虽然网上有大量教程可参考,但是初上手的时候真是一头雾水,不知道该装哪些。不少教程更新时间还较早,有不少坑。这里,我把软件安装过程中,自己的理解、参考的教程和遇到的问题都一一列出来。
2.1 群晖NAS
2.1.1 Raid选择与备份策略
NAS的核心定位是「存储设备」,所以不管支持多少插件,它最基础的应用场景还是存储和备份数据。我以为,除了著名的「3-2-1」备份原则——3份相同文件、2种不同存储介质、1个异地备份外,还得对NAS的使用思路有个清晰的认知。
比如,因为之前缺乏相关认识,群晖Raid方式的选择就困扰了我很久:Raid0是最节省空间的,但是担心安全性不够;其他Raid方式虽然看似安全,但多少感觉有些浪费空间。
少数派的这篇《简单的NAS不简单》,在这方面很有启发性,破除了我的迷思。文章最有建设性的一个建议是:虽然Raid备份方式很稳定,但是一旦出问题,恢复的速度慢得让人绝望。而群晖盘中的文件,又并不是都需要备份的,所以采用Raid0完全就够了。在这基础上,利用Hyper Backup双盘同步可以来备份重要文件,同时利用Cloud Sync备份到网盘,能完美实现「3-2-1」原则。
2.1.2 内网穿透
既然用上了NAS,那自然少不了内网穿透,否则仅在局域网访问相关资源,使用范围大打折扣。内网穿透有很多种方法,包括群晖自带的QuickConnect、DDNS动态域名解析,还有反向代理、利用公网IP直接访问等方式。
其中,找运营商申请公网IP有点麻烦,而且IPv4资源紧张,还不一定能申请的下来。免费的DDNS服务如花生壳速度有限,QuickConnect只能访问群晖自有套件,所以综合考虑下来,我还是利用frp反向代理来实现了内网穿透。
关于frp的原理,v2ex的这个帖子讲得很清楚明白——内网穿透:在公网访问你家的NAS。简单地来说,就是利用一个公网可访问的VPS,安装frp服务端,内网设备安装frp客户端,通过服务端的反向代理转发网络请求,实现对内网资源的访问。
关于frp的安装和使用可以参考以下教程:
- 使用frp进行内网穿透:文中案例是tcp代理,如果是http代理,设置域名dns解析时,需要注意应该解析到local_port而非remote_port
- 使用frp为你的Web服务添加https支持:如果用https2http插件的话,记得把plugin_local_addr & plugin_host_header_rewrite改成对应的内网ip和端口
不过,由于我用的是境外VPS,frp的速度实在有限。为此我经过一阵摸索试探后发现,zerotier是PC端兼具免费易用和高速访问(下行速度无限接近内网!)特性的不二之选。而移动端由于与网络代理软件互斥,所以并不十分推荐。其原理及教程可参考以下文章:
- 轻松实现无公网IP高速远程访问NAS!zerotier从原理到实践
- 群晖系统安装zerotier one进行内网穿透过程中常见问题及解决方法:此文适用于群晖不知道选哪个内核、点Join没反应等疑难问题
2.1.3 常用插件安装
而后就是插件的安装使用了。虽然群晖功能很强大,插件群也很多,还支持docker能当个服务器来用,但是实际日常生活中,频繁用到的功能,无非以下几种:
- 系统、文件、照片存储备份
- 影视、音乐、图书媒体库
- 远程下载工具
下面列出我参考的相关教程,以供参考。
- 正经影视库
- 不正经影视库
- 利用EverAver+Emby+Kodi打造本地AV媒体库
- AV信息搜刮器——AV Data Capture:注意需要
cd
进对应目录后再执行程序 - AV女优头像搜刮器
- 图书库
- 群晖Docker搭建网页版Calibre书库:除教程步骤外,要配置config文件位置,并且利用桌面版Calibre先创建书库
- 系统备份
- 下载工具
- 神级下载工具Transmission,及配置Transmission Web Control:web UI安装的时候注意要用root账户,如果不是的话需要用
sudo -i
来获取root权限
- 神级下载工具Transmission,及配置Transmission Web Control:web UI安装的时候注意要用root账户,如果不是的话需要用
2.2 旁路由
上文也说了,我用群晖DS220+创建虚拟机,来搭建了旁路由。具体操作教程可参考:利用VMM虚拟机安装LEDE旁路由实现软路由超强功能。
完成安装后,有一个迷思曾困扰我许久:旁路由该如何设置,才能合理地接管设备的网络请求呢?尝试了多种设置方式后,我总结了下它们的优缺点:
方式 | 设置方式 | 优点 | 缺点 |
---|---|---|---|
主路由网关 | 将主路由的网关设置为旁路由地址 | 设置简单,一次搞定 | 主路由得支持手动设置网关;所有设备请求都会经旁路网关 |
设备网关 | 将联网设备的网关设置为旁路由地址 | 可以精确控制需要走旁路由的设备 | 麻烦,需要逐个设备设置 |
强制DHCP | 关闭主路由DHCP,开启旁路由强制DHCP | 设置简单,一次搞定 | 所有设备请求都会经旁路由 |
非强制DHCP | 不关闭主路由DHCP,开启旁路由DHCP | 两个路由都可以走,兼容性高 | 没法控制哪些设备经旁路网关 |
关闭DHCP | 关闭旁路由DHCP,配合设备网关设置使用 | 可以精确控制需要走旁路由的设备 | 麻烦,需要逐个设备设置 |
总的来说,我的建议是:如果绝大部分设备要用旁路由插件功能,就设置旁路由强制DHCP或更换主路由网关;如果只有少部分设备需要使用,就关闭旁路由DHCP,手动配置设备的网关地址。
最后,软路由的最大优势,还是安装和使用插件。LEDE/OpenWrt本身自带不少插件可使用,你也可以参考《用这些OpenWRT插件来武装你的路由器》按图索骥。就我个人而言,用处最大的插件,无非科学上网的PassWall、过滤广告的Adguard Home、NAT穿透加速和上文所述的frp了。
3 未来
至此,我的家庭网络基本折腾到了堪用的程度。如果说后续还有什么想捣腾的方向,一是如果H200不够用的话,可能还是会买台华硕来做主路由;二是想研究下虚拟局域网,出于信息安全考虑,想把Iot设备和其他内网设备区隔开来。