上次对于树莓派搭建的家庭网络可能说了个大概,其实根据每个家庭的需求不同,网络的拓扑其实也会有些调整。下面从应用的切面角度分享下目前家庭的网络拓扑情况,这个是个大概的图:

Network

旁路由

家里的路由器性能其实不差,但考虑其实很多的工作(网关、代理、端口转发、等等)如果在路由器上处理,往往路由器的性能会打个折扣,同时也会影响稳定性。

同时,其实路由器上配置多了以后,对于以后更换路由器重新配置也是件比较麻烦的事情。所以,我使用了树莓派分担了部分路由器的任务,主要是些网络寻址以及服务发现等相关的服务,例如 DNS、DHCP 以及防火墙等。

DNS 这块主要使用 DNSMasq,做了很多使用这个应用应该做的事情,例如「境外网络加速」、对接 Consul 作为内部的无痛服务发现、网络内容过滤(去广告)等功能,同时为了加块解析速度本地加大了缓存。

后面考虑由于 斐讯 N1 综合性价比比树莓派高出很多,因此会考虑这部份的服务将往 N1 的硬件上迁移。同时,树莓派打算用来做 4G 的网关,搭配 UPS 这样子家庭网络就不会断网了。

监控

监控使用了 Prometheus 以及 Grafana 同时独立管理,具体的可以参看这里

应用层

应用层主要使用了虚拟机,系统方面主要是 CentOS 以及 Manjaro 以及 Debian 还有几台 FreeBSD。主要应用场景分别是用来做 CI、以及数据抓取(爬虫)以及其他些比较费时的操作。

虚拟机的寻址主要使用 Consul 搭配 DNSMasq 完成,写个 go 小程序用来注册以及健康检查。其中台虚拟机还对接了统一的通知服务,例如收发邮件以及短信。

数据层

数据层相对比较简单,使用了两台物理机:分别是台联想的 i7 四代小主机、16g 的内存(性能不差因此拿来开虚拟机用);以及还有台相对比较弱的奔腾机接了 Raid1 阵列柜,专门用来做数据存储和同步。后面会考虑使用黑群晖,将这部份硬件的可靠性强化下。

物理机

以上