家庭基建不完全指南

建设需求

出于兴趣爱好,更出于是对自己劳动成果的数字化保留,易雾君经历过惨痛的数据丢失,很 2 地将 Excel 的主密码放到了 Excel 里边,由于主密码是随机的,也是临时产生,还未记住,当然磁盘加密的密码也存储在了 Excel 里,自己给自己锁住了,导致 2017 年和 2018 年积攒的数据全给弄没了,故期望建设一套完善的家庭网络系统来提升生活便利性,同时能保障生活中积攒的点滴长久保存。

建设发展历史

  • 2018年: 初来乍到深圳,手上有台台式机,和两个树莓派3B和3B+,没有牵宽带,本身可折腾空间极小。而且树莓派最大的硬伤是网口带宽太小。
  • 2019年: 建设力度集中的一年,开始拥有自己的家庭宽带并申请了公网IP,有闲置的一台笔记本电脑和朋友送我的一台 K2T 路由器,结识 Proxmox 虚拟化技术,很符合当下组网需求,整体框架进行了重构。
  • 2020年: K2T 升级为 K3 整体框架再次进行重构,本次考虑的因素,开机时长决定了哪些应用适合在哪些设备上,于是将 24 小时开机的树莓派 3B+ 用于部署基础应用,避免了机器关机期间无法提供服务。机器主要职能更明确化,爬虫性质的应用集中部署在一台定时开关机的生产机器上,试验环境及非必需的应用部署在不定时开机的机器上。

网络拓扑示意图

家庭网络拓扑.png

设备基本信息

目前加入网络的设备详情如下:

斐讯K3

  • 名称:vnet
  • CPU:BCM4709C Cortex A9 双核 1.4GHz
  • 内存:512M
  • 存储:128M + 外挂 3T 机械
  • 操作系统:OpenWRT 19.07.3
  • 主要角色:核心路由、OpenVPN服务、DNS服务
  • 开机策略:24小时开机,定时重启
  • 加入方式:本地网络

生产机器

  • 名称:prod
  • CPU:i7 3540M 3.00GHz
  • 内存:16G 双通道 1600 GHz
  • 存储:128G 固态 + 1T 机械
  • 操作系统:Debian 10
  • 角色:生产力机器
  • 开机策略:8:00开机、第二天凌晨0:30关机
  • 加入方式:本地网络

台式机

  • 名称:lab
  • CPU:i5 6500 3.20GHz
  • 内存:32G 双通道 2133GHz
  • 存储:256 固态 + 3T 企业硬盘
  • 操作系统:Debian 10
  • 角色:实验机器、日常使用
  • 开机策略:按需通过 etherwake 唤醒,主要考虑到节能问题
  • 加入方式:本地网络

Pi3

  • 名称:pi3
  • CPU:BCM2837 1.20GHz
  • 内存:1GB LPDDR2 SDRAM
  • 存储:1T 机械
  • 操作系统:Debian 10
  • 角色:核心内部文件存储服务
  • 开机策略:24 小时开机,定时 6:00 重启
  • 加入方式:本地网络

Pi3bp

  • 主机名:pi3bp
  • CPU:BCM2837B0 1.40GHz
  • 内存:1GB LPDDR2 SDRAM
  • 存储:300G 机械
  • 操作系统:Debian 10
  • 角色:对外发布服务
  • 开机策略:24 小时开机,定时 6:00 重启
  • 加入方式:本地网络

老弟的闲置笔记本

  • 主机名:lab1
  • CPU:i3 8130U 2.20GHz
  • 内存:8G
  • 存储:机械512G
  • 角色:实验机器、应用挂机等
  • 开机策略:24 小时开机,想起的时候,手动重启下
  • 加入方式:OpenVPN

老弟的主力机器

  • 名称:samson
  • CPU:i7 8750H 2.20GHz
  • 内存:16G
  • 存储:1T 机械
  • 角色:共用账户,远程视频剪辑、PS,老弟工作日常
  • 开机策略:由老弟定
  • 加入方式:OpenVPN

工作用机

  • 名称:think
  • CPU:i5 7200U
  • 内存:16G
  • 存储:256G 固态 + 512G 机械
  • 操作系统:Debian 10
  • 角色:工作主力机器
  • 开机策略:24 小时开机,偶尔带走会不在线,对在线没有硬性要求
  • 加入方式:OpenVPN

现有解决方案

基础组网
通过 OpenVPN 连接异地主机,为便于审计,整个内网主要采取路由转发方式,只在外网出口、和工作机接入处做源地址转换,OpenVPN 客户端所在子网则通过 OpenVPN 自带的 iroute 技术进行逆向路由数据包。Dnsmasq 用作内部核心 DNS 解析服务器。网络主要分家庭网和工作网,家庭网与工作网没有直接打通,而是需要先登录工作机上的跳板机方可进一步操作工作网资产,出于规避将家庭网中的风险引渡到工作网络的风险。

虚拟化技术
最开始采用纯 Docker ,发现内网有虚拟化 win 系统的需求,实属刚需,后来调研到 Proxmox 能很好地进行虚拟机管理,是个比较适合于中小企业及家庭的虚拟化管理平台。初次感受到它的魔力后,全线PC统统采用 Debian 系统,搭载 Proxmox ,简直好用到不要不要,目前一直很稳定。重在没出什么幺娥子,且备份快照非常实用。

