开启SSH和JFFS分区
官方固件
SSH可以在系统设置里找到,建议选择LAN only一项。然后就可以使用putty等软件登录到路由器,用户名和密码与路由器登陆的用户名密码相同。
使用SSH登录到路由器,输入以下命令开启JFFS分区
1 | nvram set jffs2_on=1 |
最后使用reboot
重启生效
最后使用命令nvram show | grep "jffs"
来检验是否启用了JFFS分区,显示如下信息即为开启成功。
1 | size: 26089 bytes (35351 left) |
梅林固件
开启SSH方式与官方固件一样,在系统设置里选择启用SSH,建议选择LAN only选项。
已刷梅林固件的路由器可以在系统设置里找到Persistent JFFS2 partition一项,将Enable JFFS custom scripts and configs设为是即可开启JFFS分区。
自定义DNS解析
由于路由器运行过程中的配置文件是动态生成的,所以只修改/etc/hosts
会使配置在重启DNSmasq服务后失效,可以通过修改DNSmasq配置来自定义DNS解析。
在/jffs/configs/
文件夹下建立配置文件/jffs/configs/dnsmasq.conf.add
可以添加自定义的配置项,或是新建文件/jffs/configs/dnsmasq.conf
来替代原配置项。
在/jffs/configs/dnsmasq.conf.add
文件中加入以下内容,即可将test.com的ip解析到127.0.0.1 (ipv4) 或::1 (ipv6)。
1 | address=/test.com/127.0.0.1 |
或是在dnsmasq.conf.add
文件中加入下面一行来引入新的hosts文件
1 | addn-hosts=/jffs/configs/hosts |
最后,执行service restart_dnsmasq
重启DNSmasq服务或重启路由器使配置生效。
注:梅林固件下若使用ss插件会导致/jffs/configs/
下的配置被覆盖,
需要将所有配置填写到ss设置下的自定义DNSmasq一栏中
参考资料:
https://github.com/RMerl/asuswrt-merlin/wiki/Custom-domains-with-dnsmasq
https://github.com/RMerl/asuswrt-merlin/wiki/Custom-config-files