|  |      2nomytwins      2023-12-17 09:38:07 +08:00 整个软路由,直接软路由改掉不就行了 | 
|      45966      2023-12-17 10:50:02 +08:00 via iPhone 小米的能够在 app 上添加内容啊。 | 
|  |      5Puteulanus      2023-12-17 11:05:24 +08:00  1 之前搜到过这个,现在能用的好像是 script_usbmount 钩子 https://www.tiansam.net/?p=1334 https://blog.bbskali.cn/3929.html 参考这俩,需要路由器上插一个 U 盘,用钩子设定开机启动脚本,然后你脚本里再去修改 hosts (可以直接在 jffs 存一份你的 hosts ,开机的时候用脚本拷过去覆盖系统的) | 
|  |      6xiaoz      2023-12-17 11:11:08 +08:00 via Android 换个思路?搭建 AdguardHome ,然后 ADH 上设置 host ,再把路由器 DNS 指向 adh 不就解决了。 | 
|      718xlX5iTe9mdoau0      2023-12-17 11:26:40 +08:00 @xiaoz 我就是这样做的 | 
|  |      9Kenshiro OP @Puteulanus 这就去试试,谢大佬 | 
|  |      11gentrydeng      2023-12-17 12:20:00 +08:00 via Android 如果能装 Asuswrt-Merlin 固件的话,就比较方便了。它支持编写自定义配置文件: https://github.com/RMerl/asuswrt-merlin.ng/wiki/Custom-config-files 如果是 postconf 脚本的话,记得赋予执行权限。 | 
|  |      12Kenshiro OP @gentrydeng postconf 这个试了不行😥 | 
|  |      13Kenshiro OP @Puteulanus 老哥不行啊,脚本没有执行 | 
|  |      14rshun      2023-12-17 13:33:22 +08:00 安装梅林后,在/jffs/configs/dnsmasq.d,新建 dnsmasq.conf ,内容如下 address=/baidu.com/127.0.0.1 重启一下 dnsmasq service restart_dnsmasq 不知道是不是你要的效果 | 
|  |      15gentrydeng      2023-12-17 13:45:49 +08:00 via Android @Kenshiro #12 这个只有在 Asuswrt-Merlin 才可用。 如果你使用的是原厂固件,则没有这个功能。 | 
|      16helldiablo      2023-12-17 13:54:25 +08:00 1.原厂固件做不到,需要梅林固件或者官改,主要是 jffs 的问题; 2.改刷梅林固件或者官改,开启 JFFS 和 SSH 登录; 3.SSH 或 WINSCP 登录路由器后 在/jffs/configs 下建一名为 dnsmasq.conf.add 的文件 在里面写 addn-hosts=/jffs/configs/hosts 在/jffs/configs 下建自己的 hosts 的文件 执行 service restart_dnsmasq 重启 dnsmasq 服务(或者重启路由器) 4.hosts 文件直接使用 win 下的就行,需要维护时就替换一下,重启下 dnsmasq 服务即可,全程可避免重启。这种方法我已经用了 3 年多了,重启不掉。 | 
|  |      17xiaoz      2023-12-17 14:43:34 +08:00 | 
|  |      18Puteulanus      2023-12-17 18:33:02 +08:00 @Kenshiro 其他的我就不知道了,只是查资料的时候正常查到过华硕的这个 😂 | 
|  |      19Kenshiro OP | 
|      20helldiablo      2023-12-18 00:37:05 +08:00 via Android @Kenshiro 路由固件是什么,官方原版的就放弃吧,不支持 jffs 下的配置的 | 
|  |      21Kenshiro OP @helldiablo 梅林的 386.12.4 路由器需要什么设定吗 | 
|      22helldiablo      2023-12-18 16:13:36 +08:00 @Kenshiro 梅林的在后台开 jffs ,按照上述步骤走就可以了。其实就是给 DNSMASQ 加了一个配置文件,或者你可以将类似于 address=/test.com/127.0.0.1 的形式添加到/jffs/configs/dnsmasq.conf.add 中替代 hosts 文件 | 
|  |      23Kenshiro OP @helldiablo 是这样的老哥,ssh 看了系统 hosts 文件是加进了,但里面的被 127.0.0.1 域名还是能在设备访问,DNS 缓存也刷了。 路由那启动了 DNS Director 和 静态 DHCP 的 DNS 指定,有没有可能是这些设定影响吗?老哥方便透露您那边设定的吗 | 
|  |      24Kenshiro OP @gentrydeng 我这个是梅林但 postconf 好像新版不能用了 | 
|  |      25gentrydeng      2023-12-18 20:13:19 +08:00 @Kenshiro 不可能,不能用肯定是别的原因。比如没有赋予执行权限,“chmod +x example.postconf”或者放错位置。 | 
|      26helldiablo      2023-12-18 23:58:01 +08:00 @Kenshiro  1.系统管理-系统设置下,Enable JFFS custom scripts and configs-->是 2.DHCP 下,DNS 未作指定,Advertise router's IP in addition to user-specified DNS-->是 3.DNS Director 未设置 4./jffs/configs 下两个文件,dnsmasq.conf.add 和 hosts 。dnsmasq.conf.add 内容为 addn-hosts=/jffs/configs/hosts 。hosts 文件编码为 UTF-8 5.初次修改或维护 hosts 后,重启路由器或者 SSH 过去 service restart_dnsmasq ,重启 dnsmasa 服务 6.客户端 DNS 设置为路由器 IP | 
|      27Brainos      2023-12-21 15:30:23 +08:00 @Kenshiro #23 就是这里的问题,你用这两个功能把客户端的指向了其他的 dns ,路由器里的 dnsmasq 就直接被绕过去了,只有客户端的 dns 使用的是 dnsmasq 的监听地址(路由器的 ip 地址),修改才能生效 | 
|  |      28Kenshiro OP | 
|  |      29Kenshiro OP @gentrydeng 周末研究研究 | 
|      30Brainos      2023-12-21 21:20:48 +08:00 @Kenshiro #28 如果只用静态 dhcp 给设备固定 ip 地址就不会,但如果手动给设备设置了独立的 dns 服务器就会影响设备的 dns 解析。 另外,你应该 ssh 进命令行界面,用 `nslookup 你设置 host 的域名 你的路由器地址` 来测试设置是否生效 | 
|  |      31BitGeek      2023-12-29 21:03:51 +08:00  1 https://github.com/jumpsmm7/Asuswrt-Merlin-AdGuardHome-Installer 我先咱用的就是这个,官方的 adguardhome 安装脚本 |