关于 iptables 的 tproxy 转发

2016-03-04 04:05:41 +08:00
 d33n99

原来的网关的上网协议配置是 tcp 走 SS 通道,其他协议全走 open vpn 。
因为原来 SS 的 tcp 连接都是配置成随机端口,最近也计划把 udp 协议也走 SS 随机端口。
按照 wiki 进行了配置,可是在进行 udp 连接的时候 客户机可以成功发送数据到目标,但是目标在成功返回数据到网关的时候就停住了,怎么都不到客户机。

使用设备如下:
客户机:( 192.168.1.100 )
debian/默认网关:(192.168.1.254)
无线路由:(192.168.1.1)
SS 服务器:( 123.123.123.123 )

网关的 iptables 和 iproute2 等配置如下:
//SS 的 IP ,内网保留地址和国内 IP 都存放在 ipset 的 chnroutes 列表
//创建 ip rule
ip rule add fwmark 0x01/0x01 table 100
ip route add local 0.0.0.0/0 dev lo table 100
iptables -t mangle -A PREROUTING -p udp -m set ! --match-set chnroutes dst -j TPROXY --on-port 1080 --tproxy-mark 0x01/0x01

翻看了 openwrt 版本的 SS 也是一样的配置,有遇过这个问题而又成功解决的来说说吗?:)

4859 次点击
所在节点    宽带症候群
5 条回复
d33n99
2016-03-08 03:58:54 +08:00
😢问题已经解决,原来问题出现在 ip rule 和 iptables 的顺序上,导致包劫持不了。
JerningChan
2017-06-05 17:21:28 +08:00
@d33n99 dalao,请问可以再详细点出个教程之类吗?我最近也在搞这个,但是,总觉得我这边的 udp 包,还不是弄得很好
512557852
2017-06-07 15:56:58 +08:00
@d33n99 能分享一下你的经验吗,谢谢~
d33n99
2017-06-09 00:09:21 +08:00
@512557852 能具体一点吗?
tenwx
2018-03-06 14:45:59 +08:00
@d33n99 楼主你说的 ip rule 和 iptables 的顺序问题导致返回数据到不了客户机能不能具体说下解决办法呢?

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

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

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

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

© 2021 V2EX