|
楼主被BUFFALO G450H的DD-WRT折磨了三年,实在是对这个品牌和DD都厌倦了,而6300V2这款保有量比较高的路由由于外型、性价比也是一直在持续观注,正好上个月看到专用版tomato固件推出的消息,恰逢京东大促就赶紧入手一台
楼主平时的网络应用来说,玩PS4联机踢FIFA被丢包和掉线也是满恶心的,另外因为本身也比较关注MMD,有比较多的NICO等日站需求,所以对翻wall还是有比较大的需求。于是这几天就开始了新一番折磨的折腾之旅
6300v2这款路由其实也满尴尬的,因为之前长期只有DD一款第三方固件可用,网上的教程和插件基本都是针对DD的,而tomato的arm版也是一个比较新的东西,作为一个完全没有linux基础、网络设备基本纯靠webadmin操作的新手,在这个折腾过程中只能靠一篇篇不太匹配的教程东拼西凑一点点加,期间苦乐不足为道
言归正传,下面开始说整个流程
一、首先要把6300v2刷成TOMATO
1、如果已经是DD,需要先刷回官方固件,直接从DD刷的风险比较大
2、回到原生固件后,先刷tomato-R6300v2-initial.chk,再刷tomato-R6300v2-ARM--1XX-AIO-64K.trx才可以用
3、以上提到的固件在这里:
http://tomato.groov.pl/download/K26ARM/
二、路由器设置能正常上网后,刷entware,这是个软件库,要通过他来装s-s
1、首先开启JFFS,这是路由器上可存储的空间
进入Administration>JFFS菜单
勾上Enable,初次开的话右边的Free Size是显示不了的,要先按一下Format/Erase,这时候会提示等待60秒左右
等完60秒可能也格式化不成功,先别急,点页面最下方的Save保存
然后左下角点Reboot,路由重启。漫长的等待
完全重启完以后,回到JFFS页,Free Size应该有读数了,开始下一步
2、这时候我们要用到两个软件,WinSCP和Putty,百度这两个文件名都有下载
WinSCP类似一个FTP软件,操作基本都差不多,但是文件协议支持SCP方式,这里主机名和端口路由默认,用户名root,密码是你的路由器管理员登录密码
在/jffs目录下建立一个opt文件夹
回到路由器的WEB页面,在Administration>Admin Access菜单下页面底部有一个这个选项,勾上SSH
然后是putty的服务器地址和端口设置,连接方式选SSH,开始连接
登录名和密码仍然是root和管理员密码
登录后就是Linux的命令行了,以下是代码时间:
- mount -o bind /jffs/opt /opt
复制代码
作用是将路由器原有的/opt和你刚才建的/jffs/opt文件夹绑定,因为原有的opt属性只读……
切到opt目录 - wget http://qnapware.zyxmon.org/binaries-armv7/installer/entware_install_arm.sh
复制代码
- sh ./entware_install_arm.sh
复制代码
这两行一行一行复制输入,开始装entware,过程无操作,等待即可
注意全部装完是这样的,如果中途断点一直没动作,就可能需要重启路由甚至重新格式化JFFS重复之前的动作
3、装完entware输入
开始装s-s插件了
4、
WinSCP下到/jffs/opt/etc修改s-s.json文件,把你的s-s服务器、端口、本地端口、密码、加密方式等等输进去然后保存,别问我从哪搞这些东西……
5、如果你跟着这贴走下来的,这时候的文件路径应该都跟我的一样
- /opt/bin/ss-redir -c /opt/etc/s-s.json -f /var/run/ss-redir.pid
复制代码
启动ss-redir,这时候路由器应该就成功启用透明代理了。但是你现在还翻不出去,要设置iptable
6、iptable的原理就是根据你设置的规则把允许的域名或者IP通过代理访问
先设一段外网全部海淘的规则
iptables -t nat -N s-s # 在 nat 表中创建新链 iptables -t nat -A s-s -p tcp --dport 23596 -j RETURN # 23596 是 ss 代理服务器的端口,即远程 s-s 服务器提供服务的端口,如果你有多个 ip 可用,但端口一致,就设置这个
iptables -t nat -A s-s -d 123.456.789.111 -j RETURN # 123.456.789.111 是 ss 代理服务器的 ip, 如果你只有一个 ss服务器的 ip,却能选择不同端口,就设置此条
iptables -t nat -A s-s -d 0.0.0.0/8 -j RETURN iptables -t nat -A s-s -d 10.0.0.0/8 -j RETURN iptables -t nat -A s-s -d 127.0.0.0/8 -j RETURN iptables -t nat -A s-s -d 169.254.0.0/16 -j RETURN iptables -t nat -A s-s -d 172.16.0.0/12 -j RETURN iptables -t nat -A s-s -d 192.168.0.0/16 -j RETURN iptables -t nat -A s-s -d 224.0.0.0/4 -j RETURN iptables -t nat -A s-s -d 240.0.0.0/4 -j RETURN iptables -t nat -A s-s -p tcp -j REDIRECT --to-ports 7777 # 7777 是 ss-redir 的监听端口,ss-local 和 ss-redir 的监听端口不同,配置文件不同 iptables -t nat -I PREROUTING -p tcp -j s-s # 在 PREROUTING 链前插入 s-s 链,使其生效
以上规则出处来自于https://gist.github.com/wen-long/8644243 这段可以写在路由器的Administration>Scripts>Firewall里作为防火墙规则保存
以上都生效了后,如果代理没生效,就会出现外网都访问不了的情况,代理生效的话你这时候可以在百度搜一下“我的IP”看看所属地了
三、
1、基本上到这一步就差不多完成了,接着先把绑定和启动ss设置到启动自动执行的脚本里,同样是Administration>Scripts,这回是Init
mount -o bind /jffs/opt /opt
/opt/bin/ss-redir -c /opt/etc/s-s.json -f /var/run/ss-redir.pid
2、然后你可以自定义自己需要的IPTABLE转发规则了,网上可以搜到很多,一般分为域名转发和IP转发两种,前者针对你想访问的域名,只有设置了的域名会通过代理,其他直连;后者则相反,设置了的IP直连,其他代理。由于要满足PSN的联机等等各种奇怪的网络环境,我选了后者,用的上面wen-lon那个链接里的过滤规则,他过滤了国内的IP,国外的全部海淘。
3、这时候往往会发现这个规则太长,web页面里的防火墙字数限制不够用了
回到/jffs建一个脚本,我这里叫run.sh
文件头加上#!/bin/sh,下面把规则全复制进来保存
pooty下命令行赋权限
然后执行
你的网络访问就分开了,在百度搜我的IP显示的是你本生的归属地,而海外网站的归属地显示的是你的SS服务器地址
http://www.whatismyip.com/
http://whatismyipaddress.com/
4、可以海淘了,但是有的网站好像不太对,u2b啊,狗狗啊,推他啊,好像跟大家说的不一样诶
这个就是大家说的DNS污染,你的DNS被运营商劫持了。 基本处理方法可以用Advanced>DHCP/DNS菜单下,设置DNSMASQ专门针对这些域名转其他DNS server=/.google.com/208.67.220.220#443 server=/.google.com.hk/208.67.220.220#443 server=/.gstatic.com/208.67.220.220#443 server=/.ggpht.com/208.67.220.220#443 server=/.googleusercontent.com/208.67.220.220#443 server=/.appspot.com/208.67.220.220#443 server=/.googlecode.com/208.67.220.220#443 server=/.googleapis.com/208.67.220.220#443 server=/.gmail.com/208.67.220.220#443 server=/.google-analytics.com/208.67.220.220#443 server=/.youtube.com/208.67.220.220#443 server=/.googlevideo.com/208.67.220.220#443 server=/.youtube-nocookie.com/208.67.220.220#443 server=/.ytimg.com/208.67.220.220#443 server=/.blogspot.com/208.67.220.220#443 server=/.blogger.com/208.67.220.220#443 server=/.facebook.com/208.67.220.220#443 server=/.thefacebook.com/208.67.220.220#443 server=/.facebook.net/208.67.220.220#443 server=/.fbcdn.net/208.67.220.220#443 server=/.akamaihd.net/208.67.220.220#443 server=/.twitter.com/208.67.220.220#443 server=/.t.co/208.67.220.220#443 server=/.bitly.com/208.67.220.220#443 server=/.twimg.com/208.67.220.220#443 server=/.tinypic.com/208.67.220.220#443 server=/.yfrog.com/208.67.220.220#443 server=/.github.com/208.67.220.220#443
域名不用写www,后面的IP是DNS地址,我这里用的好像是OpenDNS,你可以换别的比如著名的8888、8844什么的,如果不行就再做些别的操作,网上针对DNS污染的解决方法还是比较多的,我因为到这里就能满足,就没继续深挖了。总体而言电信还没有某些运营商那么夸张。
5、因为是使用IPTABLE转发规则,不想用代理了也很简单
清空整个链,回到海外站看看你的ip回来没?好,现在可以挂BT了
最终、
基本写到这里就完了,这一路下来运气好你应该已经翻成功了,没翻过去也应该大概对整个流程有一定认识了,再针对自己的问题补补别的课吧,本人是个只有3天经验的菜鸟,更复杂的使用环境和技术经验完全没接触过,所以也没法给你更多的建议。
作为一个菜鸟,这几天就是在各种不同的教程里东拼西凑,这个过程里总体的感觉就是
1、ASUS的Merlin固件真方便啊
2、OpenWRT的插件真多啊
3、网件真他妈垃圾啊
最后我还有个问题,iptable搞的太长了,路由器的scripts自动启动都没法执行,每次重启路由都要pooty再执行下脚本也比较麻烦,有没什么更聪明的方法?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|