您尚未登录。

#1 2017-03-04 14:19:34

Mr.I
路人丙
所在地: China_shanghai
注册时间: 2015-08-29
帖子: 116

redsocks2配置以及iptables TPROXY转发UDP流量的问题

大概情况是这样,我在配redsocks2的UDP透明代理,TPROXY转发UDP流量到redsocks2监听端口这一步一直过不去,所以来求助了。

转发失败的表现是:redsocks2开启DEBUG,没有UDP相关的日志输出,resolv.conf配DNS为8.8.8.8不能正常解析
ss使用libev版本,服务端确认开启了UDP支持。

以下是我的配置:

开启全局代理的脚本:

#!/bin/sh
# TCP部分已经可以正常使用了。
iptables-restore < /etc/iptables/redsocks_tcp.rules

ip rule add fwmark 0x01/0x01 table 100 
ip route add local 0.0.0.0/0 dev lo table 100 

iptables -t mangle -N REDSOCKS2

iptables -t mangle -A REDSOCKS2 -d 0.0.0.0/8 -j RETURN
iptables -t mangle -A REDSOCKS2 -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A REDSOCKS2 -d 127.0.0.0/8 -j RETURN
iptables -t mangle -A REDSOCKS2 -d 169.254.0.0/16 -j RETURN
iptables -t mangle -A REDSOCKS2 -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A REDSOCKS2 -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A REDSOCKS2 -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A REDSOCKS2 -d 240.0.0.0/4 -j RETURN

iptables -t mangle -A REDSOCKS2 -p udp -j TPROXY --on-port 31339 --tproxy-mark 0x01/0x01

iptables -t mangle -A PREROUTING -j REDSOCKS2

redsocks2.conf:

base {
|   log_debug = on; 
|   log_info = on; 
|   daemon = off;
|   redirector = iptables;
}

redsocks {
|   local_ip = 0.0.0.0;
|   local_port = 31338;

|   ip = 127.0.0.1;
|   port = 1080;
|   type = socks5;

|   autoproxy = 0;
}

redudp {
|   local_ip = 0.0.0.0;
|   local_port = 31339;

|   ip = ip;
|   port = port;
|   type = shadowsocks;
|   login = rc4-md5;
|   password = "---";

|   udp_timeout = 20; 
}

最近编辑记录 Mr.I (2017-03-04 14:27:33)


运维工程师,业余程序员,偶尔写写代码,对 ArchLinux 和 Gnome3 一见钟情 wink

离线

#2 2017-03-04 19:27:28

firedrake
会员
注册时间: 2016-08-29
帖子: 55

Re: redsocks2配置以及iptables TPROXY转发UDP流量的问题

https://github.com/shadowsocks/shadowso … nced-usage
在OUTPUT链上也打标记试试。

离线

#3 2017-03-04 21:14:48

Mr.I
路人丙
所在地: China_shanghai
注册时间: 2015-08-29
帖子: 116

Re: redsocks2配置以及iptables TPROXY转发UDP流量的问题

firedrake 说:

https://github.com/shadowsocks/shadowso … nced-usage
在OUTPUT链上也打标记试试。

非常感谢,原来差了这个,现在可以转发UDP了 big_smile


运维工程师,业余程序员,偶尔写写代码,对 ArchLinux 和 Gnome3 一见钟情 wink

离线

#4 2017-03-04 22:05:27

Mr.I
路人丙
所在地: China_shanghai
注册时间: 2015-08-29
帖子: 116

Re: redsocks2配置以及iptables TPROXY转发UDP流量的问题

好像redsocks2的socks5_udp和libev版的ss-local有点不兼容的样子,疯狂报错。用了ss-redir之后就好了,终于配成功了

最近编辑记录 Mr.I (2017-03-05 09:24:11)


运维工程师,业余程序员,偶尔写写代码,对 ArchLinux 和 Gnome3 一见钟情 wink

离线

#5 2017-03-05 09:04:56

firedrake
会员
注册时间: 2016-08-29
帖子: 55

Re: redsocks2配置以及iptables TPROXY转发UDP流量的问题

话说为什么要多跑一层,直接用ss-redir转发就行了啊?

离线

#6 2017-03-05 09:22:44

Mr.I
路人丙
所在地: China_shanghai
注册时间: 2015-08-29
帖子: 116

Re: redsocks2配置以及iptables TPROXY转发UDP流量的问题

firedrake 说:

话说为什么要多跑一层,直接用ss-redir转发就行了啊?

因为原先我是用python版ss和redsocks2做TCP透明代理的,后来有UDP需求的时候才去学习了一下ss-libev,但是刚接触ss-redir的时候遇到点小挫折,所以选了稍微熟悉一些的redsocks2。

现在已经换上ss-libev全家桶了。原先是多跑一层的,现在客户端只有ss-redir了。


运维工程师,业余程序员,偶尔写写代码,对 ArchLinux 和 Gnome3 一见钟情 wink

离线

页脚