|
最近google挂了,gae也挂了,试了下s-s ,感觉很好,占用少,文件又不大,全平台兼容。
所以跟别人合租了linode日本的vps,ping低,135M的带宽,2T的月流量,对于楼主这种人群已经够用了。
接下来,直接步入正题吧,在路由下如何透明代理
参考自:
在华为HG255D OpenWrt上安装和配置s-s并实现智能流量转发
http://hong.im/2014/07/08/use-ipset-with-s-s-on-openwrt/
1.安装s-s的客户端
固件用的是lintel的PandoraBox-ralink-hg255d-r476-20140708,没集成s-s,所以都要自己安装。s-s的客户端已经有人编译出来
cd /tmp
#下载s-s的data.tar.gz压缩包
wget http://uploads.shuyz.com/openwrt ... c%20dfd/data.tar.gz
#安装(解压文件到指定目录)
gunzip data.tar.gz
tar xvf data.tar -C /
#删除临时文件
rm data.tar
#至此安装完成
#输入ss-local 命令看是否有输出,如果看到帮助信息说明安装成功
2.vim 配置s-s
vi /etc/s-s.json编辑s-s配置文件。
把你主机的端口,密码,ip 按格式填上去就行了
3.启动s-s
ss-local -c /etc/shadowsocls.json
用chrome配合proxyswitchsharp设置下,测试一下能否使用,如果可以就行了,就关了继续下面的透明设置
4.配置干净的dns
国外的很多网站都是被dns投毒的,而透明代理是根据ip判断是否用s-s走出去
看过很多的教程用了pdnsd,dnscry-proxy来解决污染,但占用的资源很多
其实可以用opendns 208.67.222.222 的443端口查找的
修改下dnsmasq的配置文件
vim /etc/dnsmasq.config输入 i (进入编辑模式)
在最后添加以下的查找规则
#Google and Youtube
server=/.google.com/208.67.222.222#443
server=/.google.com.hk/208.67.222.222#443
server=/.gstatic.com/208.67.222.222#443
server=/.ggpht.com/208.67.222.222#443
server=/.googleusercontent.com/208.67.222.222#443
server=/.appspot.com/208.67.222.222#443
server=/.googlecode.com/208.67.222.222#443
server=/.googleapis.com/208.67.222.222#443
server=/.gmail.com/208.67.222.222#443
server=/.google-analytics.com/208.67.222.222#443
server=/.youtube.com/208.67.222.222#443
server=/.googlevideo.com/208.67.222.222#443
server=/.youtube-nocookie.com/208.67.222.222#443
server=/.ytimg.com/208.67.222.222#443
server=/.blogspot.com/208.67.222.222#443
server=/.blogger.com/208.67.222.222#443
#FaceBook
server=/.facebook.com/208.67.222.222#443
server=/.thefacebook.com/208.67.222.222#443
server=/.facebook.net/208.67.222.222#443
server=/.fbcdn.net/208.67.222.222#443
server=/.akamaihd.net/208.67.222.222#443
#Twitter
server=/.twitter.com/208.67.222.222#443
server=/.t.co/208.67.222.222#443
server=/.bitly.com/208.67.222.222#443
server=/.twimg.com/208.67.222.222#443
server=/.tinypic.com/208.67.222.222#443
server=/.yfrog.com/208.67.222.222#443
“esc” +“:wq” 保存文件
./init.d/dnsmasq retsart (重启dnsmasq)
这下域名解析应该正常了,主机使用 dig 或者 nslookup 获取 IP, 测试下,看有没有返回正确的 IP
5.用iptables转发指定的流量
在usr/bin下创建一个ss-firewall 的脚本,vim /usr/bin/ss-firewall
复制以下内容
#!/bin/sh
#create a new chain named s-s
iptables -t nat -N s-s
#Redirect what you want
#Google
iptables -t nat -A s-s -p tcp -d 74.125.0.0/16 -j REDIRECT --to-ports 1080
iptables -t nat -A s-s -p tcp -d 173.194.0.0/16 -j REDIRECT --to-ports 1080
#Youtube
iptables -t nat -A s-s -p tcp -d 208.117.224.0/19 -j REDIRECT --to-ports 1080
iptables -t nat -A s-s -p tcp -d 209.85.128.0/17 -j REDIRECT --to-ports 1080
#Twitter
iptables -t nat -A s-s -p tcp -d 199.59.148.0/22 -j REDIRECT --to-ports 1080
#Anything else should be ignore
iptables -t nat -A s-s -p tcp -j RETURN
# Apply the rules
iptables -t nat -A PREROUTING -p tcp -j s-s
保存,修改下权限 chmod +x /usr/bin/ss-firewall
ps:如果需要添加你自己需要访问的域名很简单。首先使用 dig 或者 nslookup 获取域名对应的正确 IP,然后借助 APNIC 的 IP WHOIS 工具:(http://wq.apnic.net/apnic-bin/whois.pl) 可以轻松的获得大部分 IP 段。以 facebook 为例:
dig 获取的正确 IP 为:173.252.110.27。
通过 APNIC 查询到 173.252.64.0/18 均属于 facebook。则添加
iptables -t nat -A s-s -p tcp -d 173.252.64.0/18 -j REDIRECT --to-ports 1080
6.开启透明路由
ss-firewall
ss-redir -c /etc/s-s.json
|
评分
-
查看全部评分
|