家里的网络通常不是一次设计完成的。它更像一座慢慢长出来的小城:先有一台路由器,后来多了 NAS、虚拟化主机、旁路网关、摄像头和各种只在深夜才会想起用途的服务。设备越多,靠脑子记住它们就越不现实。
先记录角色,再记录地址
我过去习惯先写 IP,后来发现更稳定的东西其实是角色。地址可能因为迁移而改变,但“家中主网关”“异地备份节点”“办公区虚拟化宿主机”这些职责不会轻易变化。一份好用的拓扑,应该先回答每台设备为什么存在,再回答它在哪里。
拓扑不是一张画得漂亮的图,而是一份在故障发生时仍然说得清楚的话。
给每条链路写下失败方式
除了连接关系,我还会给关键链路写一句失败说明:主线路中断后从哪里进入,证书放在哪台机器,某个域名由谁更新,重启哪项服务可能让远程连接消失。这些看起来像琐碎备注,却是凌晨排障时最值钱的上下文。
service: home-gateway
role: primary-egress
fallback: out-of-band-host
check: dns -> tls -> upstream让文档跟变化一起发生
最后一个原则是:变更和记录必须在同一次操作里完成。新增端口、替换证书、迁移域名后,顺手改掉拓扑里的对应项。文档不是项目结束后的补作业,它本来就是维护动作的一部分。
