自从封锁了GMAIL之后,最近我朝开始封锁VPN了,离大局域网指日可待。最近没怎么用VPN没有试试封锁的效果如何,不过对于我朝的GFW我还是很有信心的。之前PC上一直在用goagent科学上网,手机端用fqrouter,也一直相安无事。但在使用fqrouter的过程中发现这货非常占用CPU,而且费电,于是就继续尝试用路由器来翻墙。
之前还是准备用goagent,3800 AR71的CPU带起来也有点吃力,放在cubieboard上做代理,不知为何,PC端的响应速度还是很慢,无法正常使用。最近正好有一个东京的服务器,就拿来开了一个shadowsocks的服务器,openwrt上使用shadowsocks客户端配合chinadns智能翻墙,没有被墙的网站依旧走国内线路,被墙无法访问的网站走东京SS服务器。
服务器端安装shadowsocks很简单:
apt-get install python-pip pip install shadowsocks
使用
ssserver -p 8000 -k password -m rc4-md5 -d start #启动,后台运行
ssserver -p 8000 -k password -m rc4-md5 -d stop #停止
ss server启动了之后,我们可以通过多种客户端连接,诸如windows,linux,Mac os,android,iOS,openwrt等等,比如windows客户端也支持从gfwlist生成PAC智能翻墙。其他平台不多说,接下来说明如何在openwrt上使用ss client。
可以自己编译也可以使用预编译的ipk软件包。多平台下载链接:
http://sourceforge.net/projects/openwrt-dist/files/shadowsocks-libev/
luci-app-shadowsocks(全平台通用):
http://sourceforge.net/projects/openwrt-dist/files/luci-app/shadowsocks-spec/
vim /etc/shadowsocks/config.json
{
"server": "8.8.8.8", #服务器IP
"server_port": 8000, #服务器端口
"local_port": 1080, #本地代理端口
"password": "cubieboard417", #密码
"timeout": 60, #超时
"method": "rc4-md5" #加密方式,需和服务器一致
}
至此shadowsocks的服务端和客户端已经配置完毕。可以使用shadowsocks 客户端或者SwitchOmega连接路由器的1080端口,测试是否工作正常。
新版的shadowsocks已经提供了透明代理的功能,所以不需要redsocks2就可以实现透明代理。在luci界面中,配置如下:


此时,已经可以访问某些国外网站,使用www.ip138.com测试为国内IP,www.whatismyip.com测试为东京IP。但是依然无法打开google,facebook,twitter等网站,应为DNS污染的原因,需要配合chinaDNS。
使用从APNIC(亚太互联网络信息中心)抓取到所有中国的IP,对于多内IP走国内线路,国外IP走国外线路,智能路由流量,官方推荐的做法是将ChinaDNS作为dnsmasq的上游DNS服务器。
下载chinaDNS:
http://sourceforge.net/projects/chinadns/files/dist/
luci-app-chinaDNS:
http://sourceforge.net/projects/openwrt-dist/files/luci-app/chinadns/
配置很简单,在luci界面中,启用双向过滤,上游服务器我设置为223.5.5.5,8.8.4.4,本地端口5353。
vim /etc/dnsmasq.conf 添加如下两行
no-resolv
server=127.0.0.1#5353
重启dnsmasq /etc/init.d/dnsmasq 之后已经可以智能路由了,打开google神马的也毫无压力,访问国内网站走国内线路,国外网站走国外线路。
其实不使用chinaDNS也可以,直接配置dnsmasq,指定一份域名列表,该列表中的域名都是用本地127.0.0.1#5300来请求解析,此处的5300端口即shadowsocks UDP转发监听的本地端口,于是这些DNS请求经过SS服务器最终到达8.8.4.4,再返回正确的请求结果。
mkdir /etc/dnsmasq.d/
vim /etc/dnsmasq.d/gfw.conf
#Google and Youtube
server=/.google.com/127.0.0.1#5300
server=/.google.com.hk/127.0.0.1#5300
server=/.gstatic.com/127.0.0.1#5300
server=/.ggpht.com/127.0.0.1#5300
server=/.googleusercontent.com/127.0.0.1#5300
server=/.appspot.com/127.0.0.1#5300
server=/.googlecode.com/127.0.0.1#5300
server=/.googleapis.com/127.0.0.1#5300
server=/.gmail.com/127.0.0.1#5300
server=/.google-analytics.com/127.0.0.1#5300
server=/.youtube.com/127.0.0.1#5300
server=/.googlevideo.com/127.0.0.1#5300
server=/.youtube-nocookie.com/127.0.0.1#5300
server=/.ytimg.com/127.0.0.1#5300
server=/.blogspot.com/127.0.0.1#5300
server=/.blogger.com/127.0.0.1#5300
#FaceBook
server=/.facebook.com/127.0.0.1#5300
server=/.thefacebook.com/127.0.0.1#5300
server=/.facebook.net/127.0.0.1#5300
server=/.fbcdn.net/127.0.0.1#5300
server=/.akamaihd.net/127.0.0.1#5300
#Twitter
server=/.twitter.com/127.0.0.1#5300
server=/.t.co/127.0.0.1#5300
server=/.bitly.com/127.0.0.1#5300
server=/.twimg.com/127.0.0.1#5300
server=/.tinypic.com/127.0.0.1#5300
server=/.yfrog.com/127.0.0.1#5300
/etc/init.d/dnsmasq #重启dnsmasq,测试可以发现同样可以访问google等网站了,依旧只能选路。
#更新 shadowsocks的ignore.list
wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/shadowsocks/ignore.list
#更新 chinaDNS的chnroute.txt
curl 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | grep ipv4 | grep CN | awk -F\| '{ printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > chnroute.txt
你可能会发现这两份列表是相同的,的确如此,都是从apnic获取的CN IP列表。
shadowsocks的速度还是很快的,东京的VPS也很给力,youtube 4k视频无压力。这样一来路由器上直接翻墙,就省了pc、手机、ipad等设备的设置,还是很方便的。

--
You received this message because you are subscribed to the Google Groups "CLIFFFF" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cliffff+u...@googlegroups.com.
To post to this group, send email to cli...@googlegroups.com.
Visit this group at http://groups.google.com/group/cliffff.
For more options, visit https://groups.google.com/d/optout.