如何搭建从零到放弃的家庭网络

2021-04-17 21:44:51 22点赞 173收藏 17评论

引言

楼主家中网络从最初的一个路由器,从WIFI问题开始折腾到软路由,最终实现到了目前一个比较满意的程度,写篇文章记录一下,启发大家组建自己的家庭网络系统。

同时也练练写文章如何搭建从零到放弃的家庭网络

从需求出发

首先一个优良的家庭网络系统需要解决什么问题,或者说我期望家庭网络能做啥?

功能脑图功能脑图

家庭网络系统最先解决的是通网问题:把外部电信移动网络接入内网;保证内网里WIFI的高速和稳定。

在网络环境稳定的情况下需要支持一些常用的应用:可以常年挂机下载东西,下载的数据需要存储在可靠并且方便扩容的地方,下载的内容需要能在电视、pad、手机等任意设备上播放。

在搭建了常用的应用程序后,大体上已经能满足大部分人的需求,还希望实现一些高级功能,能从任意地点访问内网搭建的服务,同时也希望家里设备不用配置即可留学上网。

网络拓扑设计

为了实现最基本的通网功能,先分析一下网络拓扑怎么设计。

通常来说最简单的方式就是一只路由器干所有的活:1. 负责接入外部网络,拨号上网;2. 做NAT,负责内网网络运行,并且可以直接插上电口上网;3. 无线WIFI功能,把电缆信号转换成无线信号。

如下图所示:

最简单网络拓扑最简单网络拓扑

上图的网络拓扑结构的问题是:1. 家用路由器的口太少,设备一多线插不下;2. 单一无线路由性能受限,接入设备一多容易变卡顿(家里有土豪路由器请忽略这条);3. 房子大或者户型复杂时单一路由器无法覆盖全屋。

直接上楼主家里的网络拓扑:

楼主的网络拓扑楼主的网络拓扑

图示,楼主愿称之为最复杂家庭网络。

先来讲一下核心几个部件:

1. 拨号路由器用了移动送的光猫,负责PPPoE拨号,并把光纤转化为光口。

2. 入口路由器选用了刷了梅林的思科EA6200(性能较弱),该路由主要担任IP静态地址分配、网内流量监控。

3. 中央的交换机采购了一个8口普联带Web管理、VLAN功能交换机,用来解决入口路由器插口不够的问题,插上即用没啥好说(虽然最后Web管理、VLAN功能也没用上。。。)。

现在讲讲其他几个额外的东西:

4. 几个Mesh路由器用来扩展无线信号(解决户型转角多信号不好问题),采用了3个TL-WDR7650接入交换机做有线回程。实测这款便宜的Mesh路由器除了是WIFI5以外,并没有明显缺点,网络也比较稳定。为防止网络冲突,入口路由器的WIFI信号关闭。

5. 软路由也是老生常谈的东西了,能实现一些有趣的功能如留学、去广告,实际使用了一个闲置的树莓派4B(2G内存版),文章后面再谈。

6. 集群交换机本来不需要,但是两台NAS之间部署了分布式存储系统,使用集群交换机可以隔离网络,这里使用了一个库存的网件千兆交换机。相关内容后面会再讲。

作为轻度垃圾佬,本着能用就用的原则,采用了低性能入口路由器+单网口树莓派作旁路由,而不是直接用多口软路由接入网络。如果大家手头有软路由,可以直接用单一软路由换掉入口路由器。

NAS

NAS(Network Attached Storage:网络附属存储)是可以连接在网络上,具备存储功能的设备。

常见存储方式分为单机单磁盘、单机RAID(RAID 1、RAID5、RAID10)、单机ZFS、分布式文件系统(Ceph)。

存储方式对比存储方式对比

最终楼主采用了Ceph 2分片集群作为分布式存储,使用两台性能一高一低的机器组合高可用服务器

硬件方面

先从万能某宝买了个15U机柜(500多点)再加两个服务器空壳(带电源,大约300多一个),如图:

某宝的二手服务器机箱某宝的二手服务器机箱

然后发挥垃圾佬精神,把之前淘汰的老机器零件重新组装一下,具体配置如下:

主服务器:i5-4570+Z87主板+32G杂牌内存

副服务器:J4105-ITX集成CPU主板+16G杂牌内存

两台机器+ 14个新旧硬盘+1个集群交换机,总功率在130W左右。粗测主服务器在70W左右,副服务器50W左右。

软件

基础系统:主副服务器都安装Debian 10 Buster。

