用 clash for win 设置网关模式后,依旧要去每个客户端设置代理,有没有什么方法可以让局域网内所有的流量都走 clash 这个虚拟网关呢?
难道用 openwrt 的 openclasn 会有这种功能? 就是感觉试起来要花点时间,有没有玩过的朋友分享一下经验呢?
![]() | 1 yadiman 2021-04-07 11:52:38 +08:00 via iPhone 貌似 openwrt 那个是直接接管所有流量的。所以 cpu 会冒烟,毕竟白名单,黑名单的数据都要处理。效率感人。 |
2 gaopu 2021-04-07 11:55:02 +08:00 路由器里面设置默认网关,改成 clash 所在机器的 IP |
3 yeqizhang 2021-04-07 11:55:23 +08:00 这几天我也在研究 clash,好像是叫透明代理吧... 用 alow LAN 是要一个一个配的 |
![]() | 4 jakes 2021-04-07 11:58:42 +08:00 via iPhone ![]() Openclash 是用 iptables 转发了流量的,实质上也是转发给了 clash 。如果会配置 iptables,你也可以转发到本地去。 |
5 0ZXYDDu796nVCFxq 2021-04-07 12:02:55 +08:00 有两种方式: 1. 在 DHCPd 里设置,分配 IP 和网关,把网关指向 win 机器 2. 同样是 DHCPd,通过 WPAD 协议,同时分配代理服务器,使用 win 做代理 这种需要 win 机器 24 小时开机,如果可以尽量在 openwrt 上完成所有功能吧 我通常是 PC 和手机全都安装客户端,不需要网关支持 一些设备不方便安装客户端比如 Google Home 、电视盒子,自动走网关的透明代理就可以了 |
![]() | 6 yugiwu OP @gaopu 在主路由的 DHCP 那里设置网关对吧,试过,结果是局域网整个断网,感觉是不是这个设置造成流量在两个网关间循环了呢。 |
![]() | 7 yugiwu OP @yeqizhang 透明代理,另一个设置? clash 里只看到 allow LAN 倒是没看到其他的。难道是写到配置里去的? |
9 breezeFP 2021-04-07 12:43:02 +08:00 用 Proxifier |
10 n1dragon 2021-04-07 12:43:12 +08:00 clash 在 openwrt 上可以使用透明代理,局域网其他设备不需要任何设置,openwrt 的防火墙规则可以将所有流量重定向到 clash,再发出去。 |
![]() | 11 lostberryzz 2021-04-07 12:46:16 +08:00 DHCP 里网关改成 CFW 机器的 IP |
![]() | 12 yugiwu OP @gstqc 1 这里你说的是设置主路由吧。分配 ip 是说给 win 固定 ip 对吧,然后把再把网关指向 win 。这个我试下来不行,也许我哪里错了。 2 能说的更具体?主路由要设置啥,或者其他要设置啥,不是太明白你的意思。 客户端是比较灵活,但是只是应用层面的流量进行管理,即便全局代理,有些 UWP 层面,或者底层流量还是无法翻墙。 其实也没特别需求,只是想把这块再搞清些。 |
![]() | 13 yugiwu OP @n1dragon openclash 是看到有这个功能,但是在 clash for win 上好像没有。 是不是 clash for win 上确实就没呢?真的这样的话,就老老实实去装 openwrt 了。 |
![]() | 15 yugiwu OP |
![]() | 17 lisr 2021-04-07 13:32:21 +08:00 ![]() 目前尝试过 win 上的 clash 和 qv2ray,均未成功通过单纯的软件实现透明网关功能,目前看到的解决办法如下: 1. 使用 hyper-v 安装 openwrt 2. mac 使用 surge 3. 路由器上直接用 luci-app-v2ray 和 v2ray-core |
18 princelai 2021-04-07 14:24:03 +08:00 @lisr #17 目前尝试过 linux 上的 qv2ray 和 openwrt 上的 openclash,均成功实现透明代理 1.linux 下 qv2ray 要配合 cgproxy 使用 2.openwrt 下默认透明代理,但最好选上劫持本地 DNS 3.win 下不了解 |
21 94felipe 2021-04-07 15:27:33 +08:00 via Android 试试在路由器的 DHCP 里设置网关指向 clash,然后手动设置 clash 宿主机的网关指向主路由 |
![]() | 22 SenLief 2021-04-08 07:53:58 +08:00 via Android 你这意思应该是旁路由模式吧。旁路由是主路由的网关指向旁路由,然后由旁路由来处理流量。坏处也很明显就是主路由无法分流,一旦旁路由故障会影响所有的设备连不上网。 clash 的代理允许局域网链接后应该可以代理吧。 |
![]() | 23 yugiwu OP @SenLief 其实我是在油管上看到别人说 clash 可以代理网关(可能我会错意了),起到类似旁路由的作用,所以装了 clash 试试,但试下来结果是只能代理,结果还是要一个 client 一个 client 去设置。 旁路由如你所说,有利弊,我自己也犹犹豫豫一直没搞。 |
![]() | 24 SenLief 2021-04-08 09:48:01 +08:00 @yugiwu clash 做代理网关可以,前提是你必须要要让代理机能给其他机器下发 ip 啊,旁路由模式就是用旁路由机器来强制 dhcp 分配 ip 的,这样网关才能使代理机。 |
![]() | 26 shikkoku 2021-04-08 12:40:38 +08:00 CFW 从未说过能作为网关代理局域网全部流量吧。 |
![]() | 27 tia 2021-04-08 13:16:30 +08:00 你的自动代理差不多指的是透明代理这个意思,透明代理的话需要在网关上布设 clash,然后局域网下的所有客户端因为网关获取的是 clash 机,所以做到了“自动代理”。 |
![]() | 28 nameuser 2021-04-08 14:21:00 +08:00 ![]() 最近也在弄这个,clash 设置成功。 最后在虚拟机里面装了一个 openwrt,用作路由器的网关。 |
29 nameuser 2021-04-08 14:21:31 +08:00 |
![]() | 30 imldy 2021-04-08 17:20:28 +08:00 ![]() 如果让运行“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 接管流量,或者上软路由。 |
![]() | 31 imldy 2021-04-08 17:24:28 +08:00 甚至说梯子软件对 IPv6 的支持都不太好,再加上鸡场的服务器都很少有 IPv6 。所以用了梯子软件,就基本相当于放弃 IPv6 了。 |
![]() | 33 AndyAO 2021-12-05 08:26:09 +08:00 倒是还有个比较复杂的方法,就是同时开启 CFW 和 OpenWrt 两个虚拟机,把 OpenWrt 的代理转接到 CFW 上面,然后用 OpenWrt 当做网关,由于都是在机器内部进行通信,效率应该不会太低。 这样就是整个网络的结构会稍微复杂点,别的倒是没什么坏处,之后如果想弄更稳定的科学上网的话,这是个纯软件的实现策略。 |
![]() | 34 tony1016 2022-07-30 09:15:38 +08:00 masqerade 或者 iptables redir ,总要做一个才能实现啊 |
![]() | 35 jayliucn 2022-10-06 01:57:39 +08:00 @gstqc 用 Clash 设备来做网关模式下其他设备流量是走全局代理还是规则判定呀,担心如果是全局代理机场量不够用... |
36 0ZXYDDu796nVCFxq 2022-10-06 12:14:55 +08:00 ![]() @jayliucn clash 可以设置全局走或者按规则走 但这样对性能影响挺明显的 最佳的方式是在网关用 ipset+透明代理 ipset 根据域名把域名的 IP 打上标签,然后这些 IP 段走透明代理出去 这样不需要翻墙的域名和 IP 段,完全不需要额外处理,不影响性能 |
![]() | 37 standin000 2022-12-07 21:07:14 +08:00 尝试 Clash for Windows 的 TAP 模式,可以让所有流量都走代理 |
![]() | 38 UXha45veSNpWCwZR 2023-10-01 15:22:57 +08:00 win 可以做透明网关. 1 安装 sstap 2 随便一个代理软件,比如 clash for win 3 在 clash for win 设置 socks5,在 sstap 里添加这个 socks5 4 执行语句 netsh interface ipv4 set interface XXX forwarding=enabled 其中 XXX 是根据你电脑网卡设置.我的是 4 其中 2 和 3 是为了让 sstap 能代理,所以省略 2 和 3 步骤,直接给 sstap 添加 ssr 代理也是可以的 |