2023年家庭网络大改造

易雾君
发布于 2023-05-21 / 423 阅读
1
0

2023年家庭网络大改造

前言

2023 年,这一年我离开了深圳,伴随着我的家庭网络也跨了省份,来到新的基地,最初呢,我保持了它最原始的网络结构,对接线都拍了照,原封不动的进行了还原,在新公司入职没多久,就不停的接触安全解决方案,接触的多了,逐渐的就想好好调整一下网络,考虑在合适的边界引入防火墙,再加上那段时间成功试验了 proxmox 给虚机划分 vlan 成功,鉴于现有网络结构有点脆弱,每个节点依赖虚拟路由系统的开机,才可连通其辖域里的网络,再加上一直,特别想把 proxmox 多个节点集中管理,但我的主力节点开机时间区间不一致,只有少数节点在线时,是无法启动虚拟机的,直到我遇到了一条命令后,果断下定决心进行网络改造,那命令后边给出。

简化网络拓扑

上一版的网络结构基本已是基于路由模式且结构清晰明朗,唯一的诟病就是具有多个路由节点,需要同步访问控制策略,甚是不便。这一次,力争最佳实践,最大程度简单、安全地改造网络。新的网络环境没有了公网 IP ,由于咱新公司的网络给咱限制了带宽,跟流量走 VPS 一趟速度相当,也就不折腾向运营商索要公网 IP 了,一根光纤入户,接入光猫,光猫的 lan 口入室联入我的家庭网络,边界上布置了一个 OpenWRT 软路由,紧接着就是开源防火墙 pfSense ,在 pfSense 上做了 Vlan 划分,Vlan 基于我软路由硬件的多个物理网口桥接上进行的划分,从而实现了 proxmox 物理节点们单一网线运载了多个逻辑隔离网络,这也是我简化网络的底牌。整体网络拓扑图如下:

Pasted image 20230420225412

proxmox 组建集群

之前一直计划将 proxmox 节用集群模式部署,实现在一个节点上对多个节点实行统一管理,主节点最佳的情况是保持 24 小时开机,且节能耐用,家里的工控主机,也是我的软路由,必须是它来充当这个角色,该工控机是上图的 pve-vnet 。pve-vnet 配置及性能相当有限,赛扬 3955U ,2 核 2 线程,8G 内存,128G 固态存储。

Screenshot 2023-05-21 at 16.36.03

其开启集群主节点,仅需在 Datacenter - Cluster 栏目下点击 Create Cluster ,然后填写自己的集群名称及选取本地网络链路即可创建完成,我这里找一台 VPS 做示例。

Screenshot 2023-05-21 at 17.25.23

加入集群从节点,在主节点 pve-vnet 上获取加入节点信息。

Screenshot 2023-05-21 at 18.06.15

将如上复制的信息粘贴到从待加入节点的输入框,并输入主节点的 root 密码,点击添加即可。

Screenshot 2023-05-21 at 18.09.48

添加完各节点后,可以登录它们中的任意一个节点对整个集群节点进行管理,我这里添加了三个,如下称 pve-prod 、pve-nas、pve-lab ,汇总后,当下有 4 个节点在运行中,有 4 个运行的虚拟机,25 个运行的容器,14 核 CPU,61.84G 内存,24.79T 存储。整体资源面板效果如下。

Screenshot 2023-05-21 at 18.16.08

另外,需要重点关注的一点,在加入节点后,上线比例满足相应的要求,可能会导致整体集群的虚机及容器无法开启,比如我这里的场景,我的工控机主节点每天凌晨有一次重启,而重启的时间点,其他从节点都在关机状态,那必然导致重启后没有可用虚拟机器,家里 wifi 陷入瘫痪,基础服务起不来,外网接入 VPN 用户认证瘫痪,这种情况下,我是采用强制指定在线节点数量来保证,即使仅有一台机器工控主节点,也能顺利运行,即在工控主节点 pve-vnet 上定期执行一下检查,判断节点在线情况,进行更新设置,计划任务如下。

* * * * *       pvecm status | grep -q blocked && pvecm expected $(pvecm status |grep "Total votes" | awk -F ":" '{print $2}')

Screenshot 2023-05-21 at 20.34.36

主节点 pve-vnet

虚机分配

如上配置算是寸土寸金,因此必须严格把控其上虚机的数量及其资源分配,家里的 pve-vnet 仅跑了 2 个容器及 2 个虚拟机,详细设定如下。

序号 主机名 操作系统 区域 用途
1 01-015-vnet OpenWRT 外网接入区 出口网关,掌管网络外联控制,如实现白名单联网
2 01-015-pfsense pfSense 外网接入区 防火墙,VPN,网络分区分域,入侵检测
3 01-015-proxy01 debian 边界外联区 代理服务,给需要内网需要连外网的机器提供代理服务
4 01-015-proxy02 debian 边界外联区 基础服务,如 openlap 统一账号认证系统

工控软路由网口分配

