小米路由器mini如何自动翻墙

自从发现Pandorabox在r355版在固件中整合了ss,redsocks2和ChinaDNS-C,省下了不少事儿。

有同学反应r355-20150114被移除,刚好站长这有存货,文中有百度网盘下载

本教程同样适用于其他openwrt系统

您可能根据一下关键词找到此文章:

  • pandorabox openwrt 安装redsocks2
  • 翻墙路由器
  • 路由器翻墙教程
  • pandorabox openwrt 路由器翻墙
  • 小米路由器翻墙 教程
  • 打造自动翻墙的路由器
  • 设置路由器翻墙

 

第一、重要更新

刷完系统后配置好chinadns后,将wan6接口的协议切换成6to4协议,保存后可直连 ipv6.google.com,貌似DNS污染也一并解决了,但是不知为何直连速度不快,不如走SS。

第二、准备工作

ss帐号

ss是目前扶墙利器,原理是通过一台自由的服务器做sock5代理,将你的请求都转发到服务器,服务器会把你需要的内容加密返回给你,安全又稳定。本站提供稳定高速的虚幻帐号

智能路由器

随着小米路由器的发布,想要入手一个入门的智能路由器(能刷openwrt、dd-wrt等基于Linux可定制系统),就很方便快捷了。而且刷机简单,机器性价比也不错。此文不仅适用于小米路由器,还有很多路由器都可以参考此文,如百度的newifi、极路由等。

刷机

小米路由器如何刷机请参考小米路由器刷潘多拉固件教程潘多拉固件下载地址,等开启了路由器SSH权限后我们就可以开始刷机了!

有些固件版本你可能找不到了,站长这儿还有存货。链接: 链接:http://pan.baidu.com/s/1gfIz1j9 密码: jxj9

刷机注意

注意千万不能用官方的刷机方法,把PandoraBox重命名为xxx.bin,然后插U盘刷机,刷完你会哭的。
正确的步骤是官方固件开启ssh后使用命令刷机

最后就是刷机了,刷机的命令在下面,其中/tmp/PandoraBox-ralink-xiaomi-mini-r327-20141226.bin是刷机包的文件名。

mtd -r write /tmp/PandoraBox-ralink-xiaomi-mini-r327-20141226.bin firmware 
# 有同学反应以上命令无法刷机,如果出现类似情况,请使用以下命令刷 
mtd -r write /tmp/PandoraBox-ralink-xiaomi-mini-r327-20141226.bin OS1

第三、科学上网配置

刷完机器的路由器就有以下技能,不过技能可能随着你刷的版本而变,目前(20150526)还是建议刷稳定版(stable),版本号r512。

mi1

其中shadowsocks负责代理,是搬运工;
ChinaDNS负责解析域名,防止DNS污染,功夫网最近升级,目测ChinaDNS工作起来不太稳定;
最后的redsocks2负责判断线路是否正常,否则走代理访问,即自动翻墙,redsocks2是目前比较只能的扶墙工具,但是缺点也很明显,你会感到明显的网络延迟,不推荐玩游戏等对延迟有高要求的用户使用。

废话真多,赶紧进入正题吧!

opkg源

opkg类似centos的yum,Ubuntu的apt-get,我们用它安装编译好的软件,省时省力。

配置opkg这一步需要十分重要,后续的很多操作都依赖此项,针对小米或同种类的CPUMTK MT7620A,我们可以在pandorabox的后台位于 系统->软件包->配置。

配置方法可以参考小米路由器mini-配置opkg

配置好opkg后可以点击刷新列表来更新软件列表,也可以在后台运行命令 opkg update

注意,更新完毕后一定解决的问题——-安装libc。否则会遇到类似下面的错误!

satisfy_dependencies_for: Cannot satisfy the following dependencies for redsocks2:libc * libc *

配置shadowsocks客户端

下面我们主要将客户端的配置

当您购买虚幻帐号后,我们能够得到以下配置:

  1. ip->服务器IP地址
  2. prot->服务器开放的端口号
  3. 密码->服务器验证密码
  4. method->加密方式

有了以上信息,我们可以开始基本配置,如下图:

mi3

下面我们开启本地sock5代理,以供测试配置是否生效,设置如下图:

mi4

这两步配置相当于运行了以下命令(ss-local是客户端的命令行工具)

/usr/bin/ss-local -s 11.11.11.11 -p 12345 -l 1080 -m des-cfb -k passwd -u -f /var/run/ss-local.pid

最重要的一步在此,请注意

透明代理如何配置?

透明代理即默认将所有数据请求都转发给ss完成,然而这样做会浪费流量,所以我们开启IP白名单(white list),IP白名单中全是中国的IP,在白名单中的IP不会转发至代理服务器,保证了访问速度,节省了流量,并基本实现了自动翻墙。

此方法的缺点是不够只能,IP白名单需要经常升级。

此配置的难点是如何获取国内IP段,我们使用如下简单的技巧可以获取最新的国内IP段。

ps.IP白名单利用了dnsmasq中的ipset

