OpenWRT + Shadowsocks + Redsocks

又是一个翻墙方案,为什么?不是已经有IPSec VPN+Static Routing Table+IProute2了么?

原因是因为爱折腾?当然这必须是一部分,但是实际上还是有一些小小的需求驱动的:

1. IPsec VPN在链路带宽满载的时候(100M迅雷下载神马的),貌似会有CPU过高的情况(不过这个明显跟路由器的CPU性能相关,RT-AC68U快点降价吧…)

2. 如果用了IPsec VPN,则路由器自身生成的数据包在回送到互联网的时候只能走IPsec tunnel而不能走非加密的通道(还是其实是可以的?),结果是互联网过来的SSH或者其他封包转发的应用都没法用,

所以,我们试试Shaowsocks的全局翻墙方案吧,

首先以下的内容跟平台是强相关的,只能在AR71xx方案的OpenWRT上实现,BCM试过一下被恶心的crosscompile环境吓退了,懒得折腾,

 

第一步,当然是装shadowsocks了,

多谢这个世界上总有好心人,我们可以直接用已经build好的ipk.

下载链接在此: http://travis-ci.s3-website-ap-northeast-1.amazonaws.com

直接下载对应AR71xx的文件: shadowsocks-libev_1.3.3-9933435506b1c96e8bfe7a0fc5f305398fd0f62e_ar71xx.ipk

安装

opkg install shadowsocks-libev_1.3.3-9933435506b1c96e8bfe7a0fc5f305398fd0f62e_ar71xx.ipk

然后编辑配置文件 vi /etc/config/shadowsocks.json

{
“server”:”[服务器IP地址]”,
“server_port”:[服务器端口],
“local_port”:[本地端口,稍后redsocks会用到],
“password”:”[密码]”,
“timeout”:600,
“method”:”[加密方式,选择AES可能会有硬件加速,因此使用aes-128-cfb]”
}

最后启用shadowsocks,并配置开机自启

/etc/init.d/shadowsocks start
/etc/init.d/shadowsocks enable

 

第二步, 安装redsocks,

再次多谢好心人,编译好的包神马的最可爱了

原帖在此: http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=120990

为了节省各位时间,另传一份到droplr http://d.pr/f/i9Zd

安装

opkg install redsocks_0.41-a818ff49d2eda468c3cde7a2d0e036eac9f98fc5_ar71xx.ipk

配置文件 vi /etc/redsocks.conf

base {
log_debug = off;
log_info = off;
log = “file:/var/log/redsocks”;
daemon = on;
redirector = iptables;
}

redsocks {
local_ip = 0.0.0.0;
local_port = 12345;
type = autosocks5;
ip = 127.0.0.1;
port = 1080;
}
少不了启用redsocks和开机自启

/etc/init.d/redsocks start
/etc/init.d/redsocks enable

 

第三步.使用iptables配置自动转发规则

//剔除某些完全不想走代理的源IP地址
iptables -t nat -A PREROUTING -i br-lan -s [IP地址] -j RETURN

//将80和443接口的流量转发到redsocks上
iptables -t nat -A PREROUTING -i br-lan -p tcp –dport 80 -j REDIRECT –to-port 12345
iptables -t nat -A PREROUTING -i br-lan -p tcp –dport 443 -j REDIRECT –to-port 12345
如果想每次开机都自动应用以上规则,则将相应规则写入到/etc/rc.local内

One more thing,还要配置避免被墙污染的DNS,午睡后继续…