用 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 2
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 1
目前尝试过 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 1
最近也在弄这个,clash 设置成功。
最后在虚拟机里面装了一个 openwrt,用作路由器的网关。 |
29
nameuser 2021-04-08 14:21:31 +08:00
|
30
imldy 2021-04-08 17:20:28 +08:00 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 接管流量,或者上软路由。 |
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 1
@jayliucn clash 可以设置全局走或者按规则走
但这样对性能影响挺明显的 最佳的方式是在网关用 ipset+透明代理 ipset 根据域名把域名的 IP 打上标签,然后这些 IP 段走透明代理出去 这样不需要翻墙的域名和 IP 段,完全不需要额外处理,不影响性能 |
37
standin000 2022-12-07 21:07:14 +08:00
尝试 Clash for Windows 的 TAP 模式,可以让所有流量都走代理
|
38
MeteorVIP 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 代理也是可以的 |