Openwrt 透明代理的痛点

350 天前
 terrytw

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

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

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

6684 次点击
所在节点    宽带症候群
38 条回复
Lentin
350 天前
在 mangle 表里面处理=。=
yaott2020
350 天前
用 tun ?
terrytw
350 天前
@Lentin 以前我还在 raw 表里处理呢,感觉不是什么很好的办法
@yaott2020 tun 的分流怎么做的呀
terrytw
350 天前
主要是现在 22.03 里面,没法在 fw4 restart 之后附加规则了,所以在 raw 表里加规则都不行了
Lentin
350 天前
lovelylain
350 天前
terrytw
350 天前
@lovelylain 看到你说 iptables+fwmark ,难道你的 iptables 规则不是在 mangle 和 nat 表嘛?
terrytw
350 天前
@Lentin 看来看去 openclash 也是用 iptables 在 mangle 表做分流啊,不知道你想表达什么意思
Lentin
349 天前
@terrytw clash 本身有一套规则可以 reject 不需要 iptable 再屏蔽了
crysislinux
349 天前
感觉确实没有太好的办法,可以多加一个 openwrt 来先处理这些 IP 。但是这样一样透明代理又不能针对某个 lan 上的设备做特殊处理了。
yanyanjia
349 天前
加一个 openwrt ,两个 openwrt 之间用 ospf 协议分流呢?
huaxie1988
349 天前
@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
349 天前
一套 OpenWRT 不行就两套……主路由 ER2260T 通过策略路由分流,目标地址国内 IP 或者源地址旁路网关直接上行宽带提供商,其余绕行旁路网关。再在旁路网关上走代理出去……
qwvy2g
349 天前
是的,如果流量被分流到代理中,openwrt 防火墙设置就无效了。不如考虑在 openwrt 代理软件中添加绕过代理或者直接在代理里面添加新规则 IPblock 这些 IP 。
unnamedhao
349 天前
mangle 里把 1.2.3.4 return
kokutou
349 天前
最精确的还得是客户机上装客户端。。。
mritd
349 天前
搞不明白 openwrt ,自己搓了一个 github.com/mritd/tpclash
cwbsw
349 天前
手写规则就可以了,用现成工具肯定多多少少有不如意的地方。
gesse
349 天前
学学 GFW ,哈哈哈
iptables -t nat -A PREROUTING -d 1.2.3.4 -j DNAT --to 2.2.2.2
missdeer
349 天前
不要用一键安装的插件就行了,自己手写 iptables

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

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

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

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

© 2021 V2EX