找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 31557|回复: 64

hg255d下利用s-s+iptables实现透明代理

[复制链接]
最近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








评分

参与人数 2恩山币 +2 收起 理由
ant*** + 1 赞一个,你是我的呕像!
owe*** + 1 赞一个,你是我的呕像!

查看全部评分

其实可以用opendns 208.67.222.222 的443端口查找的

这个怎么配置 能说详细点吗???????
回复

使用道具 举报

这样的规则还是不太行啊  有没有好点办法  比如gfwlist.txt 什么得
回复

使用道具 举报

 楼主| | 显示全部楼层
fj2003 发表于 2014-7-29 10:20
其实可以用opendns 208.67.222.222 的443端口查找的

这个怎么配置 能说详细点吗???????

openwrt自带的dnsmasq可以简单的解决dns污染,打开vim打开
/etc/dnsmasq.conf,这是dnsmasq的配置文件,
vim /etc/dnsmasq.conf
按 i 进入编辑模式
在最后粘贴
server=/.google.com/208.67.222.222#443
~~~~(我上面写的)
最后按 “esc”  “:wq”保存文件
./etc/init.d/dnsmasq restart (重启dnsmasq)

回复

使用道具 举报

 楼主| | 显示全部楼层
anyangbbs 发表于 2014-7-29 10:29
这样的规则还是不太行啊  有没有好点办法  比如gfwlist.txt 什么得

我主要上的就是google,youtube,twitter,其他的你也可以自定义啊,这相对维护起来有点麻烦
回复

使用道具 举报

这三大网站能上基本就够了
回复

使用道具 举报

占空间有多大?  703可以用吗?
回复

使用道具 举报

4.配置干净的dns                    
#Google
server=/.google.com/208.67.222.222#443
如果发现有网站被劫持了 按上面的自己添加  这样就解析出正确的ip 添加到下面的ptables -t nat -A SHADOWSOCKS -p tcp -d 173.252.64.0/18 -j REDIRECT --to-ports 1080这个规则就可以让这个ip通过shadowsocks海淘了?

5.用iptables转发指定的流量
只有添加过ip的地址才走shadowsocks  没有添加过的不走shadowsocks是吗?   这样电脑上网所有流量除了自己添加的ip外都在天朝?  想让某个网站海淘自己手动加网站ip?
6.开启透明路由
ss-firewall                这个我用没反应
ss-redir -c /etc/shadowsocks.json




开机自启动好像都没说
回复

使用道具 举报

囧 出事了   配置好了  但是开网页自动海淘了 可是用chrome配合proxyswitchsharp通过1080上网居然没反应了 这是什么情况啊
回复

使用道具 举报

iptables怎么能这样配置,有严重问题
回复

使用道具 举报

北方的狼 发表于 2014-7-29 18:35
iptables怎么能这样配置,有严重问题

??  什么严重问题  我按这个教程 弄好了 但是chrome配合proxyswitchsharp通过192.168.1.1 1080  什么网站也打不开了
回复

使用道具 举报

xk858122176 发表于 2014-7-29 18:51
??  什么严重问题  我按这个教程 弄好了 但是chrome配合proxyswitchsharp通过192.168.1.1 1080  什么网站 ...

看这个:
http://www.shuyz.com/install-sha ... and-config-nat.html
回复

使用道具 举报

 楼主| | 显示全部楼层
xk858122176 发表于 2014-7-29 12:03
占空间有多大?  703可以用吗?

703可以啊,ar71**系列的都可以的
回复

使用道具 举报

 楼主| | 显示全部楼层
xk858122176 发表于 2014-7-29 18:51
??  什么严重问题  我按这个教程 弄好了 但是chrome配合proxyswitchsharp通过192.168.1.1 1080  什么网站 ...

proxyswitcysharp只是测试下ss能不能用,chrome的话直接连接,不用代理了
回复

使用道具 举报

waltcow 发表于 2014-7-29 19:29
proxyswitcysharp只是测试下ss能不能用,chrome的话直接连接,不用代理了

我想不通过proxyswitchsharp的 时候是自动海淘     选择192.168.1.1 1080是全局
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-14 16:31

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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