设为首页收藏本站

恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 37862|回复: 33

redsocks连接socks5代理服务器实现全局代理,只是为了访问外网

[复制链接]
发表于 2014-3-21 01:56 | 显示全部楼层 |阅读模式
本帖最后由 lostinfever 于 2014-3-22 02:32 编辑

一提到redsocks和代理这些关键词,大家都会联想到这是翻WALL用的。
虽然redsocks是为翻WALL而生,但是我们还可以用它来连接固定的socks5代理,让内网用户通过openwrt访问外网

我的网络环境是这样的,通过pppoe拨号的方式获得内网IP,没有访问外网的权限,很苦逼,但是前些天无意中发现内网里有一台socks5的代理服务器,连接这个代理之后就可以畅通无阻的访问外网了。
在windows下,可以通过pppoe拨号获得内网IP,使用Proxifier这款软件配置socks5全局代理,来获得访问外网的权限。但是手机平板就难以做到这两步。
所以我想用openwrt做路由,先pppoe拨号获得内网IP,再通过redsocks2将内网里所有设备的连接请求全部转发到指定的socks5代理服务器,这样就可以实现终端免设置访问外网了。

估计有这种需求的人不多,但是还是记录下来作为一个例子给大家参考吧(基于openwrt-x86):

1.先使用内网账号pppoe拨号获得内网IP:
QQ截图20140321013323.jpg

2.获取适应你openwrt平台的redsocks2,这里提供一个x86的redsocks2,其他平台请自行搜索或编译:
redsocks2_0.5-x86.zip (39.98 KB, 下载次数: 64)

评分

参与人数 1恩山币 +1 收起 理由
春暖花开 + 1 城会玩

查看全部评分

发表于 2014-3-21 14:03 | 显示全部楼层
路由器本身:

iptables -t nat -A OUTPUT 1 -p tcp  -j REDSOCKS
iptables -t nat -A OUTPUT 1 -p udp  -j REDSOCKS
发表于 2014-3-21 08:48 | 显示全部楼层
学习了
发表于 2014-3-21 09:27 | 显示全部楼层
不错,可惜我这里的内网环境比楼主的还复杂
发表于 2014-3-21 09:53 | 显示全部楼层
我也有这个问题, 应该是路由本身不是通过br-lan口或 prerouting之类的, 所以以下两条命令并不能把路由自身的请求转到 REDSOCKS

iptables -t nat -A PREROUTING -i br-lan -p tcp -j REDSOCKS
iptables -t nat -A PREROUTING -i br-lan -p udp -j REDSOCKS
 楼主| 发表于 2014-3-21 10:24 来自手机 | 显示全部楼层
muziling 发表于 2014-3-21 09:53
我也有这个问题, 应该是路由本身不是通过br-lan口或 prerouting之类的, 所以以下两条命令并不能把路由自 ...

说得对,刚百度查了一下:

本地连接的数据包不会经过网卡转发,是由内核处理后直接交给进程,所以不会走prerouting,需要对127.0.0.1的output数据包配置转发,等下测试一下
发表于 2014-3-21 13:18 | 显示全部楼层
这个方法也可以用到http代理服务器吗?我也是单位内网,跟楼主情况有点像
 楼主| 发表于 2014-3-21 13:20 | 显示全部楼层
guohao1118 发表于 2014-3-21 13:18
这个方法也可以用到http代理服务器吗?我也是单位内网,跟楼主情况有点像

http代理也可以,但是只能代理http请求,只有80端口能通

socks5代理是全部协议都可以穿透,所有端口都可以代理
发表于 2014-3-21 14:07 | 显示全部楼层
SZPUNK 发表于 2014-3-21 14:03
路由器本身:

iptables -t nat -A OUTPUT 1 -p tcp  -j REDSOCKS

# iptables -t nat -A OUTPUT 1 -p tcp  -j REDSOCKS
Bad argument `1'
Try `iptables -h' or 'iptables --help' for more information.


