使用小米路由器 mini 刷 pandorabox 并使用 ChinaDNS-C + dnsmasq + shadowsocks 实现透明翻墙
本文假设你对 Linux 基本熟悉。
你所需要的工具:
- 小米路由器 (本文是用的 mini)
- U 盘一枚
- 一台可以连路由的电脑
- 一台 shadowsocks 服务器。
开启小米路由的 SSH 功能
按照网站的说明,下载小米路由 mini 开发版。 http://miwifi.com/miwifi_download.html
进入 192.168.31.1 或者 miwifi.com, 手动更新固件。
进入 https://d.miwifi.com/rom/ssh , 下载 SSH 工具,按照教程开启 SSH。
在开启 SSH 时,若黄灯闪烁 3 秒后变成了红灯,那么可以试试刷一个较旧的开发版(我就是这个情况,折腾了好久,刷到 0.4.36 后才可以开启 SSH。 附上 0.4.36 链接)。
ssh 连入路由:
windows: 安装 putty,登陆 192.168.31.1。用户名 root,密码为 https://d.miwifi.com/rom/ssh 的初始密码
linux :
ssh [email protected]
安装 pandorabox 固件
下载 pandorabox 固件
打开 http://downloads.openwrt.org.cn/PandoraBox/Xiaomi-Mini-R1CM
我选择了 PandoraBox-ralink-xiaomi-mini-r466-20140701.bin传到路由上
- 首先登陆路由的 ssh
cd /tmp
- 用 winscp 或者
scp
命令把 Xiaomi-Mini-R1CM/PandoraBox-ralink-xiaomi-mini-r466-20140701.bin 传到路由的 /tmp 文件夹中。
开始刷机
执行
mtd -r write /tmp/PandoraBox-ralink-xiaomi-mini-r466-20140701.bin firmware
开始刷机等路由重启后,可以搜索到信号
PandoraBox_XXXX
,没有密码,连上去后进入 192.168.1.1,密码 admin,之后就能看到可爱的 OpenWrt 界面了。
安装 ChinaDNS-c + shadowsocks
打开 http://sourceforge.net/projects/openwrt-dist/files/depends-libs/ramips/ 下载这些依赖包:
- zlib
- libc
- libgcc
- libpolarssl 或 libopenssl (我选择了 libopenssl)
下载 shadowsocks
去 http://sourceforge.net/projects/openwrt-dist/files/shadowsocks-libev
找到最新版本的 shadowsocks,选择 ramips 架构即可。
如果上面安装的是 polarssl 那么就选择 shadowsocks-libev-spec-polarssl-xxxx.ipk,否则选择 shadowsocks-libev-spec_xxxx.ipk
下载 ChinaDNS-C
去 http://sourceforge.net/projects/openwrt-dist/files/chinadns-c 下载 ramips 架构的 ipk
把上面下载的都传到路由 /tmp 文件夹下,依次执行:
opkg install libgcc.ipk
opkg install libc.ipk
opkg install libopenssl.ipk
oropkg install libpolarssl.ipk
opkg install shadowsocks-libev-spec.ipk
orshadowsocks-libev-spec-polarssl.ipk
配置
vim /etc/init.d/chinadns
,删掉所有的东西,替换为:
1 |
|
vim /etc/dnsmasq.conf
shift+G
跳到最后一行,添加如下内容,并删除其他server=
:1
2no-resolv
server=127.0.0.1#5354vim /etc/shadowsocks/config.json
修改 shadowsocks 的配置。使用
/etc/init.d/shadowsocks start
命令启动 shadowsocks使用
/etc/init.d/chinadns start
命令启动 ChinaDNS-C使用
/etc/init.d/dnsmasq restart
命令重启 dnsmasq文件 chinadns_chnroute.txt 与 ignore.list 相同,可使用符号链接节省空间
1
2rm -f /etc/chinadns_chnroute.txt
ln -s /etc/shadowsocks/ignore.list /etc/chinadns_chnroute.txt
测试
1 | C:\Users\Administrator>nslookup google.com |
1 | C:\Users\Administrator>nslookup youtube.com |
可能遇到的问题
Q:
1 | iptables-restore v1.4.10: unknown option `--to-ports' |
A: 可能固件中没有安装 iptables 的拓展。请先确保正确安装 iptables 1.4
1 | wget http://downloads.openwrt.org.cn/PandoraBox/ralink/mt7620/packages/iptables-mod-nat-extra_1.4.10-5_ralink.ipk |
Q:
1 | ipset v6.11: Error in line 1: Cannot open session to kernel. |
A:
- 最好用 0701 修复 bug 的固件。
- 重新安装 ipset 安装方式参考上面一则 FAQ
- 如果还不行,尝试用 gcc 4.6 编译 ipset 6.11,因为似乎 gcc 4.7 编译会造成这个错误。
使用小米路由器 mini 刷 pandorabox 并使用 ChinaDNS-C + dnsmasq + shadowsocks 实现透明翻墙
https://robinxb.com/posts/2014/miroute-mini-dnsmasq-chinadns-shadowsocks/