本帖最后由 moonlight91 于 2023-7-5 20:27 编辑
本帖基于论坛地址:https://www.right.com.cn/forum/thread-8284982-1-1.html 参数配置优化
在使用此配置组合时,发现即便是DNS解析国内域名返回的时非FakeIP,但流量依旧走OpenClash内核
如上图,baidu 也通过openclash 访问
因此在网上搜索,参考了这个博客: https://songchenwen.com/tproxy-split-by-dns
虽然DNS分流方式和论坛中的方式略有差异,但思路可以借鉴。
其中关键的配置调整如下:
首先:插件设置-模式设置-运行模式 必须 切换到 Fake-IP(增强)模式 ,其他方式即便修改了防火墙规则,也无法使国内流量避开OpenClash流量转发
然后:在 插件设置-开发者选项 中替换为附件中的脚本。
脚本主要的逻辑:删除Openclash创建的规则,删除成功后,即可实现只对Fakeip的流量通过 OpenClash 转发。
OpenClash NFTables 默认规则如下,红框为对TCP流量的默认转发规则
由于我的OpenWRT为22.03.5 版本,防火墙默认实现改为了 NFTables,
我按照博客中实现的思路 使用NFTables命令删除了 OpenClash 创建的规则
(注意:由于删除了默认转发规则,部分直连IP且需要代理的应用会上网海淘失败,因此需要对个别不需要DNS解析直接上网海淘的应用特殊处理,如:电报。)
NFTables 自定义脚本(删除默认转发配置,只有FakeIP流量才走OpenClash,直连IP应用不走OpenClash):
NFTables 自定义脚本(删除默认转发配置,使用OpenClash 自带的 china_ip_route,修改代理逻辑为:FakeIP&非国内IP流量走OpenClash内核,可以避免部分直连ip应用代理异常):
由于我的OpenWRT版本使用的是非Iptables防火墙,Iptables命令我没有做测试,仅做参考(有朋友已经测试通过了),
如果导致无法正常代理science,删除自定义规则重新启动OpenClash即可恢复。
Iptables 自定义脚本:
Iptables 自定义脚本(大路IP绕过内核):
操作前请务必备份默认配置!!!
按如上步骤删除规则并配置好,通过MosDns解析的国内IP流量将不会通过OpenClash 转发,体现在Openclash的控制面板中查看不到国内的流量,理论上性能会有所提升,同时路由器也可以正常开启使用Ipv6。
@shiift @望月星刀
请不要胡乱输入以及粘贴、复制等方式灌水
请尊重作者、并共同维护网站的正常阅读,否则账户将会被限制发帖、回帖,并且积分可能会被清零,站内短信以及阅读权限等都会受到影响,谢谢。
具体限制方式:https://www.right.com.cn/forum/thread-8307840-1-1.html
|