存储应用服务
NFS: K3 等本身不可以安装 filebeat 日志采集程序,可通过 NFS 挂载到其他能运行 filebeat 的机器下实现对 K3 日志的采集;挂载 PVE 主机以便远程备份。

Samba:常规文件共享、家庭影音共享给TV

Kodbox:通过远程上传文件(尤其是大文件)、文件预览、电子书阅读等的体验很不错,用过都说好。还支持 onlyoffice 等应用,远程协作也挺不错。目前还支持 Webdav ,可用性大大延展。极力推荐大家试试。

Nextcloud:该应用其实和 Kodbox 一样,都是网盘性质,技术成熟度比较高,当然安全性也更高,且应用内子应用特别多,场景化适应能力强,阅读文章的你不妨部署两个应用,根据后期需求实现主力偏移,再做最后的决定,毕竟部署很简单,docker-compose 一键可以搞定的事。易雾君将它用于外网文件的分享,24小时运行于 PI3B+ 机器上。

密码管理
密码这个东西真的很重要,极度敏感,易雾君个人的建议是:使用专业开源的密码管理工具,最好是离线的,避免使用浏览器插件及浏览器自带的密码管理工具。易雾君在权衡安全性及便利性后,最终选择 Keeweb 结合 Nextcloud webdav 实现多机器共享的方式集中管理密码。

安全备份
备份的网盘有许多,国内产品,易雾君当然首选百度网盘,自动化上传则利用的 bypy 客户端,bypy 运行于 K3 路由器全天值守。由于普通用户上传文件大小有 4G 限制,需要 split 对文件分割,而且,百度网盘这种公共类网盘,考虑到信息泄漏问题,易雾君采取了 GPG 对待传文件做了加密后再分割处理,最后再上传,这些操作均在 K3 路由完成,如果你对 K3 核心路由的转发包性能要求高的话,建议将 GPG 加密过程转移到其他机器。

日志管理
日志管理方案采取 ELK 方案,redis服务运行于 24 小时开机的树梅派 3B ,redis 服务集中汇集各路日志,集中提供给 logstash ,当部署有 ELK 一开机就可有日志数据消费,这样的方式可以确保即日志不遗漏,那么装有 ELK 的机器能够随意歇气,节省电能,延长寿命。目前重点采集的日志包括如下几大类:Nginx、OpenVPN、Proxmox、Modsecurity。

对外发布
对外开放的 OpenVPN 网关服务,供异地主机接入内网,如果机器在海外,可能不好使,最好都是在国内网络环境。

部署 Web 站点主要有:主站(Solo)、论坛(Symphony)、即时聊天(RocketChat)、网盘(Nextcloud)。

入侵检测
家庭网络对外开放,直接威胁到咱们的彻身利益,有必要部署一个简易的入侵检测系统,这里选取 SELKS 作为核心检测系统,K3 核心路由通过 Iptables TEE 模块将流量镜像到 SELKS 虚机。

树梅派持久化
相信 PI 粉的你总会遇到文件系统崩溃的问题,用着用着意外断电啥等莫名的因素导致莫名的开不了机,易雾君也曾为之烦恼过,现采取的方案是将硬盘通过 USB 连接树梅派,分出两个区,一个系统盘分区和数据盘分区,操作系统采用 64 位 openfans-community-offical/Debian-Pi-Aarch64 ,它自身已经安装有 Docker ,需要额外装个 docker-compose ,将 docker 的存储卷配置到数据分区(如挂载的 /data 目录),最后将系统分区采用 Overlayfs 固化只读,最后咱们的主力操作均在 docker 下,任何改动都不影响系统分区,你说安逸不。

堡垒机
Jumpserver 毋庸置疑成为堡垒机首选,易雾君主要将它用作集中运维管理,它对你每步操作均有记录,回头忘记了操作命令,或者系统发生故障需要复盘,可以参考 Jumpserver 的历史会话,这些历史会话还能轻松用做视频教程,传播分享。

笔记方案

对于笔记记录,优秀的有网易笔记、印象笔记,但本着对个人数据的保密性原则,易雾君依旧采取开源措施u,选用 Joplin 配合 Nextcloud 的 webdav 功能实现远程同步,Joplin 支持加密数据、支持 web 网页截取(重要网页资产本地保存值得拥有,日后细品),同时还是款优秀的待做事项清单管理工具,方便规划你的任务计划。

爬虫

crawlab 是易雾君最近发现的一款优秀爬虫框架集合,集成主流爬虫框架,可考虑将它用作统一的爬虫管理平台,其强大的引擎需要后续深入挖掘,暂时先讲这么多。

公众号讯息采集

公众号信息关注这方面,易雾君很早就意识到它的重要性,我们日常有喜欢的公众号,关注着,但是大脑的记忆有限度,分析能力停留在几个小时,最多也就是几天的样子,文章更新太多后,最后只对最新资讯有印象,若是本地能存储下来,不仅对最新的资讯有分析空间还对历史资讯也有参考余地,更重要的是,可借助微信平台的关联能力,拓宽资讯的关注面。经过半年的沉淀,终于捣鼓出了一款爬虫系统。

靶场实验室

非常值得推荐的漏洞研究实验基地 Vulhub 。Vulhub 是一个基于 dockerdocker-compose 的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全从业者更加专注于漏洞原理本身。虽然易雾君是个低级网络玩家,但对安全还是有那么丝丝兴趣的。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容