求 2024 年能永久在华硕路由器上写 hosts 做屏蔽的方法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Kenshiro
V2EX    路由器

求 2024 年能永久在华硕路由器上写 hosts 做屏蔽的方法

  •  
  •   Kenshiro 2023-12-17 09:24:06 +08:00 4403 次点击
    这是一个创建于 669 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,挺纳闷的。华硕路由器作为折腾路由没有相应的 HOSTS 文件的 GUI 文件,用 SSH 修改重启就没了。Gooogle 一圈和 SMB 论坛试了一堆方法,主题不对或脚本不能在新系统使用等一堆破事。

    求懂的老哥出个主意
    div class="sep20">
    32 条回复    2023-12-29 21:04:51 +08:00
    r6cb
        1
    r6cb  
       2023-12-17 09:28:38 +08:00   1
    crontab 用 @reboot 来实现每次重启后用自己的文件覆盖系统的 hosts
    nomytwins
        2
    nomytwins  
       2023-12-17 09:38:07 +08:00
    整个软路由,直接软路由改掉不就行了
    Kenshiro
        3
    Kenshiro  
    OP
       2023-12-17 09:44:21 +08:00
    @r6cb 老哥方便给个现成的轮子吗?
    5966
        4
    5966  
       2023-12-17 10:50:02 +08:00 via iPhone
    小米的能够在 app 上添加内容啊。
    Puteulanus
        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 ,开机的时候用脚本拷过去覆盖系统的)
    xiaoz
        6
    xiaoz  
       2023-12-17 11:11:08 +08:00 via Android
    换个思路?搭建 AdguardHome ,然后 ADH 上设置 host ,再把路由器 DNS 指向 adh 不就解决了。
    18xlX5iTe9mdoau0
        7
    18xlX5iTemdoau0  
       2023-12-17 11:26:40 +08:00
    @xiaoz 我就是这样做的
    Mar5
        8
    Mar5  
       2023-12-17 11:52:56 +08:00 via iPhone
    @xiaoz 还能顺便 doh 。
    Kenshiro
        9
    Kenshiro  
    OP
       2023-12-17 12:13:40 +08:00
    @Puteulanus 这就去试试,谢大佬
    Kenshiro
        10
    Kenshiro  
    OP
       2023-12-17 12:15:04 +08:00
    @xiaoz 问题是墙对自建 DNS 不定期乱打,不然也想搭了
    gentrydeng
        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 脚本的话,记得赋予执行权限。
    Kenshiro
        12
    Kenshiro  
    OP
       2023-12-17 12:21:10 +08:00
    @gentrydeng postconf 这个试了不行
    Kenshiro
        13
    Kenshiro  
    OP
       2023-12-17 13:06:05 +08:00
    @Puteulanus 老哥不行啊,脚本没有执行
    rshun
        14
    rshun  
       2023-12-17 13:33:22 +08:00
    安装梅林后,在/jffs/configs/dnsmasq.d,新建 dnsmasq.conf ,内容如下

    address=/baidu.com/127.0.0.1

    重启一下 nsmasq
    service restart_dnsmasq

    不知道是不是你要的效果
    gentrydeng
        15
    gentrydeng  
       2023-12-17 13:45:49 +08:00 via Android
    @Kenshiro #12 这个只有在 Asuswrt-Merlin 才可用。
    如果你使用的是原厂固件,则没有这个功能。
    helldiablo
        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 年多了,重启不掉。
    xiaoz
        17
    xiaoz  
       2023-12-17 14:43:34 +08:00
    @Kenshiro #10
    1. ADH 搭建在内网的,根本不走 GFW
    2. 再说了 ADH 可以自定义 HOST ,这个优先级肯定是很高的啊。
    Puteulanus
        18
    Puteulanus  
       2023-12-17 18:33:02 +08:00
    @Kenshiro 其他的我就不知道了,只是查资料的时候正常查到过华硕的这个
    Kenshiro
        19
    Kenshiro  
    OP
       2023-12-17 20:51:35 +08:00
    @xiaoz 求一个搭建方法。
    @helldiablo 成功复制过去但 hosts 屏蔽的域名没生效。
    helldiablo
        20
    helldiablo  
       2023-12-18 00:37:05 +08:00 via Android
    @Kenshiro 路由固件是什么,官方原版的就放弃吧,不支持 jffs 下的配置的
    Kenshiro
        21
    Kenshiro  
    OP
       2023-12-18 12:54:24 +08:00
    @helldiablo 梅林的 386.12.4 路由器需要什么设定吗
    helldiablo
        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 文件
    Kenshiro
        23
    Kenshiro  
    OP
       2023-12-18 20:08:21 +08:00
    @helldiablo 是这样的老哥,ssh 看了系统 hosts 文件是加进了,但里面的被 127.0.0.1 域名还是能在设备访问,DNS 缓存也刷了。

    路由那启动了 DNS Director 和 静态 DHCP 的 DNS 指定,有没有可能是这些设定影响吗?老哥方便透露您那边设定的吗
    Kenshiro
        24
    Kenshiro  
    OP
       2023-12-18 20:09:07 +08:00
    @gentrydeng 我这个是梅林但 postconf 好像新版不能用了
    gentrydeng
        25
    gentrydeng  
       2023-12-18 20:13:19 +08:00
    @Kenshiro 不可能,不能用肯定是别的原因。比如没有赋予执行权限,“chmod +x example.postconf”或者放错位置。
    helldiablo
        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
    Brainos
        27
    Brainos  
       2023-12-21 15:30:23 +08:00
    @Kenshiro #23 就是这里的问题,你用这两个功能把客户端的指向了其他的 dns ,路由器里的 dnsmasq 就直接被绕过去了,只有客户端的 dns 使用的是 dnsmasq 的监听地址(路由器的 ip 地址),修改才能生效
    Kenshiro
        28
    Kenshiro  
    OP
       2023-12-21 20:13:01 +08:00
    @helldiablo 老哥按照你设定改了,HOSTS 是写入了但网关地址作 DNS 解析不了网站
    @Brainos DNS Director 这个是有可能但静态 DHCP 也会导致吗,方便展开说说?
    Kenshiro
        29
    Kenshiro  
    OP
       2023-12-21 20:13:20 +08:00
    @gentrydeng 周末研究研究
    Brainos
        30
    Brainos  
       2023-12-21 21:20:48 +08:00
    @Kenshiro #28 如果只用静态 dhcp 给设备固定 ip 地址就不会,但如果手动给设备设置了独立的 dns 服务器就会影响设备的 dns 解析。
    另外,你应该 ssh 进命令行界面,用 `nslookup 你设置 host 的域名 你的路由器地址` 来测试设置是否生效
    BitGeek
        31
    BitGeek  
       2023-12-29 21:03:51 +08:00   1
    https://github.com/jumpsmm7/Asuswrt-Merlin-AdGuardHome-Installer 我先咱用的就是这个,官方的 adguardhome 安装脚本
    BitGeek
        32
    BitGeek  
       2023-12-29 21:04:51 +08:00
    @BitGeek 但科学上网和它冲突,安装科学上网后 ad 就失效了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5468 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 06:41 PVG 14:41 LAX 23:41 JFK 02:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86