搭建属于自己的服务器(二) - 网络结构

前言

本文主要讨论网络结构

当然,说是HomeLab的网络结构,其实也算是整个家庭的网络结构

现状

由于新房还没交房,为了之后装修完能够快速部署好已经调试完成的网络,所以现在其实已经在按照最终的想法来搭建和使用了,除了一些更大的交换机还没买之外(现在实验阶段设备少),其他的都跟最终目标差不多了

所以先来个图

pic1

物理架构

互联网接入从弱电井来的光纤开始,连接到光猫做光电转换,然后连接到主路由进行拨号;另外主路由还有一个WAN口连接到了一台4G CPE作为备份网络接入,当光猫断网时,主路由会自动切换到4G网络

主路由的LAN口出来,连接到10G核心交换机,核心交换机上直连着家庭网络中对网速要求最高的设备,包括NAS、PVE主机、PC,以及两台下游交换机:2.5G16口交换机和2.5G8口POE交换机

POE交换机上连接家里的AP,监控摄像头这些支持POE供电的设备

16口交换机上连接家里所有其他有线设备,包括通往其他房间的网口,电视、机顶盒等

关键服务

其实软件服务相关应该放到下篇文章再详细介绍的,不过考虑下其中有一些是网络专用的,所以下篇就只介绍跟网络无关的业务服务了

DNS

DNS服务是我费了不少心思整理出来了,可以实现局域网内任意设备可以通过域名来访问核心服务,以及对于互联网域名的解析不受ISP的污染,而且还能自动屏蔽广告网站的DNS解析

我在PVE主机上部署了一个AdGuardHome的LXC容器,作为局域网内的主DNS服务器,该容器的IP会由主路由的DHCP服务来分发给所有设备

AdGuardHome会自动屏蔽广告网站的DNS解析,内网服务的域名解析也是在AdGuardHome中配置的

pic2

AdGuardHome的上游DNS服务器只有一个,是同样部署在PVE主机上的mosdns。

mosdns的核心优势是支持分流,国内的网站会走国内的DNS服务器解析,国外的网站会走国外的DNS服务器解析

两条分流路线的上游公共DNS服务器都通过DoH的方式来获取,国内的上游DNS服务器是阿里云的DoH服务器,国外的上游DNS服务器是Cloudflare的DoH服务器

流程图如下:

pic3

流量入口

指访问互联网时,网络流量的走向,比较复杂,建议直接看图

pic4

核心交换机后面的设备省略了,都是常规方式

路由器设置

网段规划

由于家庭网络的设备数量可能会较多(主要是IoT设备),而且Docker方面我是打算用macvlan的方式,让每个容器都拥有独立的IP地址的(这样可以省掉规划端口映射的麻烦),我将家庭网络的IP地址规划为

1
2
3
4
5
CIDR:192.168.32.0/20
可用IP:4094
网络:192.168.32.0
掩码:255.255.240.0
可用范围:192.168.32.1~192.168.47.254

主机位足足有12位,足够分配给每个设备一个独立的IP地址了

  1. 32网段分配给Homelab范围内的物理设备,包括路由器,网管交换机,AP,摄像头等
  2. 33~34网段留给DHCP服务分配
  3. 35网段分配给PVE主机上的虚拟机和容器
  4. 36~37网段分配给Docker容器
  5. 38网段为给个人设备静态分配IP地址,比如PC,手机,平板等
  6. 39~40网段分配给IoT设备
  7. 41~47网段预留,留给未来扩展

DHCP

DHCP服务由爱快主路由提供,下发的配置中,默认的DNS服务器是上面提到的AdGuardHome容器的IP地址

目前主路由的DHCP服务只分配33~34网段的IP地址,其他网段的IP地址都是静态分配的

另外还正在考虑新增一个DHCP服务器,专门分配给IoT设备的IP地址,方便管理

关于IPTV

IPTV目前比较简单,直接通过光猫的IPTV口接入到机顶盒上

之后探索的方向:爱快路由器貌似支持IPTV了,接入主局域网后是否可以抓取IPTV的流量,用PC或者手机来收看直播节目呢