宿舍网络拓扑介绍(附部分教程)
前言
曾经折腾了个K2P的路由器,感觉性能还是差点意思,于是暑假就入手了台J4125小主机,准备好好折腾一下宿舍网络,装一些实用的功能来方便我学习生活。
现在差不多折腾好了,遂写一篇文章记录一下,我的近乎完美的宿舍网络设计。
设计理念
性价比+实用+好玩
三个点没有绝对的优先级,主打一个主观好玩且买得起
但是现实是实用的东西比较多
网络结构总结起来是“1+1+1”结构,即一个硬路由+群晖+小爱
拓扑图如下:
本文主要围绕这张图展开介绍
实现功能
这里我先简单介绍几个最实用的功能和实现的基本部件思路:
- 校园内网远程桌面(硬路由端口转发)
- 校园网多拨(OP的多拨功能)
- 多设备存储/备份(NAS+微力存储自动同步)
- 自建DNS+去广告(Docker+adguardHome)
- 全局爬墙(PassWall 2+旁路由)
- 公网访问内网网盘/图床/RSS阅读器 (CF打洞)
- 远程or语音操控开关空调/台灯/电脑(小爱音箱+终端设备)
- 墨水屏实时监控宿舍电量(驱动板自动连接WIFI爬取数据)
- 安全的内网穿透访问(zerotier+自建Moon)
- ……
还有很多就不一一列举了,接下来就详细介绍一下各个功能的一些细节,以及使用心得。
校园网内网远程桌面
这是我最常使用的功能,实现起来也非常简单。需要升级到企业版Windows,并且开放相应的端口到校园网上就行。
但是这样有几个小问题,首先就是校园网IP可能会经常变化,其次校园网账号只有三个设备,很容易被挤掉。
所以这时候可以在宿舍装一个路由器,这样可以稍微固定校园网IP,同时,使用端口转发可以方便的通过路由器IP访问远程桌面。另外使用openwrt固件的DDNS功能还可以动态绑定域名和IP,这样就不用记路由器IP了
校园网多拨
校园网多拨是个好东西,因为🐏带校园网IPV4下行只有40M带宽,对于我们看4k油管,下载游戏来说也太慢了。这时候可以使用多拨。
原理也很简单,虚拟几张网卡,然后拨号,就可以了。OP固件提供了多拨功能,直接配置使用就好。
使用之后效果如下:
拨一个账号有40M带宽,拨六个账号就有240M带宽了。不过现在我已经不用多拨了,因为多拨时,IPV6地址支持不好,访问不了IPV6的地址。其实使用IPV6就有比较好的速度
使用clash走IPV6代理就可以加速steam下载了
多设备存储/备份
因为我有台式机,笔记本,Ipad,Linux主机,但是主要工作区是在台式机上,所以在别的设备上想要访问台式机文件就比较麻烦(比如交作业,查文件等)。之前的解决方案是使用坚果云,很好用,但是内存太小了,就算是专业版也只有40G内存,现在我已经使用了17个G了,而且还没备份旅游照片等大储存的东西。
所以,依托于NAS,可以使用同步软件——微力同步来同步文件到NAS上:
然后在把NAS的共享文件挂载到Alist上,这样就可以外网访问文件了。
自建DNS+去广告
自建DNS其实对一般人来说没什么用,但是学校的DNS服务器老是抽风,经常打不开很多网站,而且还污染好多网站了,所以就考虑自己搭建一个。还能防止DNS泄露(也许?)
依托于adguardHome来搭建:
需要手动配置上游DNS服务器,这里用的是阿里和CF的DoH。列表如下:
1 | https://dns.alidns.com/dns-query |
然后策略使用的是“最快的IP地址”
BoostTrap服务器就根据自己的位置,选择离你最近的服务器就好,可以从这里面找全国DNS服务器IP地址大全 公共DNS大全 dns地址大全 dns大全 (dnsdaquan.com)
另外在DNS缓存设置,可以设置大一点的缓存,毕竟很多域名IP不会经常变动。
同时使用“乐观缓存”来增加命中率
配置完之后就可以使用了,配置旁路由的DNS转发到adguardHome
去广告功能就是adguardHome的主要功能了,可以使用官方提供的的规则,或者使用自己的规则,这里提供两个我个人用的规则列表:
https://anti-ad.net/adguard.txt
https://raw.githubusercontent.com/o0HalfLife0o/list/master/ad-pc.txt
全局爬墙
这个东西懂得都懂,这是旁路由的一个比较重要的功能了,首先需要一个机场,这里我就不提供了,大家自己找找,我以前用的机场是4块钱一个月,两台设备,速度还行。后面换了个IPV6的机场,速度也是杠杠的。
我用的插件是PassWall 2,当然也可以使用openclash或者酸酸乳
依托于旁路由的强大性能,可以将国内外流量进行规则分流,这样比较体验会比较舒服些。
全局翻墙看油管4K是绰绰有余的,很适合给宿舍所有人用。
公网访问内网网盘/图床/RSS阅读器
之前使用云服务器时搭建了许多好玩和实用的服务,但是随着云服务器到期,很多服务都必须得迁移了。所以很多服务迁移到了群晖的docker里。但是内网服务外网一般访问不了,所以这时候可以实用cloudflare的Tunnel来打洞到公网。访问速度还挺快。
CF的Tunnel需要的东西:
- 一个CF的账号
- 一个停靠在CF的域名
- 运行docker的环境
具体教程上网搜索就有很多了,这里就不讲了,列举一些我用的有意思的服务:
导航页
一个轻量化的书签导航页,实用
Alist网盘
一个把多个网盘整合起来的服务,支持多个网盘,也支持NAS挂载
蚁阅:RSS阅读器
一个非常简洁的web端RSS阅读器,支持自己搭建,官网也提供付费服务:
RSS阅读在如今信息爆炸的时代是很有用的,就是支持的网站有点少,建议搭配RSSHUB食用。
顺便推荐一些我用的RSS源:
1 | 1. [🆕 科技新闻投稿📮TestFlight - Telegram Channel](https://rsshub.rssforever.com/telegram/channel/TestFlightCN) |
链接:anyant/rssant: 蚁阅 - 让 RSS 更好用,轻松订阅你喜欢的博客和资讯 (github.com)
speedtest测速
一个测速的小服务,还是在内网使用比较方便,打洞到外网的话速度就限制在CF的Tunnels上了,没什么参考价值。但是内网测速结构还是很快的。能跑到433M(理论小主机网卡的最高速度)
(远程桌面占用部分上行带宽和CPU导致数据偏低)
Memos网页共享备忘录
如何实现备忘录多端同步,最简单的方法就是使用web服务,这款Memos就是非常的轻量级,UI界面风格也很舒服。
特别是支持API接口服务,可以用在很多自动化脚本,或者一些自己的程序中来存备忘录
文件快递柜
一个轻量级免登录的文件中转站,适合自己的一些中转文件需求。界面很有意思,创意很不错
图床
自建图床,速度取决于CF的Tunnel,但是用还是可以用的,可以给别人注册账号使用
链接:lsky-org/lsky-pro: ☁️兰空图床(Lsky Pro) - Your photo album on the cloud. (github.com)
远程or语音操控开关空调/台灯/电脑
智能家居作为我宿舍网络另一个重要的部分,对于幸福度的提升有很大的帮助;可以说,适度正确地使用智能家居,享受科技的力量。智能家居中最重要的部分就是一个中枢网关,这里我是用便宜的小爱音箱Play来作为中枢网关。和小爱音箱比起来,play主打一个便宜。在宿舍一般就喊小爱同学开个空调开个灯啥的,特别方便。
有了中枢网关,接下来就是一些智能家居了,在宿舍这个场景,其实没有很多实用的小玩意,很多部件都是表面实用,实际上非常地冗余且没必要,这里我推荐几个我用的比较多的部件:
米家温度收集器
米家墨水屏功能很简单,就是显示温度和湿度,而且还有个可爱的小表情(),可以实时监控宿舍的温度,让我们知冷暖,懂穿衣(bushi),而且还能搭配一些别的智能场景来使用(比如一定温度就开关空调啥的)
最大的缺点就是小贵,这块墨水屏太贵了。
开机卡
如果电脑能插网线的话,使用路由器的WOL唤醒其实就足够了,但是我的台式机不能插网线(位置不允许),所以就搞了块能接入米家的开机卡,这样直接用手机就能操控,再搭配上碰碰贴,可以实现手机碰一碰开机。关于碰碰贴使用可以见我以前的文章:基于NFC的Url Scheme奇妙用法 | LMark的博客
米家屏幕灯
很出圈的屏幕灯,性价比比较高,特别是蓝牙旋钮还很帅,有需求可以入一个。貌似支持接入米家?
米家云台摄像头
这个东西我一直想买一个放宿舍来着,但是就是太贵了,而且实用性不强。如果有实时监控宿舍,或者想看看舍友在干嘛,可以考虑放一个在宿舍,配合宿舍NAS来使用,简直美滋滋。
墨水屏实时监控宿舍电量
这就是一个好玩的东西了,纯原创(指卓衡giegie鼎力支持)
之前经常在12点的时候,空调断电,插座断电。一看才发现是宿舍电费用完了,然后到时间就给我们断电了。一开始的解决方法是跑一个脚本,每隔一会监测一下宿舍电量,如果低于阈值,就发邮件给每个舍友,提醒他们交电费。但是这种方法太不优雅了,然后突然看到米家温度计,有了灵感:为什么我不能做一个驱动板带一个墨水屏,并通过宿舍wifi爬取宿舍实时的电量呢?于是就找上了卓衡giegie来帮忙整了一个,最后成品效果很不错。
每隔十分钟刷新一次数据,通过wifi自动查询宿舍电量。
安全的内网穿透访问
宿舍内网开了这么多服务,那么多管理界面(主路由、旁路由、esxi等等)这些界面有外网访问的需求,但又不方便直接暴露在外网,所以需要一些安全的内网访问手段;并且设备很多,不同的设备又有不同的子网。这时候可以使用Zerotier来组一个内网穿透服务就很不错。
zerotier的速度是很有保证的,理论上打洞成功的话,就是p2p流量;即使不成功,也可以走官方节点或者Moon节点来传输流量。
我使用旁路由打开zerotier,并修改路由表,访问到内网众多服务了。
路由表
结尾
宿舍网络也折腾了快一年了,自从搬来西海岸之后,就入手了个K2P,第一次组网,刷了各种各样的固件来玩,全局爬墙,去广,kmp都试过,后面发现k2p内存太小,经常用几个月就满了,然后进入只读模式。后面又买了台式机,路由器更加重要了,但是性能日益不足。后来,在刘某某的篡夺下,我入手了台J4125小主机,8G内存。又折腾了不少东西,什么esxi、旁路由、zerotier、NAS等。通过这些折腾,学到了不少东西吧,回过头来看,宿舍网络给我带来了好多的帮助和便利,同时也帮助其他一些同学实现了宿舍组网+远程桌面的使用。
但是人的精力是有限的,折腾了这么多之后,发现差不多能折腾的都折腾完了,实用性的东西也都有了,自己的需求也都满足了。自然就不想进取了。遂写下这篇总结,来记录一下这么久以来折腾宿舍网络的一些小成果,并供其他想要在宿舍组网的人参考参考。
累了,