软件系统:主副服务器都安装OMV5(OpenMediaVault)、Ceph,主服务器上安装Docker,副服务器因性能略差不再安装其他软件。

OMV用于方便管理系统,毕竟手敲shell命令容易失手(手动狗头)。

Ceph是一套较为复杂的系统,使用了luminous(stable)稳定版本以免踩不必要的坑。鉴于大多数人对Ceph比较陌生,这边贴一个简单的Ceph网络架构图:

Ceph网络架构Ceph网络架构

虽然官方不建议,但是公共网络与集群网络仍然可以配置到同一个网络。从这张图可以看出,外部访问文件走了public network(公共网络),而Ceph的PG(可以理解为分片)恢复需要通过cluster network(集群网络)通信。即在硬盘发生故障自动恢复时,如果公共网络与集群网络相同,那么恢复数据的流量会挤压客户端正常访问数据的流量。

好了,上面说了这么多,其实就是手头多了一个交换机,正好拿来用下而已(狗头)。

那么Ceph到底如何使用?一般来说在家用场景,直接用Ceph的RBD映射成块设备,挂载到机器上像普通硬盘使用即可。

Docker直接使用了源安装,目前跑了一个数据库、Seafile、WizNote、某sync软件。通过Docker映射目录到Ceph的挂载点保障数据高可用。

这边还有个问题,Docker启动的服务怎么才能让外网访问到,后面再针对这个问题进行说明。、

远程下载

因为上面介绍了NAS,远程下载变得比较容易了,主要介绍几个软件。

BT下载:Transmission(直接从Debian源里安装),偷懒了,没有docker化

Transmission(BT客户端)Transmission(BT客户端)

某Sync:类似PT,安装在了Docker里,并挂载了Ceph盘用于下载

Resilio SyncResilio Sync

普通下载:直接使用OVM5里带的Downloader功能

OMV Downloader模块OMV Downloader模块

视频投影

因为有OMV5界面管理,文件分享变得比较简单。首先把OMV里的公开的共享目录通过DLNA、NFS或SAMBA(以客户端支持为准)开放访问,楼主只映射了NFS(因为比较熟悉NFS);非公开的共享目录通过FTP加密码访问。

手机端/pad端使用nplayer通过ftp访问资源。

TV端使用了小米盒子,手动装了Kodi,仅访问NFS。如图:

Kodi访问NFSKodi访问NFS

远程访问

外部网络接入大概能分为两种,一种是带独立IP的接入,另一种是不带独立IP的接入。一般来说带独立IP的接入是最好的,但是现在越来越少,而且通常来说没得选择。如果有独立IP,可以通过DNSPOD域名解析,并通过网上广为流传的DNS自动上报DNSPOD脚本更新,这样域名可以直接访问进来。

因为楼主家里是移动运营商并且没有独立IP,所以后面都是以没有独立IP的背景介绍。

以楼主的网络为例,同时采用了双个网络穿透方案:Frp与Zerotier。

Frp与Zerotier

Frp原理(Frp github文档原图):

Frp原理Frp原理

Zerotier原理(自己手画):

Zerotie原理Zerotie原理

Zerotier使用了P2P穿透原理,使用一个叫名称Planet的中心服务器记录两个Leaf(可理解为客户端)的路由每一跳的NAT信息。优点主要是无需公网服务器做流量代理,缺点是网络之间容易受网络波动影响,且每个客户端都需要一个Zerotier client运行着。

远程访问最终方案

那么楼主最终采用了两种方案结合:

混合远程访问方案混合远程访问方案

这里有几个要点:

Frp提供了公网IP访问NAS上的服务,可以实现类似wx公众号的回调需求。因为会暴露内网的服务到公网端口,需要非常注意安全性。

信任的设备之间主要通过Zerotier访问,在两端都使用Zerotier的情况下,互相访问变得很容易,甚至可以互相访问全部端口,用于一些诸如Seafile、WizNote等服务的访问。只要不暴露Zerotier的Network ID,一般来说黑客很难进攻,安全性极佳。

在内网,也希望使用相同的访问方式,但是希望直接走内网(晚期懒癌),不用到zerotier planet绕一圈了。这时候域名的作用就发挥出来了,访问服务时都使用域名访问。不同点是在外网,域名解析到了Zerotier的IP;在内网,因为在路由器处设置了域名拦截,域名直接指向了内网服务器IP地址。

综上,完成了一套支持内网公网访问、需要回调地址特殊场景的远程访问方案。

留学上网

压轴放在最后讲。

实现方式就是设置一个树莓派软路由(旁路由),所有流量自动走进软路由里,并在软路由里实现网内所有流量留学。

