花了几天时间终于搞明白了是怎么回事。
你说的是正解,在 output 里给有需要的数据包打标记 meta set mark,
然后用策略路由 ip rule ip route 重新发给本机,这样才能回到 prerouting,
在 prerouting 里发给 tproxy。
总算搞定用 tproxy 转发 ipv4/v6 的 tcp/udp 了。
设置总共不超过10行,搞清楚并通过测试却费老鼻子劲了。
【 在 pheyx 的大作中提到: 】
: 没用过nftables,iptables有过类似的需求是mangle表里的output打标记,然后ip rule让标记的流量走不同的路由表。源自本机的流量确实不走prerouting。另外做SNAT或MASQUERADE的话,本机的这部分流量需要在nat的postrouting里针对该标记单独处理。
--
FROM 58.48.87.*