iptables 版本是 v1.4.10
发表于 2014-3-21 14:15 | 显示全部楼层
muziling 发表于 2014-3-21 14:07
# iptables -t nat -A OUTPUT 1 -p tcp  -j REDSOCKS
Bad argument `1'
Try `iptables -h' or 'iptable ...

去掉 1 试试。
发表于 2014-3-21 14:27 | 显示全部楼层

好像不行,加了, 随便wget一个东西,都是connection refused

# wget http://www.baiud.com
Connecting to www.baiud.com (216.218.207.151:80)
wget: can't connect to remote host (216.218.207.151): Connection refused
发表于 2014-3-21 14:42 | 显示全部楼层
muziling 发表于 2014-3-21 14:27
好像不行,加了, 随便wget一个东西,都是connection refused

# wget http://www.baiud.com
  1. root@rt-n16:/tmp/home/root# iptables -t nat -A OUTPUT -p tcp -j SHADOWSOCKS
  2. root@rt-n16:/tmp/home/root# wget <a target="_blank" href="http://www.baiud.com">http://www.baiud.com</a>
  3. Connecting to <a target="_blank" href="http://www.baiud.com">www.baiud.com</a> (216.218.207.151:80)
  4. wget: server returned error: HTTP/1.1 403 Forbidden
  5. root@rt-n16:/tmp/home/root# wget <a target="_blank" href="http://www.baidu.com">http://www.baidu.com</a>
  6. Connecting to <a target="_blank" href="http://www.baidu.com">www.baidu.com</a> (111.13.100.91:80)
  7. Connecting to <a target="_blank" href="http://www.baidu.com">www.baidu.com</a> (111.13.100.92:80)
  8. index.html           100% |*********************************************************************************************************************************| 16428   0:00:00 ETA
  9. root@rt-n16:/tmp/home/root#
复制代码

你那个地址有问题吧。。。。
发表于 2014-3-21 14:53 | 显示全部楼层
本帖最后由 muziling 于 2014-3-21 15:00 编辑
SZPUNK 发表于 2014-3-21 14:42
你那个地址有问题吧。。。。

好奇怪,我的就是不行, 你的iptabes规则列表是什么

[root@wins2012:/tmp]# iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
[root@wins2012:/tmp]# wget http://www.baidu.com
Connecting to www.baidu.com (115.239.210.27:80)
wget: can't connect to remote host (115.239.210.27): Connection refused
[root@wins2012:/tmp]# wget http://www.qq.com
Connecting to www.qq.com (14.17.32.211:80)
wget: can't connect to remote host (14.17.32.211): Connection refused





发表于 2014-3-21 14:56 | 显示全部楼层
  1. root@rt-n16:/tmp/home/root# wgetpro --no-check-certificate https://twitter.com
  2. --2014-03-21 14:55:26--  https://twitter.com/
  3. Resolving twitter.com... 199.59.149.230, 199.59.150.39, 199.59.149.198
  4. Connecting to twitter.com|199.59.149.230|:443... connected.
  5. WARNING: cannot verify twitter.com's certificate, issued by '/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)06/CN=VeriSign Class 3 Extended Validation SSL CA':
  6.   Unable to locally verify the issuer's authority.
  7. HTTP request sent, awaiting response... 200 OK
  8. Length: 42596 (42K) [text/html]
  9. Saving to: 'index.html'

  10. 100%[========================================================================================================================================>] 42,596      67.8KB/s   in 0.6s   

  11. 2014-03-21 14:55:27 (67.8 KB/s) - 'index.html' saved [42596/42596]

  12. root@rt-n16:/tmp/home/root# cat index.html | grep \<title
  13.       <title>Twitter</title>
  14. root@rt-n16:/tmp/home/root#
复制代码

twitter 也没问题。
发表于 2014-3-21 15:01 | 显示全部楼层
SZPUNK 发表于 2014-3-21 14:56
twitter 也没问题。