家里的工控软路由共有 7 个网口,除去一个 console 口,仅剩 6 个网口可被分配。这里将所有网口以桥接的模式供虚拟机使用,并未采用直通的办法,大体实现如下图所示。

Screenshot 2023-05-21 at 17.39.34

将家庭实体网络大体分核心区和办公区,是将办公区内办公主力机器、家庭 wifi 所占用的接口与核心区域的网络接口区分开,核心区下再做 vlan 进行划分网络,避免办公机器上随意修改 vlan id 即可接入到保密区进行访问,安全风险较高。

序号 桥接名称 桥接接口组 用途说明
1 vmbr0 enp1s0 供 wan 口接入,给到网关 OpenWRT 使用
2 vmbr1 enp2s0,enp3s0,enp4s0 这相邻三个接口供核心区域基于 VLAN 再度划分网络
3 vmbr2 enp5s0,enp6s0 最后两个接口用于连接家庭 wifi 设备和办公机器
4 vmbr3 - 虚拟网络,供网关和防火墙连接
5 vmbr4 - 虚拟网络,供边界外联区使用

接入网络

家庭网络网关的处于稳定性考虑,选取了虚拟机,而非容器,实际分配 1 核 CPU,512M 内存及 2G 的存储。

Screenshot 2023-05-21 at 18.46.09

操作系统搭载 OpenWRT ,由于新版 OpenWRT 已经出来了,但其防火墙管理工具改成 nftables ,iptables 的有些功能无法继续支持,所以还是继续选取了旧有版本 21.02.1 。

Screenshot 2023-05-21 at 18.28.54

网络涉及两个网口,一个 wan 口接光猫,一个 lan 口接 防火墙 pfSense 。

Screenshot 2023-05-21 at 18.52.35

分区分域

在以往的方案中,主要是通过 IP 段借助关键路由节点实施网络防护墙规则来隔离多个区域,多个关键路由节点通过同一服务点获取下发的规则来更新自身规则,并无入侵检测能力。现引入开原版的 pfSense 防火墙来集中对网络划分区域。首先,需对网络区域及网段做个规划设定。

序号 区域名称 网段 用途说明
1 互联网区 0.0.0.0/0 因特网,不受信任区域
2 外网接入区 192.168.32.0/24 部署网关和防火墙 VPN 枢纽
3 虚拟专线区 172.16.32.0/22 wireguard、openvpn 组网
4 外网异地区 10.16.0.0/16 外地网络
5 边界外联区 10.32.0.0/22 部署网络外联代理服务及基础服务等
6 网络管理区 10.32.4.0/22 部署网络管理平台、安全管理平台及运维堡垒机等
7 核心业务区 10.32.8.0/22 部署内网主体业务,如聊天室、网盘、家庭影音等
8 开发测试区 10.32.12.0/22 部署测试环境,如渗透系统kali、开源方案 POC 测试
9 靶场练习区 10.32.16.0/22 部署靶机环境,如 vulfocus、vulhuub 等
10 军事保密区 10.32.20.0/22 部署涉及个人敏感信息、高价值数据的存储网盘及应用系统
11 家庭办公区 192.168.33.0/24 办公机器及家庭 WIFI 所使用
12 非军事化区 10.8.0.0/16 对外提供服务的机器群组

区域默认访问控制矩阵,Y 表示有权限访问,N 表示无权限访问,C 表示按需设置访问权限。

- 互联网区 外网接入区 虚拟专线区 外网异地区 边界外联区 网络管理区 核心业务区 开发测试区 靶场练习区 军事保密区 家庭办公区 非军事化区
互联网区 - Y C C C N N N N N N Y
外网接入区 C - N N Y N N N N N N Y
虚拟专线区 C C - N Y C C N N N N Y
外网异地区 C C C - Y C C N N N N Y
边界外联区 Y C N N - N N N N N N Y
网络管理区 Y Y Y Y Y - Y Y Y N Y Y
核心业务区 C C N C Y C - N N N N Y
开发测试区 C C N C Y N Y - Y N Y Y
靶场练习区 C C N N Y N N N - N N Y
军事保密区 N N N N N N N N N - N Y
家庭办公区 C C C C Y C Y Y N N - Y
非军事化区 C C N N C N N N N N N -

防火墙的位置放置在各大区域的核心,外连网关,内连各内部区域,网络接口分配如下。

Screenshot 2023-05-21 at 21.36.54

在防火墙内部的划分情况如下:

Screenshot 2023-05-21 at 21.38.35

依据访问矩阵对应的防火墙规则,列举一个接口核心业务区的示例。

Screenshot 2023-05-21 at 21.43.14

防火墙规则的设定需要注意,越靠上优先级越高,整体是遵循黑名单原则,最后一条策略确保所有流量均可达网关,以便网关总控出口流量,对应接口上的规则应遵循从该接口出去方向,也就是说源地址必须是该接口涉及网段,不然策略不符合预期。

总结

本篇重点针对全新组网给出了关键思路及步骤,下期将分享集中式日志管理,让家庭内网的运营数据按需提取分析,如提取入侵检测数据分析攻击来源、类型等,为告警规则准备条件。


评论