SukkaW / Koolshare-Clash

:cat: Run Clash Tunnel on Koolshare OpenWrt
https://koolclash.js.org
GNU General Public License v3.0
1.33k stars 239 forks source link

[Feature Request] 无法搭配 ss-server 或者酷软中 SSR 服务器使用 #20

Open evianzhow opened 5 years ago

evianzhow commented 5 years ago

需求

运行 KoolClash 的软路由,既可以当作局域网内的网关给其他设备提供透明代理服务,其自身又可以运行一个 ss-server 来对外提供一个代理服务器。

环境

单 LAN 口软路由,KoolClash 0.15.1-beta

目前的行为

KoolClash 成功运行,将 KoolClash 软路由作为其他设备的网关,其他设备访问正常。但 KoolClash 软路由自身无法访问被屏蔽的网站。在软路由的终端中运行:

curl -L https://www.google.com/

没有输出

怀疑是跟 KoolClash 的 iptables 规则加载到 PREROUTING 链有关系,本机流量和 ss-server 的流量不经过 PREROUTING 链。

期望的行为

KoolClash 成功运行,将 KoolClash 软路由作为其他设备的网关,其他设备访问正常。KoolClash 软路由自身访问正常。在酷软中心安装 SSR 服务器,其他设备使用 SS/SSR 协议访问正常。

是否可以参考这里:https://github.com/shadowsocks/luci-app-shadowsocks/blob/master/files/root/usr/bin/ss-rules

evianzhow commented 5 years ago

https://github.com/shadowsocks/luci-app-shadowsocks/blob/e4bd61df5657d53ba6383c08c6e05e0a8f110658/files/root/usr/bin/ss-rules#L28

为什么它这里采用了 OUTPUT 而不是 PREROUTING,这两个链的关系是什么呢?

SukkaW commented 5 years ago

https://github.com/shadowsocks/luci-app-shadowsocks/blob/e4bd61df5657d53ba6383c08c6e05e0a8f110658/files/root/usr/bin/ss-rules#L28

为什么它这里采用了 OUTPUT 而不是 PREROUTING,这两个链的关系是什么呢?

KoolClash 采用和 Koolss 相同的策略,不代理路由器本机流量,以避免一些潜在的问题。