我配在redsocks里的代理是192.168的网段,会是这个原因?
发表于 2014-3-21 15:13 | 显示全部楼层
muziling 发表于 2014-3-21 14:53
好奇怪,我的就是不行, 你的iptabes规则列表是什么

[root@wins2012:/tmp]# iptables -t nat -A OUTPU ...
  1. root@rt-n16:/tmp/home/root# iptables -t nat -nvL --line-number
  2. Chain PREROUTING (policy ACCEPT 790 packets, 51114 bytes)
  3. num   pkts bytes target     prot opt in     out     source               destination         
  4. 1        0     0 WANPREROUTING  all  --  *      *       0.0.0.0/0            192.168.8.26        
  5. 2        0     0 DROP       all  --  vlan2  *       0.0.0.0/0            192.168.6.0/24      
  6. 3     3826  204K SHADOWSOCKS  tcp  --  br0    *       192.168.6.0/24       0.0.0.0/0           

  7. Chain POSTROUTING (policy ACCEPT 43 packets, 2897 bytes)
  8. num   pkts bytes target     prot opt in     out     source               destination         
  9. 1     6193  390K MASQUERADE  all  --  *      vlan2   0.0.0.0/0            0.0.0.0/0           
  10. 2       32 10496 SNAT       all  --  *      br0     192.168.6.0/24       192.168.6.0/24      to:192.168.6.1

  11. Chain OUTPUT (policy ACCEPT 70 packets, 5639 bytes)
  12. num   pkts bytes target     prot opt in     out     source               destination         
  13. 1       12   720 SHADOWSOCKS  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           

  14. Chain SHADOWSOCKS (2 references)
  15. num   pkts bytes target     prot opt in     out     source               destination         
  16. 1        0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/8           
  17. 2        0     0 RETURN     all  --  *      *       0.0.0.0/0            10.0.0.0/8         
  18. 3        0     0 RETURN     all  --  *      *       0.0.0.0/0            127.0.0.0/8         
  19. 4        0     0 RETURN     all  --  *      *       0.0.0.0/0            169.254.0.0/16      
  20. 5        0     0 RETURN     all  --  *      *       0.0.0.0/0            172.16.0.0/12      
  21. 6        0     0 RETURN     all  --  *      *       0.0.0.0/0            192.168.0.0/16      
  22. 7        0     0 RETURN     all  --  *      *       0.0.0.0/0            224.0.0.0/4         
  23. 8        0     0 RETURN     all  --  *      *       0.0.0.0/0            240.0.0.0/4         
  24. 9        4   240 RETURN     all  --  *      *       0.0.0.0/0            192.241.229.231     
  25. 10      58  3048 REDIRECT   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           set gfwlist dst redir ports 7272

  26. Chain WANPREROUTING (1 references)
  27. num   pkts bytes target     prot opt in     out     source               destination         
  28. 1        0     0 DNAT       icmp --  *      *       0.0.0.0/0            0.0.0.0/0           to:192.168.6.1
  29. root@rt-n16:/tmp/home/root#
复制代码
 楼主| 发表于 2014-3-22 10:43 来自手机 | 显示全部楼层
试了很多次对OUTPUT数据进行转发,都没有成功让OP自身走redsocks

点评

redsocks的local_ip = 192.168.1.1要改成0.0.0.0  详情 回复 发表于 2015-7-5 15:25
发表于 2014-4-30 08:01 | 显示全部楼层
求教楼主如何设置3G网卡的代理,如何让cmwap联网后通过路由器自个运算代理规则后给手机或PC直接使用(主因wap受限制不能上网了)
发表于 2014-12-9 00:01 | 显示全部楼层
想学编译,但是没地方学
发表于 2014-12-22 16:40 | 显示全部楼层
大大,使用了你的方法,很好用,但是遇到一个问题,运行redsocks2以及用iptables劫持流量后,DHCP没法获取地址了,是不是要把DHCP的包给排除掉呢。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛 ( 苏ICP备05084872号-1  

GMT+8, 2017-1-23 20:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表