你有没有想过,每次重启家里的路由器,Wi-Fi 名字和密码都没变?就连你之前设置的家长控制、访客网络也照样在。这背后其实靠的是配置文件的自动加载机制。
设备启动时,它在悄悄读文件
路由器通电后,系统启动的第一件事,不是马上发信号,而是去找一个“记事本”——也就是配置文件。这个文件通常存在闪存里,路径可能是 /etc/config/network 或 /config/wifi.conf 这样的位置。系统一运行,初始化脚本就会去读取它,把里面的内容转化成实际的网络设置。
比如你在管理页面改了 Wi-Fi 密码,保存后,系统不会只存在内存里,而是立刻写进这个配置文件。下次开机,哪怕断电十次,它也能原样恢复。
不同设备,套路差不多
不只是路由器,像智能网关、NAS 甚至某些支持自定义固件的摄像头,都有类似的机制。以 OpenWrt 为例,它的自动加载靠的是 /etc/init.d/ 目录下的启动脚本。系统启动时,这些脚本按顺序执行,其中一个可能就是:
#!/bin/sh
/etc/init.d/network start
/etc/init.d/dnsmasq start
/etc/init.d/uhttpd start
每一行都对应一个服务,而这些服务启动时,会主动去加载各自的配置文件。比如 dnsmasq 会读 /etc/dnsmasq.conf,决定 DHCP 怎么分配 IP。
为什么有时候设置“丢了”?
如果你遇到重启后设置还原,大概率是配置文件没写进去。有些便宜设备为了省写入次数,只在你点“保存并应用”时才写盘。如果只是点了“保存”,或者直接断电,改动就只在内存里,一断就没了。
还有一种情况是固件升级。新版本可能不兼容旧配置结构,系统会自动跳过加载,用默认值启动。这时候你会觉得“怎么又回到出厂设置了”,其实是保护机制在起作用。
手动改配置,风险不小
有些人喜欢直接编辑配置文件,比如用 SSH 登进路由器改 wifi.conf。这没问题,但一定要确保语法正确。像漏了个引号或括号,可能导致整个 Wi-Fi 服务起不来,你就得拿网线连上去修。
正确的做法是改完先测试:
wifi reload看能不能正常启用,没问题再保存到文件。
说到底,配置文件自动加载,就是让设备“记得住”你的选择。它不炫酷,但每天都在默默工作,让你不用每次重启都重新设置一遍 Wi-Fi。