# 从ftp中获取中国IP段 
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)) }' > /etc/chinadns_chnroute.txt

以上的命令会把数据保存在/etc/chinadns_chnroute.txt中,而ChinaDNS-C的菜单中会读取这一文本,所以我们只要移步至ChinaDNS-C菜单并拷贝ChinaDNS-C里的信息至shadowsocks透明代理的IP白名单中即可!如果没有luci界面的同学可以使用scp命令将/etc/chinadns_chnroute.txt导出再复制粘贴。

最终的配置如下图:

mi5

ChinaDNS

ChinaDNS需要指定国内IP和污染IP段,需要使用脚本定期更新维护,否则可能会出现解析异常。

通过后台执行ps|grep chinadns,找到chinadns使用的资源文件。

chinadns -l /etc/chinadns_iplist.txt -c /etc/chinadns_chnroute.txt -d -p 1053 -s 114.114.114.114,8.8.8.8

下面是更新命令,可以作为计划任务运行,计划任务位于 系统 ---> 计划任务

# 安装
curl opkg install curl 

# 手动更新 
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)) }' > /etc/chinadns_chnroute.txt 

# 自动更新 
# 每天凌晨4点更新文件,注意文件路径 
* 4 * * * 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)) }' > /etc/chinadns_chnroute.txt

 

mi6

更高级的配置可以参考OpenWrt-dist的Wiki里面的DNS篇。

站长的设置

mi7

redsock2

更多redsocks2的配置可以参考小米路由器mini-redsocks2的配置

前面的配置基本能够满足自动翻墙的需要了,但是使用ss白名单的不好之处就是国内IP需要定时更新,否则可能造成由于IP判断错误而打不开网页的情况,那么如果我很懒,不想经常去更新IP表,有什么更好的解决方案吗?

答案是有的。

redsocks2实现了自动翻墙,原理是先由iptables转发所有tcp请求至预先设定的端口,然后程序会尝试访问目标,如果在指定的时间内服务器有反应,那么就继续完成请求,否则让此次请求走代理线路,所以需要ss的配合。

由于有些版本的固件移除了redsocks2,我们需要把他找回来,以下是找回的方法:

# 安装redsocks2 
opkg install redsocks2 

# 安装redsocks2后台luci菜单 
cd /tmp 
# wget 如果404,请移步 http://sourceforge.net/projects/openwrt-dist/files/luci-app/redsocks2/ 自己下载ipk,然后安装 
wget http://iweb.dl.sourceforge.net/project/openwrt-dist/luci-app/redsocks2/luci-app-redsocks2_1.3.0-1_all.ipk 
opkg install luci-app-redsocks2_1.3.0-1_all.ipk

redsocks2运行后会修改系统的防火墙。

mi8

图片说明:所有非内网的tcp流量都转发至1081端口,当然,这些工作都是后台自动完成的。

redsock2的具体配置说明如下图,当然你还可以参考小米路由器mini-redsocks2的配置

mi9

效果图如下,不需要在手机上做任何设置

mi10

第四、 更好的方案

shadowsocks-libev-spec是shadowsocks-libev针对openwrt的优化版本,其中UDP转发可以彻底解决DNS污染问题,自动翻墙的配置更加简单,只需要配置好shadowsocks-libev-spec就可以实现!

请参考下面的链接

小米路由器mini-安装shadowsocks-libev-spec

第五、 远程访问

小米论坛有一篇讲开启8080端口的教程,玩转路由:开启Lamp,用小米路由器抢建你的私人博客

其中最重要的就是这个:

vi /etc/config/firewall

# ADD
config rule 'httpdwan'
option src 'wan'
option dest_port '8088'
option proto 'tcp'
option target 'ACCEPT'
option name ''\''httpd wan accept tcp port 8088'\'''

这样就开启了8080,配合DDNS就可以完美远程管理路由器了

第六、 常见问题解答

安装某个软件时总是提示类似libc libgcc找不到?

请参考 小米路由器mini-配置opkg 文末。

我的界面怎么和你的不一样?

系统 – 语言和界面 – 主题 改成 Bookstrap,默认的是Luci

新版固件内核不兼容?还是换回稳定版吧。

r858
Linux PandoraBox 3.14.42 #1 Sun May 17 20:39:27 CST 2015 mips GNU/Linux

r820
Linux PandoraBox 3.14.40 #1 Wed May 13 20:38:46 CST 2015 mips GNU/Linux

r512
Linux PandoraBox 3.10.70 #15 Mon Mar 9 19:33:59 CST 2015 mips GNU/Linux

第七、部分资源更新

  • 潘多拉小米mini版已升级到stable,推荐更新。下载地址:

http://downloads.openwrt.org.cn/PandoraBox/Xiaomi-Mini-R1CM/stable/

 

  • 补充被删除的固件PandoraBox-ralink-xiaomi-mini-r355-20150114

链接: http://pan.baidu.com/s/1nuKENzV 密码: mxig

 

本文固定链接: http://www.oxox.work/web/experience/mi-mini/ | 虚幻大学

 

 

发表评论

电子邮件地址不会被公开。