V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
测试工具
SmokePing
IPv6 访问测试
yugiwu
V2EX  ›  宽带症候群

clash 网关模式能自动代理局域网内所有流量?

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

    用 clash for win 设置网关模式后,依旧要去每个客户端设置代理,有没有什么方法可以让局域网内所有的流量都走 clash 这个虚拟网关呢?

    难道用 openwrt 的 openclasn 会有这种功能? 就是感觉试起来要花点时间,有没有玩过的朋友分享一下经验呢?

    第 1 条附言  ·  285 天前
    把 clash for win 作为网关设置到主路由的网关里的方式,尝试了几次都失败了,这条路应该走不通。
    现在看来,在 20210408 时点最新版本的 clash for win 应该只能做到局域网网关代理,也就是说开启该功能,还是需要到各个 client 去设置代理,才能通过 clash for win 上网。
    33 条回复    2021-12-05 08:26:09 +08:00
    yadiman
        1
    yadiman  
       286 天前 via iPhone
    貌似 openwrt 那个是直接接管所有流量的。所以 cpu 会冒烟,毕竟白名单,黑名单的数据都要处理。效率感人。
    gaopu
        2
    gaopu  
       286 天前
    路由器里面设置默认网关,改成 clash 所在机器的 IP
    yeqizhang
        3
    yeqizhang  
       286 天前
    这几天我也在研究 clash,好像是叫透明代理吧... 用 alow LAN 是要一个一个配的
    jakes
        4
    jakes  
       286 天前 via iPhone   ❤️ 1
    Openclash 是用 iptables 转发了流量的,实质上也是转发给了 clash 。如果会配置 iptables,你也可以转发到本地去。
    gstqc
        5
    gstqc  
       286 天前
    有两种方式:
    1. 在 DHCPd 里设置,分配 IP 和网关,把网关指向 win 机器
    2. 同样是 DHCPd,通过 WPAD 协议,同时分配代理服务器,使用 win 做代理
    这种需要 win 机器 24 小时开机,如果可以尽量在 openwrt 上完成所有功能吧

    我通常是 PC 和手机全都安装客户端,不需要网关支持
    一些设备不方便安装客户端比如 Google Home 、电视盒子,自动走网关的透明代理就可以了
    yugiwu
        6
    yugiwu  
    OP
       286 天前
    @gaopu 在主路由的 DHCP 那里设置网关对吧,试过,结果是局域网整个断网,感觉是不是这个设置造成流量在两个网关间循环了呢。
    yugiwu
        7
    yugiwu  
    OP
       286 天前
    @yeqizhang 透明代理,另一个设置? clash 里只看到 allow LAN 倒是没看到其他的。难道是写到配置里去的?
    yugiwu
        8
    yugiwu  
    OP
       286 天前
    @jakes 谢谢,不会可以学可以试的,思路要有走的对就行~~
    breezeFP
        9
    breezeFP  
       286 天前
    用 Proxifier
    n1dragon
        10
    n1dragon  
       286 天前
    clash 在 openwrt 上可以使用透明代理,局域网其他设备不需要任何设置,openwrt 的防火墙规则可以将所有流量重定向到 clash,再发出去。
    lostberryzz
        11
    lostberryzz  
       286 天前
    DHCP 里网关改成 CFW 机器的 IP
    yugiwu
        12
    yugiwu  
    OP
       286 天前
    @gstqc
    1 这里你说的是设置主路由吧。分配 ip 是说给 win 固定 ip 对吧,然后把再把网关指向 win 。这个我试下来不行,也许我哪里错了。
    2 能说的更具体?主路由要设置啥,或者其他要设置啥,不是太明白你的意思。

    客户端是比较灵活,但是只是应用层面的流量进行管理,即便全局代理,有些 UWP 层面,或者底层流量还是无法翻墙。
    其实也没特别需求,只是想把这块再搞清些。
    yugiwu
        13
    yugiwu  
    OP
       286 天前
    @n1dragon
    openclash 是看到有这个功能,但是在 clash for win 上好像没有。
    是不是 clash for win 上确实就没呢?真的这样的话,就老老实实去装 openwrt 了。
    yugiwu
        14
    yugiwu  
    OP
       286 天前
    @breezeFP
    这个容我之后再学习一下了
    yugiwu
        15
    yugiwu  
    OP
       286 天前
    @lostberryzz
    这个我试下来,整个局域网断网了
    还需要设置其他什么?
    gaopu
        16
    gaopu  
       286 天前
    @yugiwu
    你看看这个吧。
    我现在是旁路由方式
    lisr
        17
    lisr  
       286 天前   ❤️ 1
    目前尝试过 win 上的 clash 和 qv2ray,均未成功通过单纯的软件实现透明网关功能,目前看到的解决办法如下:
    1. 使用 hyper-v 安装 openwrt
    2. mac 使用 surge
    3. 路由器上直接用 luci-app-v2ray 和 v2ray-core
    princelai
        18
    princelai  
       286 天前
    @lisr #17 目前尝试过 linux 上的 qv2ray 和 openwrt 上的 openclash,均成功实现透明代理
    1.linux 下 qv2ray 要配合 cgproxy 使用
    2.openwrt 下默认透明代理,但最好选上劫持本地 DNS
    3.win 下不了解
    yugiwu
        19
    yugiwu  
    OP
       286 天前
    @gaopu
    谢谢啦~~
    breezeFP
        20
    breezeFP  
       286 天前
    @yugiwu 不需要学习,配置简单,看看就会了
    94felipe
        21
    94felipe  
       286 天前 via Android
    试试在路由器的 DHCP 里设置网关指向 clash,然后手动设置 clash 宿主机的网关指向主路由
    SenLief
        22
    SenLief  
       285 天前 via Android
    你这意思应该是旁路由模式吧。旁路由是主路由的网关指向旁路由,然后由旁路由来处理流量。坏处也很明显就是主路由无法分流,一旦旁路由故障会影响所有的设备连不上网。
    clash 的代理允许局域网链接后应该可以代理吧。
    yugiwu
        23
    yugiwu  
    OP
       285 天前
    @SenLief
    其实我是在油管上看到别人说 clash 可以代理网关(可能我会错意了),起到类似旁路由的作用,所以装了 clash 试试,但试下来结果是只能代理,结果还是要一个 client 一个 client 去设置。
    旁路由如你所说,有利弊,我自己也犹犹豫豫一直没搞。
    SenLief
        24
    SenLief  
       285 天前
    @yugiwu clash 做代理网关可以,前提是你必须要要让代理机能给其他机器下发 ip 啊,旁路由模式就是用旁路由机器来强制 dhcp 分配 ip 的,这样网关才能使代理机。
    tankren
        25
    tankren  
       285 天前
    @gstqc #5 wpad 只能代理网页吧
    shikkoku
        26
    shikkoku  
       285 天前
    CFW 从未说过能作为网关代理局域网全部流量吧。
    tia
        27
    tia  
       285 天前
    你的自动代理差不多指的是透明代理这个意思,透明代理的话需要在网关上布设 clash,然后局域网下的所有客户端因为网关获取的是 clash 机,所以做到了“自动代理”。
    nameuser
        28
    nameuser  
       285 天前   ❤️ 1
    最近也在弄这个,clash 设置成功。
    最后在虚拟机里面装了一个 openwrt,用作路由器的网关。
    nameuser
        29
    nameuser  
       285 天前
    @nameuser 说错。

    最近也在弄这个,clash 没设置成功。
    最后在虚拟机里面装了一个 openwrt,用作路由器的网关。
    imldy
        30
    imldy  
       284 天前   ❤️ 1
    如果让运行“clash”的设备 A 作为网关来实现透明代理,需要修改设备 A 的防火墙进行流量转发(例如 Linux 下的 iptables,将作为网关接收到的流量转发到 clash ),感觉对设备 A 的系统的影响还是比较大的。不如开 Linux 虚拟机进行相关设置,把虚拟机当作网关。
    Linux 虚拟机可以按照这些教程进行设置 aHR0cHM6Ly94dGxzLmdpdGh1Yi5pby9kb2N1bWVudHMvbGV2ZWwtMi8=,也可以直接虚拟机安装 openwrt 。

    但是旁路由网关模式对 IPv6 不太友好,因为(下面都是原因):
    简单说:一般路由器对 IPv6 支持太差。
    详细说:IPv6 的网关很难被修改(无论是在主路由器上修改下发的网关 IP,还是在各个设备上修改 IPv6 网关),如果改不了 IPv6 的网关,那软件走 IPv6 的时候还是无法被代理,经常遇到有的软件无法走梯子……只能多次重试让软件走 IPv4 。
    彻底解决办法就是关闭 IPv6,或者不让 DNS 服务器返回 IPv6 地址……
    前者(关闭 IPv6):一个无法修改 IPv6 网关的设备,那一般也就不能关闭 IPv6(举例:安卓。iPhone 没用过),只能关闭整 个局域网的 IPv6,放弃 IPv6 。
    后者(不让 DNS 服务器返回 IPv6 地址):那就得修改 DNS 地址。修改主路由器下发的,或者修改各个设备上的,如果主路由器下发的 DNS 地址是主路由自己,那还得修改主路由的 DNS 解析方案,有的路由器用的还是 dnsmasq(这个软件貌似没办法不返回 IPv6 地址)。一样很难。最后只能放弃 IPv6……

    省心就用普通的 http 或者 socks 接管流量,或者上软路由。
    imldy
        31
    imldy  
       284 天前
    甚至说梯子软件对 IPv6 的支持都不太好,再加上鸡场的服务器都很少有 IPv6 。所以用了梯子软件,就基本相当于放弃 IPv6 了。
    liioiil
        32
    liioiil  
       247 天前
    @yugiwu 你解决了吗
    AndyAO
        33
    AndyAO  
       44 天前
    倒是还有个比较复杂的方法,就是同时开启 CFW 和 OpenWrt 两个虚拟机,把 OpenWrt 的代理转接到 CFW 上面,然后用 OpenWrt 当做网关,由于都是在机器内部进行通信,效率应该不会太低。

    这样就是整个网络的结构会稍微复杂点,别的倒是没什么坏处,之后如果想弄更稳定的科学上网的话,这是个纯软件的实现策略。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4174 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 08:16 · PVG 16:16 · LAX 00:16 · JFK 03:16
    ♥ Do have faith in what you're doing.