Openwrt 透明代理的痛点

2023-05-15 20:48:26 +08:00
 terrytw

虽然说很多工具都没用过,但是看下来基本上 Openwrt 上透明代理自动分流,都是依赖 iptables/nftables 来匹配并转发发至透明代理 这样产生的一个问题是,openwrt 自身设置的一些规则往往就无效了

比如在 openwrt 里设置目标 IP 1.2.3.4 的包全部丢弃,但是这个规则是在 filter 表里的,而透明代理一般都是在 mangle 表里的,优先级更高,如果 1.2.3.4 走透明代理的话,上述规则就彻底失效了

不知道有谁有什么好的建议呢

6878 次点击
所在节点    宽带症候群
38 条回复
Lentin
2023-05-15 20:58:18 +08:00
在 mangle 表里面处理=。=
yaott2020
2023-05-15 21:00:02 +08:00
用 tun ?
terrytw
2023-05-15 21:01:58 +08:00
@Lentin 以前我还在 raw 表里处理呢,感觉不是什么很好的办法
@yaott2020 tun 的分流怎么做的呀
terrytw
2023-05-15 21:04:45 +08:00
主要是现在 22.03 里面,没法在 fw4 restart 之后附加规则了,所以在 raw 表里加规则都不行了
Lentin
2023-05-15 21:17:00 +08:00
lovelylain
2023-05-15 21:20:12 +08:00
terrytw
2023-05-15 21:30:18 +08:00
@lovelylain 看到你说 iptables+fwmark ,难道你的 iptables 规则不是在 mangle 和 nat 表嘛?
terrytw
2023-05-15 21:30:59 +08:00
@Lentin 看来看去 openclash 也是用 iptables 在 mangle 表做分流啊,不知道你想表达什么意思
Lentin
2023-05-15 22:44:22 +08:00
@terrytw clash 本身有一套规则可以 reject 不需要 iptable 再屏蔽了
crysislinux
2023-05-16 00:20:02 +08:00
感觉确实没有太好的办法,可以多加一个 openwrt 来先处理这些 IP 。但是这样一样透明代理又不能针对某个 lan 上的设备做特殊处理了。
yanyanjia
2023-05-16 00:37:53 +08:00
加一个 openwrt ,两个 openwrt 之间用 ospf 协议分流呢?
huaxie1988
2023-05-16 00:45:46 +08:00
@terrytw 22.3 可以删除 nft 使用 iptables 。
opkg remove luci-ssl luci luci-app-firewall firewall4
opkg install iptables-legacy firewall luci
而且你这种需要在透明代理的规则前可以加一条 ipset 跳过代理,封 ip 规则也写为封锁该 ipset ,然后将需要封锁的 ip 添加到该 ipset ,ipset 比一条一条的 ip 规则效率更高。
ccde8259
2023-05-16 02:02:57 +08:00
一套 OpenWRT 不行就两套……主路由 ER2260T 通过策略路由分流,目标地址国内 IP 或者源地址旁路网关直接上行宽带提供商,其余绕行旁路网关。再在旁路网关上走代理出去……
qwvy2g
2023-05-16 02:18:54 +08:00
是的,如果流量被分流到代理中,openwrt 防火墙设置就无效了。不如考虑在 openwrt 代理软件中添加绕过代理或者直接在代理里面添加新规则 IPblock 这些 IP 。
unnamedhao
2023-05-16 04:10:18 +08:00
mangle 里把 1.2.3.4 return
kokutou
2023-05-16 08:11:46 +08:00
最精确的还得是客户机上装客户端。。。
mritd
2023-05-16 08:21:02 +08:00
搞不明白 openwrt ,自己搓了一个 github.com/mritd/tpclash
cwbsw
2023-05-16 10:56:18 +08:00
手写规则就可以了,用现成工具肯定多多少少有不如意的地方。
gesse
2023-05-16 12:05:33 +08:00
学学 GFW ,哈哈哈
iptables -t nat -A PREROUTING -d 1.2.3.4 -j DNAT --to 2.2.2.2
missdeer
2023-05-16 13:41:03 +08:00
不要用一键安装的插件就行了,自己手写 iptables

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/940228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX