V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
v7eeaU2MLyWNvp
V2EX  ›  OpenWrt

请教 V 友,目前最新 openwrt 或者魔改 openwrt 整个局域网代理的稳定解决方案有啥?

  •  
  •   v7eeaU2MLyWNvp · 206 天前 · 3057 次点击
    这是一个创建于 206 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的需求:

    1. 整个局域网都进行代理,
    2. adguard home DNS 缓存加速
    3. 国内路线走国内 DNS ,国外路线走国外 DNS

    我现在的情况:

    • 目前实现了 1 2 。3 实现没实现不知道。
    • 我是 openclash + adg 。老实说我不是程序员也不太懂,所以各种设置有点混乱。网络现在倒是能跑的通,也能从 adg 看到过滤广告。就算是 1 和 2 实现了。

    怎么实现?

    这两年有没有啥新解决方案?

    • 我最新一版固件是 22 年的了。似乎这两年又有了新产品。稳定运行 2 年了。最近换了节点然后我更新完 openclash 就有问题了。换了 meta 内核,一个是延迟巨高,一个是总有好几个小时的连接自己也不掉,看控制台都能看到接近 1000 个连接。不知道除了 openclash 还有没有别的工具,主要 openclash 真的云里雾里。

    大家都是啥方案?

    • 我知道的方案有那种,openclash + adg + smartDNS 。openclash 进行分流,adg 不但能过滤广告还能记录处理时间啥的,smartDNS 分两组一组处理国内一组国外。
    • 网上的教程,就单单 openclash + adg ,adg 里面的设置方法,我搜到的每个人说的都不一样,有的做 dnsmasq 的上游,有的把 53 重定向到 adg ,我都绕晕了。。。还有 openclash 也是邪门,到底劫持还是不劫持 dns ?有的教程写劫持有的不劫持。怎么准确的知道和设置把 dns 分组?第二 dns 服务器又是什么?追加 dns ,追加上游 dns ,追加默认 dns ,fallback-filter 。就单一个点就四五个设置。。。哎呦喂,这也就是行业内的人才能看得懂了

    所以想问问,你是怎么搞的?当时啃 openclash 就难啃,这个五一别是要再啃几天,网上的资料浩如烟海但真就乱七八糟的让人头大啊。。。谢谢 v 友了。。。

    25 条回复    2024-05-01 00:39:53 +08:00
    xbin
        1
    xbin  
       206 天前
    隔壁恩山论坛, 搜索"adguard home" ,有一大堆方案,挑合适自己的
    我是旁路由 passwall2 + Adguard Home + mosdns
    yyzh
        2
    yyzh  
       206 天前 via Android
    同完全看不懂 clash 的配置.所以现在在用 passwall2.封广告啊 dns 分流啊全都是它干.路由器买的 mt6000 自带 openwrt 界面.保证了绝对的稳定
    leloext
        3
    leloext  
       206 天前
    openclash+mosdns ,openclash 全部指定 mosdns 为上游,mosdns 做好分流。
    Puteulanus
        4
    Puteulanus  
       206 天前
    passwall + smartdns 就行,passwall 现在内建 ChinaDNS-NG ,第三点就是它做的

    ChinaDNS-NG 的逻辑是通过两个名单来选择查询逻辑,国内白名单只走国内 DNS 查,国外被墙名单只走可信 DNS 查,其他的两个 DNS 都走,如果国内 DNS 返回了国内 IP 就用国内的,否则用可信 DNS 的

    所以 ChinaDNS-NG 需要两个上游 DNS ,一个国内 DNS ,一个可信 DNS 。这个也就是 smartdns 里第二 DNS 服务器的作用,它一个插件可以跑两个 DNS 起来,通过分组设置一个向国内查询,一个向国外查询

    这样说应该好理解吧
    v7eeaU2MLyWNvp
        5
    v7eeaU2MLyWNvp  
    OP
       206 天前
    @xbin #1 那我多抄几本作业
    @yyzh #2 这个插件有新功能了?那我要瞅瞅,这个路由自带 op 也不错。谢谢提供
    @leloext #3 mosdns 也是才看到,谢谢了,我搜搜看
    explorerproxy
        6
    explorerproxy  
       206 天前
    openclash 的配置项真的是太繁杂了
    我是基本默认配置+订阅转换能稳定跑起来就没管了
    v7eeaU2MLyWNvp
        7
    v7eeaU2MLyWNvp  
    OP
       206 天前
    @Puteulanus #4 说的很好,我再看看 pw ,谢谢
    v7eeaU2MLyWNvp
        8
    v7eeaU2MLyWNvp  
    OP
       206 天前
    @explorerproxy #6 虽然很繁杂,但有些功能确实有用。典型程序员打补丁做法,屎山不想动,然后新建一个 tab ,这个里面第 1 个按钮补充屎山第 2 个 tab 第 3 个按钮的功能,第 2 个按钮补充第 4 个 tab 第 5 个按钮的功能。。。哎。。。节哀。。。
    465456
        9
    465456  
       206 天前
    要整个局域网代理,代价比较大,例如机场节点翻车,网络就废了一大半
    v7eeaU2MLyWNvp
        10
    v7eeaU2MLyWNvp  
    OP
       206 天前
    @465456 #9 肯定要有规则的么
    leloext
        11
    leloext  
       206 天前   ❤️ 1
    @v7eeaU2MLyWNvp openclash 的界面的确一言难尽,我都是直接写 config 的,一次写完之后基本上不用再动了(我是自建而不是订阅)
    zhaidoudou123
        12
    zhaidoudou123  
       206 天前
    我之前用 openwrt 的时候也用不明白 openclash ,换了 passwall 挺好的
    LaoDahVong
        13
    LaoDahVong  
       206 天前
    惭愧的说 passwall, clash 什么的我一直都很疑惑, 咋没啥文档, 从来没弄明白怎么玩过. 感觉也好臃肿. 同样的吐槽给到 v2rayNG...
    我都是直接一个 init script 挂上 xray 配合 iptable 做透明代理...
    wcnmm
        14
    wcnmm  
       206 天前
    @leloext 写 config+1 写完了三端通用感觉还行。
    wcnmm
        15
    wcnmm  
       206 天前   ❤️ 1
    折腾过一次 简单回答一下吧 (提到的问题较多,我选个感兴趣的回答)
    面板里的 1000+连接源于 keep-alive-interval ,像 fcm 和 ios 推送需要保持长连接,如果一直探测设备是否在线会比较耗电,所以这个时间设置的比较长,连接是否中断会更新的不及时。
    https://github.com/MetaCubeX/mihomo/issues/715

    adg+clash 分为两种(这里默认 clash 用的 fake-ip ,一般只对 geosite-cn 进行 dns 查询。如果用 redir-host 可选择套个 dns 插件进行缓存加速+防泄露,配置的当也是不需要套的)
    设备→adg→clash (这种情况需要 adg 进行 dnsmaq 劫持/转发,做上游客户端排行只能显示 127.0.0.1 ,防火墙转发能显示设备列表。clash 不劫持 dns )
    设备→clash→adg ( clash 劫持 dnsmaq ,adg 劫持选择无,客户端排行只能显示 127.0.0.1 )

    关于 openclash 里面的 “追加上游 DNS” 和 “追加默认 DNS” 勾选的方框底下都是有写功能的,你可能没看过 clash 官方文档,不了解 nameserver 和 default-nameserver 这些关键字,如果你想用好,我还是推荐你看一下 clash.meta 的官方文档。

    如果还有不了解的欢迎讨论,说错的地方也麻烦指正
    v7eeaU2MLyWNvp
        16
    v7eeaU2MLyWNvp  
    OP
       206 天前
    @wcnmm #15 哎呦喂,非常感谢您的指点,写了这么多,辛苦了哈。我在逼着我自己看他们那个文档,希望能看懂😂。您说的这些我先记下了,后面我试试,谢谢啊。
    y1y1
        17
    y1y1  
       206 天前 via iPhone
    https://blog.skk.moe/post/i-have-my-unique-dns-setup/
    参照这个做分流,然后把 clash 的 dns 设置为 smartdns 就行了
    JensenQian
        18
    JensenQian  
       206 天前 via Android
    屏蔽广告建议用浏览器插件+手机上李跳跳这种的
    代理别折腾 clash,直接 passwall,整个好点的 vps 就完事了
    v7eeaU2MLyWNvp
        19
    v7eeaU2MLyWNvp  
    OP
       206 天前
    @y1y1 #17 给跪了,硬核命令流,我先存起来,争取五一之内看懂一丢丢
    x86
        20
    x86  
       206 天前 via iPhone
    openclass 很奇怪,有些设备上相对稳定,有些设备上经常断流
    baobao1270
        21
    baobao1270  
       206 天前
    1. 为什么觉得「代理」会有稳定的方案,这个东西不受你控制的因素太多了「上游、机房策略、Wall 的策略」,本来就不可能稳定
    2. 需求 3 在理论上不可能完美实现,主流网站可以用 geosite 分流,非主流网站你必须拿到 IP 才能知道是「国内」还是「国外」,那么你拿 IP 的这个操作找哪个 DNS 呢?
    3. 两年前我的方案是 xray -> dnsmasq (w/ geosite loaded) -> dnscrypt2
    EvineDeng
        22
    EvineDeng  
       206 天前
    QeMPdEW178ZNV025
        23
    QeMPdEW178ZNV025  
       205 天前   ❤️ 1
    adg 选择用 53 端口替换 dnsmasq ,此时一般会自动把 dnsmasq 改成 1745 ,adg 里填写上游 dns 服务器为 127.0.0.1:1745
    oc 不用劫持 dnsmadq ,手动把 dnsmasq 的转发填写为 oc 的 dns 端口 7874

    整个 dns 流程就是客户机>adg>dnsmasq>openclash>上游 dns 服务器

    至于 dns 分流,要么套娃,要么用配置文件实现

    可以使用我自用的这个配置: https://github.com/Aethersailor/Custom_OpenClash_Rules

    其中 dns 设置的部分按照我上面说的设置,其他设置按照仓库里转载的那个教程贴设置
    v7eeaU2MLyWNvp
        24
    v7eeaU2MLyWNvp  
    OP
       204 天前
    @lostman1337 这两天我连猜带蒙脑补了一点点网络知识,刚看完两种设置方式,还在画图总结,还没弄完。
    您这是第三种。就您这个我还不太好理解,您这个 1745 端口在一些别的包里面是不是 adg 的 5553 ?
    目前我才在楞猜 劫持 转发 重定向 这些词是啥意思呢。。。

    您这个是,流量本来应该到 dnsmasq 或者说 53 端口,您把 adg 和 dnsmasq 端口调换了。
    流量先到 adg 结果 adg 设置上游 1745 ,这样又回到了 dnsmasq 的 53 ;
    dns 又手动填写转发到 oc 的 7874 ,这个好像跟 oc 设置下是一样啊;
    后面的设置貌似要更深入学习了。

    您这个设置亮点是把 adg 和 dnsmasq 调换了,虽然多了一层不容易理解不好设置,这是为了所有流量一来就先过滤一遍吧。。。后面的设置我再学习学习。。。谢谢大佬了
    QeMPdEW178ZNV025
        25
    QeMPdEW178ZNV025  
       204 天前
    @v7eeaU2MLyWNvp 有的包是 5553 ,有的包是 6060 ,有的包是 1745 ,这个区别不大,只要两头设置一样就没问题
    让 adg 在 53 是为了让 adg 能够按照设备来显示 dns 请求,同时因为 adg 有乐观缓存,理论上这样性能最好
    不跳过 dnsmasq 也是为了避免一些问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3377 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:57 · PVG 18:57 · LAX 02:57 · JFK 05:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.