拔掉路由器电源,等待重启,再忍受几十秒断网空白——大多数人的断网方案,笨重得像是上个世纪的产物。我最近给家里网络装了个更利落的开关:一个物理按钮,按下去,所有设备瞬间断开互联网连接;再按一次,立刻恢复,连重启的时间都省了。
这个按钮的核心是一台树莓派,跑着开源软件 Pi-hole。Pi-hole 最常见的用途是充当 DNS 过滤器,按需屏蔽广告、跟踪器或恶意网站。但它的规则表其实可以配置得更极端——直接屏蔽一切。我写了个脚本,让按钮触发一条“拦截全部 DNS 请求”的规则。因为我家里所有设备的 DNS 查询都经由这台 Pi-hole 处理,规则一改,所有联网设备就再也没法解析任何域名,等同于从互联网上彻底消失。
关断效果是实时生效的。不像物理断电需要等路由器启动、重新拨号,这套方案只做软件层面的 DNS 规则切换——从按下按钮到规则生效,几乎是同步完成。那种“想下线就立刻下线”的掌控感,是拔插头永远给不了的。
当然,DNS 阻断并不是完美围墙。但凡绕过 Pi-hole 的设备就能逃过控制:有些硬件或 App 会内置自己的 DNS 地址,或者直接用 IP 访问,这类流量 Pi-hole 根本看不到。要堵上这个口子,还得在路由器的防火墙上做一条规则,把所有 DNS 流量强制引向 Pi-hole。另外,这个按钮只管 Wi-Fi 和有线网络,手机打开蜂窝数据照样能刷,等于有一个不受控的侧门。
按下按钮就等于全局断网,这也会带来一些现实麻烦。如果开会当中不小心按了,视频通话直接掉线。好在 Pi-hole 支持给特定设备添加例外规则,比如把工作电脑的 MAC 地址放进白名单,就不会被断网波及。更大的风险是,这台树莓派一旦死机或卡死,全家的域名解析就跟着瘫痪,所有设备集体断线。所以我在路由器设置里还留了一个备用 DNS 地址,同时在手机里存了一份恢复步骤,应急时能快速把树莓派从网络里摘掉。
做这个项目不需要多贵的硬件。一块带 GPIO 引脚的树莓派就行,我用的是一块 Raspberry Pi Zero 2 W,四核 64 位 ARM 处理器,512MB 内存,体积小到可以塞进任何角落,性能完全够用。除此之外只需要一个自复位的按键开关、几根杜邦线、一个外壳,如果想加个指示灯,再备一颗 LED、一颗限流电阻和一点线材就够了。如果手头有闲置的树莓派 3 代或 4 代也能直接上,别为了这个去买一块 Pi 5,性能严重溢出,纯粹浪费。
热门跟贴