众所周知软路由需要两个以上的口才能运作,但是如果把软路由当作旁路由,就只需要一个口,闲置的单网口树莓派就能用上了!

使用suling哥哥的镜像,直接用Etcher工具写入SD卡即可使用。略过安装过程。

设置订阅配置

如何搭建从零到放弃的家庭网络

设置客户端配置

如何搭建从零到放弃的家庭网络

然后配置入口路由器(刷了梅林系统的EA6200),调整DHCP配置:

如何搭建从零到放弃的家庭网络

总结

费用情况:

费用清单费用清单

整体费用接近2500,但是在可扩展性、稳定性上都达到了较好的状态。

感谢大家观看。上述的网络设计充分利用了手头各种器件,基本满足一般家庭需求。后续在万兆网络、WIFI6设备普及的情况下,可以逐步替换升级掉一些设备,此时可以进一步提升网络的性能。

当然楼主不得不承认,为了充分利用手上的硬件,方案有些地方还是过于复杂了,机柜有些买贵了。不想折腾的同学可以试下r2s软路由+WIFI6路由器+白群晖的方案。

展开 收起

群晖(Synology)DS418play双核心4盘位NAS

群晖(Synology)DS418play双核心4盘位NAS

3850元起

Lenovo 联想 个人云存储T2 私有云 双盘位 NAS存储(RTD1296、2GB)

Lenovo 联想 个人云存储T2 私有云 双盘位 NAS存储(RTD1296、2GB)

999元起

HIKVISION 海康威视 Mage20双盘位 NAS网络存储服务器 无盘版

HIKVISION 海康威视 Mage20双盘位 NAS网络存储服务器 无盘版

999元起

QNAP威联通TS551 2G内存5盘位双千兆4K转码网络存储服务器NAS

QNAP威联通TS551 2G内存5盘位双千兆4K转码网络存储服务器NAS

1599元起

群晖(Synology)DS218play四核心2盘位NAS

群晖(Synology)DS218play四核心2盘位NAS

1980元起

威联通(QNAP) TS-212P3 2盘位NAS网络存储器 四核心处理器 TS-212P3 TS-212P3(空机)

威联通(QNAP) TS-212P3 2盘位NAS网络存储器 四核心处理器 TS-212P3 TS-212P3(空机)

879元起

ZSpace 极空间 Z2 2盘位NAS (RTD1296、2GB)

ZSpace 极空间 Z2 2盘位NAS (RTD1296、2GB)

1199元起

QNAP 威联通 TS-873A 八盘位 NAS存储 Ryzen V1500B 8GB

QNAP 威联通 TS-873A 八盘位 NAS存储 Ryzen V1500B 8GB

暂无报价

QNAP 威联通 TS-473A 四盘位 NAS存储 V1500B 8GB

QNAP 威联通 TS-473A 四盘位 NAS存储 V1500B 8GB

暂无报价

QNAP 威联通 TS-673A 六盘位 NAS存储 V1500B 8GB

QNAP 威联通 TS-673A 六盘位 NAS存储 V1500B 8GB

暂无报价

华硕 ThunderboltEX 3 PCI-E转雷电3 主板扩展卡

华硕 ThunderboltEX 3 PCI-E转雷电3 主板扩展卡

699元起

Lexar 雷克沙 M1 NAS (RTD1195)

Lexar 雷克沙 M1 NAS (RTD1195)

369元起

HIKVISION 海康威视 Mage10 个人私有网盘 4TB版

HIKVISION 海康威视 Mage10 个人私有网盘 4TB版

1549元起

绿巨能(llano) 个人云盘NAS网络云存储 家庭私有网络云盘存储服务器 拾光坞 无盘版 N2黑色

绿巨能(llano) 个人云盘NAS网络云存储 家庭私有网络云盘存储服务器 拾光坞 无盘版 N2黑色

259元起

群晖(Synology)DS1821+ 搭配8块希捷(Seagate) 8TB酷狼IronWolf ST8000VN004硬盘 套装

群晖(Synology)DS1821+ 搭配8块希捷(Seagate) 8TB酷狼IronWolf ST8000VN004硬盘 套装

22363元起

QNAP威联通TS453Bmini 8G内存 四盘位磁盘阵列网络存储NAS办公私有云家庭网络存储服务器

QNAP威联通TS453Bmini 8G内存 四盘位磁盘阵列网络存储NAS办公私有云家庭网络存储服务器

2099元起
17评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

dulio

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
173
扫一下,分享更方便,购买更轻松