小蜗熊的蜂蜜罐
华硕路由器自定义hosts方法
发布于: 2020-01-07 更新于: 2020-03-21 分类于: 技术 > 网络硬件 阅读次数: 

开启SSH和JFFS分区

官方固件

SSH可以在系统设置里找到,建议选择LAN only一项。然后就可以使用putty等软件登录到路由器,用户名和密码与路由器登陆的用户名密码相同。

使用SSH登录到路由器,输入以下命令开启JFFS分区

1
2
3
4
5
nvram set jffs2_on=1
nvram set jffs2_enable=1
nvram set jffs2_format=1
nvram set jffs2_scripts=1
nvram commit

最后使用reboot重启生效

最后使用命令nvram show | grep "jffs"来检验是否启用了JFFS分区,显示如下信息即为开启成功。

1
2
3
4
size: 26089 bytes (35351 left)
jffs2_enable=1
jffs2_format=0
jffs2_scripts=1

梅林固件

开启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
2
address=/test.com/127.0.0.1
address=/test.com/::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

--- 本文结束 The End ---