华硕网络产品技术交流平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

查看: 58678|回复: 10

[教程] Asuswrt-merlin固件entware-arm环境SS番茄教程(基本完工,持续...

 关闭 [复制链接]

1

主题

25

回帖

135

积分

注册会员

Rank: 2

积分
135
发表于 2015-3-11 12:51:20 | 显示全部楼层 |阅读模式
本帖最后由 sseepsse 于 2015-3-11 18:13 编辑

  目的:造福坛友,华硕梅林固件使用SS番茄,实现路由器内终端无需任何操作直接翻(实际就是路由器运行ss-redir实现转发。。。)
  优势:终端无需运行客户端,手动指定需转发的网站,非墙网站直接连接,相对更快(我的Nexus10安装的ss客户端后开网站很慢,现在快多了);
  劣势:需手动维护墙网站(更好的方法是同步gfwlist,没能力研究,我经常去的网站也不多),强迫症患者可能还需手动维护DNS服务器,因为用的opendns对国内网站可能支持不好;
  基本原理:通过DNSCrypt负责解析网站ip,dnsmasq设置那些需要走SS;     

  ps1:有心思的人看到这里应该能知道咋弄了,其实网上已经有ac68u能用的ss文件,参照那个帖子我自己也编译出来了,Asus的arm系列路由器的梅林固件都可以用,但是除了翻还有个DNS解析问题没解决,不能愉快的 翻,所以我就测试了下没常用,直到entware-arm被支持,因为github上说支持dnscrypt需要entware环境,其实还有一个dns解析的东西ChinaDNS(也是弄SS的大大们),用这个解析ip更棒,但是当时懒没继续折腾了;
  ps2:ac66u之类的安装entware,其他基本一样;
  感谢:RMerl(折腾梅林固件的大大),zyxmon(折腾entware-arm的大大)。。。。。(不完整,持续补充,也可以联系我补充)操作步骤:
1.前提:1.1.刷入最新的梅林固件(建议最好清空下nvram,特别是低版本直接刷上来的),开启 "Enable JFFS Partition", "Enable JFFS custom scripts and configs"和"Enable SSH",telnet自己看需求;
     1.2.U盘为ext2,ext3或ext4格式已经可用;(自行百度吧,我是在远程迅雷的坛子里看来的。。)

2.第一步:安装entware-arm环境(ac66之类的安装entware环境),不多说直接看网站:https://www.asuswrt.eu/how-to-install-entware-arm/,到第六步其实就完成了,第七步是安装nano,第八步是虚拟内存(ac56u,256m的内存,完全够了);
3.第二步:安装DNScrypt;(上一步上面说到的“After reboot, connect to router with putty terminal and type”,其实就是用putty控制台进入路由器后台操作,telnet路由器应该也行,建议配套搭配WinSCP使用)putty 进入路由器后台,输入/opt回车,然后 opkg install dnscrypt-proxy hostip,完整看梅林固件的github说明'https://github.com/RMerl/asuswrt-merlin/wiki/Secure-DNS-queries-using-DNSCrypt至此dns污染的问题搞定了,优化设置看下文;      

注意:此步骤里面第5步是在/JFFS/scripts/文件夹创建一个名为wan-start的文件,把内容复制进去后,第6步是授权;英文不好的同学借助翻译吧;
4.第三步,安装SS-libev及设置;
4.1.putty控制台输入 opkg install SS-libev安装ss(完整的软件源‘qnapware.zyxmon.org/binaries-armv7/Packages.html’,也可先下载在安装);
4.2.设置ss; 建议winscp进入 /mnt/sda?/entware.arm/etc/init.d(sda?是自己挂载的U盘盘符),点开S22shaodowsock文件编辑,
       将"PROCS=ss-local"修改为"PROCS=ss-redir"(我们要运行ss-redir转发),
       将 ARGS="-c /opt/etc/SS.json" 修改为 ARGS="-b 0.0.0.0 -c /opt/etc/SS.json"(SS-libev源码默认不读取配置文件里面的本地ip,估计是怕小白弄错,但是我们在路由器上运行需手动指定到0.0.0.0,不然无效);
       将/opt/etc里面,也就是/mnt/sda?/entware.arm/etc(entware设定了连接,/opt等效/mnt/sda?/entware.arm)里面的SS.json填写你自己的ss账号密码;
  设定好后重启路由器后ss-redir应该就运行了,但是要能翻还要下一步设置,手动指定我们需要的网站通过SS走,没指定的就直接连接;
5.第四步:设定iptables转发;参考’http://hong.im/2014/03/16/configure-an-openwrt-based-router-to-use-SS-and-redirect-foreign-traffic/‘      这一步是从上面的网站学的,梅林固件支持iptables,在/jffs/scripts文件夹建立nat-start文件,将上面网站 “用iptables对流量进行重定向”那段开始下面的内容可以复制到我们建立的nat-start 文件,
记得授权 chmod +rx /jffs/scripts/nat-start,
然后编辑/jffs/srcipts下的services-start文件(应该有的,没有就自己创建,会玩梅林的肯定知道,这个是设置自启动文件),添加/jffs/scripts/nat-start内容,设定自启动----------------------------------------------------------------------------------------
#!/bin/sh
#create a new chain named SHADOWSOCKS
iptables -t nat -N SHADOWSOCKS


#Redirect what you want


#Google
iptables -t nat -A SHADOWSOCKS -p tcp -d 74.125.0.0/16 -j REDIRECT --to-ports 1080
iptables -t nat -A SHADOWSOCKS -p tcp -d 173.194.0.0/16 -j REDIRECT --to-ports 1080


#Youtube
iptables -t nat -A SHADOWSOCKS -p tcp -d 208.117.224.0/19 -j REDIRECT --to-ports 1080
iptables -t nat -A SHADOWSOCKS -p tcp -d 209.85.128.0/17 -j REDIRECT --to-ports 1080


#Twitter
iptables -t nat -A SHADOWSOCKS -p tcp -d 199.59.148.0/22 -j REDIRECT --to-ports 1080


#SS.org
iptables -t nat -A SHADOWSOCKS -p tcp -d 199.27.76.133/32 -j REDIRECT --to-ports 1080


#1024
iptables -t nat -A SHADOWSOCKS -p tcp -d 184.154.128.246/32 -j REDIRECT --to-ports 1080


#Anything else should be ignore
iptables -t nat -A SHADOWSOCKS -p tcp -j RETURN


# Apply the rules
iptables -t nat -A PREROUTING -p tcp -j SHADOWSOCKS
--------------------------------------------------------------------------------------
这个内容你可以自己添加,上文我们安装了dnscrypt解决dns污染后,就可以直接putty里面nslookup 你要的网站获取ip,然后手动在上面的文件内添加即可;
比如要添加github.com,可以 控制台输入 nslookup github.com,返回ip后可以去
http://wq.apnic.net/apnic-bin/whois.pl 查找这个网站的ip段,然后在nat-start定义的忽略之前添加
#github 标记网站
iptables -t nat -A SHADOWSOCKS -p tcp -d 获取的ip -j REDIRECT --to-ports 1080



注意:这个表的内容 --to-ports 1080 这个1080是默认ss的端口,也就是你/etc/SS.json的本地端口,如果有修改要一致,我自己就是不能运行1080端口改为其他的,相应的nat-start里面的也要改,不然转发不了的;
    如果有新添加要重启路由器才生效,或者手动运行./jffs/scripts/nat-start生效


到这里如果你的SS账号没问题的话,应该是能上google了的。。。
----------------------------------------------------------------------------------------------------------------------------------------------

优化DNS,加快解析:
前面说到用opendns的DNScrypt方案有点不好,就是都提交给opendns解析,可能对国内网站支持不好,没有CDN加速之类的,实测确实有差异,主要体现在输入网站回车一瞬间,差异不大;
其实我们也只需要对墙的网站进行解析,非墙的网站其实运营商自带的dns或者公共dns,比如223.5.5.5(阿里的),114.114.114.114都可以,在iptable的时候那个网站也说了DNSmasq的事情,这样我们就有2个方法,要么指定墙的网站走opendns,其他用默认的,要么设定指定网站用指定dns,其他都走opendns,这个就看自己了呗,我懒得折腾了,就默认走opendns,cn后缀的网站,淘宝,百度,qq,微博几个走223.5.5.5,其他无所谓就opendns了。。
设置方法:merlin默认支持dnsmasq,在安装DNScrypt的时候会在/jffs/script/安装一个dnsmasq.conf.add文件 使用说明参照 https://github.com/RMerl/asuswrt-merlin/wiki/Custom-config-files
编辑dnsmasq.conf.add文件,里面应该有一个no-resolv和一个server=127.0.0.1#65053(安装dnscrypt时设置的),
no-resolv大意是不使用拨号时获得的dns,server=127.0.0.1#65053大意是使用用这个dns做dns解析
那我们自己可以添加,比如我设定淘宝走223.5.5.5解析,就是
no-resolv
server=127.0.0.1#65053
server=/.taobao.com/223.5.5.5
那些是想要自己设定dns的自己加吧,我这个方案麻烦就是这里,手动多,chinadns的设定就比这个高级多了,我也搞定了entware-arm的编译环境,同步了chinadns的源码尝试修改编译了出来,没测试,嘿嘿,反正能用就将就吧;;;;






待续,抽空再继续,图片的话得晚上回去........

















微信扫一扫,阅读更方便^_^

16

主题

3040

回帖

7720

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7720

RT-AC68URT-AC86UGT-AC5300

发表于 2015-3-11 17:12:25 | 显示全部楼层
顶一个
回复

使用道具 举报

0

主题

7

回帖

21

积分

新手上路

Rank: 1

积分
21
发表于 2015-3-11 17:32:05 | 显示全部楼层
支持支持!!!帮你转帖

1

主题

5

回帖

26

积分

新手上路

Rank: 1

积分
26
发表于 2015-3-13 18:16:29 | 显示全部楼层
马克一个~等楼主更新完了再弄~哈哈

1

主题

30

回帖

141

积分

注册会员

Rank: 2

积分
141
发表于 2015-3-25 14:08:50 | 显示全部楼层
非常激动中,感谢楼主的奉献精神,AC66U一直刷TOMATO使用DNSCRYPT-PROXY功能。现在有Merlin应当是稳定之选了

1

主题

25

回帖

135

积分

注册会员

Rank: 2

积分
135
 楼主| 发表于 2015-3-26 15:33:15 | 显示全部楼层
topkings 发表于 2015-3-25 14:08
非常激动中,感谢楼主的奉献精神,AC66U一直刷TOMATO使用DNSCRYPT-PROXY功能。现在有Merlin应当是稳定之选 ...

https://www.asuswrt.eu/how-to-install-entware/

ac66的entware环境早就有啦。。。。

没事多去github看看merlin的wiki和更新,嘿嘿~~

0

主题

27

回帖

61

积分

注册会员

Rank: 2

积分
61
发表于 2015-8-8 15:03:16 | 显示全部楼层
支持支持支持支持

0

主题

4

回帖

16

积分

新手上路

Rank: 1

积分
16
发表于 2015-11-30 13:06:42 | 显示全部楼层
支持支持!!!帮你转帖

4

主题

52

回帖

688

积分

高级会员

Rank: 4

积分
688
发表于 2017-1-21 12:38:35 | 显示全部楼层
先收藏,以后来学习

0

主题

5

回帖

28

积分

新手上路

Rank: 1

积分
28
发表于 2018-6-13 12:32:58 | 显示全部楼层

先收藏,以后来学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回列表 搜索 官方QQ群
×

秒后自动关闭

小黑屋|手机版|Archiver|华硕网络产品技术交流平台 ( 苏ICP备16010857号-1 )苏公网安备 32050502000499号

GMT+8, 2024-4-25 01:15 , Processed in 0.036660 second(s), 37 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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