2
nomytwins 2023-12-17 09:38:07 +08:00
整个软路由,直接软路由改掉不就行了
|
4
5966 2023-12-17 10:50:02 +08:00 via iPhone
小米的能够在 app 上添加内容啊。
|
5
Puteulanus 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 ,开机的时候用脚本拷过去覆盖系统的) |
6
xiaoz 2023-12-17 11:11:08 +08:00 via Android
换个思路?搭建 AdguardHome ,然后 ADH 上设置 host ,再把路由器 DNS 指向 adh 不就解决了。
|
7
18xlX5iTe9mdoau0 2023-12-17 11:26:40 +08:00
@xiaoz 我就是这样做的
|
9
Kenshiro OP @Puteulanus 这就去试试,谢大佬
|
11
gentrydeng 2023-12-17 12:20:00 +08:00 via Android
如果能装 Asuswrt-Merlin 固件的话,就比较方便了。它支持编写自定义配置文件: https://github.com/RMerl/asuswrt-merlin.ng/wiki/Custom-config-files
如果是 postconf 脚本的话,记得赋予执行权限。 |
12
Kenshiro OP @gentrydeng postconf 这个试了不行😥
|
13
Kenshiro OP @Puteulanus 老哥不行啊,脚本没有执行
|
14
rshun 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 不知道是不是你要的效果 |
15
gentrydeng 2023-12-17 13:45:49 +08:00 via Android
@Kenshiro #12 这个只有在 Asuswrt-Merlin 才可用。
如果你使用的是原厂固件,则没有这个功能。 |
16
helldiablo 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 年多了,重启不掉。 |
17
xiaoz 2023-12-17 14:43:34 +08:00
|
18
Puteulanus 2023-12-17 18:33:02 +08:00
@Kenshiro 其他的我就不知道了,只是查资料的时候正常查到过华硕的这个 😂
|
19
Kenshiro OP |
20
helldiablo 2023-12-18 00:37:05 +08:00 via Android
@Kenshiro 路由固件是什么,官方原版的就放弃吧,不支持 jffs 下的配置的
|
21
Kenshiro OP @helldiablo 梅林的 386.12.4 路由器需要什么设定吗
|
22
helldiablo 2023-12-18 16:13:36 +08:00
@Kenshiro 梅林的在后台开 jffs ,按照上述步骤走就可以了。其实就是给 DNSMASQ 加了一个配置文件,或者你可以将类似于 address=/test.com/127.0.0.1 的形式添加到/jffs/configs/dnsmasq.conf.add 中替代 hosts 文件
|
23
Kenshiro OP @helldiablo 是这样的老哥,ssh 看了系统 hosts 文件是加进了,但里面的被 127.0.0.1 域名还是能在设备访问,DNS 缓存也刷了。
路由那启动了 DNS Director 和 静态 DHCP 的 DNS 指定,有没有可能是这些设定影响吗?老哥方便透露您那边设定的吗 |
24
Kenshiro OP @gentrydeng 我这个是梅林但 postconf 好像新版不能用了
|
25
gentrydeng 2023-12-18 20:13:19 +08:00
@Kenshiro 不可能,不能用肯定是别的原因。比如没有赋予执行权限,“chmod +x example.postconf”或者放错位置。
|
26
helldiablo 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 |
27
Brainos 2023-12-21 15:30:23 +08:00
@Kenshiro #23 就是这里的问题,你用这两个功能把客户端的指向了其他的 dns ,路由器里的 dnsmasq 就直接被绕过去了,只有客户端的 dns 使用的是 dnsmasq 的监听地址(路由器的 ip 地址),修改才能生效
|
28
Kenshiro OP |
29
Kenshiro OP @gentrydeng 周末研究研究
|
30
Brainos 2023-12-21 21:20:48 +08:00
@Kenshiro #28 如果只用静态 dhcp 给设备固定 ip 地址就不会,但如果手动给设备设置了独立的 dns 服务器就会影响设备的 dns 解析。
另外,你应该 ssh 进命令行界面,用 `nslookup 你设置 host 的域名 你的路由器地址` 来测试设置是否生效 |
31
BitGeek 364 天前 1
https://github.com/jumpsmm7/Asuswrt-Merlin-AdGuardHome-Installer 我先咱用的就是这个,官方的 adguardhome 安装脚本
|