使用小米路由器 mini 刷 pandorabox 并使用 ChinaDNS-C + dnsmasq + shadowsocks 实现透明翻墙

本文假设你对 Linux 基本熟悉。

你所需要的工具:

  1. 小米路由器 (本文是用的 mini)
  2. U 盘一枚
  3. 一台可以连路由的电脑
  4. 一台 shadowsocks 服务器。

开启小米路由的 SSH 功能

  1. 按照网站的说明,下载小米路由 mini 开发版。 http://miwifi.com/miwifi_download.html

  2. 进入 192.168.31.1 或者 miwifi.com, 手动更新固件。

  3. 进入 https://d.miwifi.com/rom/ssh , 下载 SSH 工具,按照教程开启 SSH。

    在开启 SSH 时,若黄灯闪烁 3 秒后变成了红灯,那么可以试试刷一个较旧的开发版(我就是这个情况,折腾了好久,刷到 0.4.36 后才可以开启 SSH。 附上 0.4.36 链接)。

  4. ssh 连入路由:

    windows: 安装 putty,登陆 192.168.31.1。用户名 root,密码为 https://d.miwifi.com/rom/ssh 的初始密码

    linux : ssh [email protected]

安装 pandorabox 固件

  1. 下载 pandorabox 固件

    打开 http://downloads.openwrt.org.cn/PandoraBox/Xiaomi-Mini-R1CM
    我选择了 PandoraBox-ralink-xiaomi-mini-r466-20140701.bin

  2. 传到路由上

    1. 首先登陆路由的 ssh
    2. cd /tmp
    3. 用 winscp 或者 scp 命令把 Xiaomi-Mini-R1CM/PandoraBox-ralink-xiaomi-mini-r466-20140701.bin 传到路由的 /tmp 文件夹中。
  3. 开始刷机

    执行 mtd -r write /tmp/PandoraBox-ralink-xiaomi-mini-r466-20140701.bin firmware 开始刷机

    等路由重启后,可以搜索到信号 PandoraBox_XXXX,没有密码,连上去后进入 192.168.1.1,密码 admin,之后就能看到可爱的 OpenWrt 界面了。

安装 ChinaDNS-c + shadowsocks

  1. 打开 http://sourceforge.net/projects/openwrt-dist/files/depends-libs/ramips/ 下载这些依赖包:

    • zlib
    • libc
    • libgcc
    • libpolarssl 或 libopenssl (我选择了 libopenssl)
  2. 下载 shadowsocks

    http://sourceforge.net/projects/openwrt-dist/files/shadowsocks-libev

    找到最新版本的 shadowsocks,选择 ramips 架构即可。

    如果上面安装的是 polarssl 那么就选择 shadowsocks-libev-spec-polarssl-xxxx.ipk,否则选择 shadowsocks-libev-spec_xxxx.ipk

  3. 下载 ChinaDNS-C

    http://sourceforge.net/projects/openwrt-dist/files/chinadns-c 下载 ramips 架构的 ipk

  4. 把上面下载的都传到路由 /tmp 文件夹下,依次执行:

    1. opkg install libgcc.ipk
    2. opkg install libc.ipk
    3. opkg install libopenssl.ipk or opkg install libpolarssl.ipk
    4. opkg install shadowsocks-libev-spec.ipk or shadowsocks-libev-spec-polarssl.ipk

配置

  1. vim /etc/init.d/chinadns,删掉所有的东西,替换为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh /etc/rc.common

START=90

SERVICE_USE_PID=1
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1

start() {
service_start /usr/bin/chinadns \
-l /etc/chinadns_iplist.txt \
-c /etc/chinadns_chnroute.txt \
-s 114.114.114.114,127.0.0.1:5353 \
-p 5354
}

stop() {
service_stop /usr/bin/chinadns
}
  1. vim /etc/dnsmasq.conf

    shift+G 跳到最后一行,添加如下内容,并删除其他 server=

    1
    2
    no-resolv
    server=127.0.0.1#5354
  2. vim /etc/shadowsocks/config.json 修改 shadowsocks 的配置。

  3. 使用 /etc/init.d/shadowsocks start 命令启动 shadowsocks

  4. 使用 /etc/init.d/chinadns start 命令启动 ChinaDNS-C

  5. 使用 /etc/init.d/dnsmasq restart 命令重启 dnsmasq

  6. 文件 chinadns_chnroute.txt 与 ignore.list 相同,可使用符号链接节省空间

    1
    2
    rm -f /etc/chinadns_chnroute.txt
    ln -s /etc/shadowsocks/ignore.list /etc/chinadns_chnroute.txt

测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
C:\Users\Administrator>nslookup google.com
服务器: PandoraBox.lan
Address: 192.168.1.1

非权威应答:
名称: google.com
Addresses: 2404:6800:4005:807::1002
74.125.239.41
74.125.239.46
74.125.239.32
74.125.239.34
74.125.239.35
74.125.239.40
74.125.239.33
74.125.239.39
74.125.239.36
74.125.239.38
74.125.239.37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
C:\Users\Administrator>nslookup youtube.com
服务器: PandoraBox.lan
Address: 192.168.1.1

非权威应答:
名称: youtube.com
Addresses: 2607:f8b0:4010:801::1006
74.125.239.38
74.125.239.37
74.125.239.35
74.125.239.34
74.125.239.33
74.125.239.32
74.125.239.36
74.125.239.41
74.125.239.39
74.125.239.40
74.125.239.46

可能遇到的问题

Q:

1
iptables-restore v1.4.10: unknown option `--to-ports'

A: 可能固件中没有安装 iptables 的拓展。请先确保正确安装 iptables 1.4

1
2
3
wget http://downloads.openwrt.org.cn/PandoraBox/ralink/mt7620/packages/iptables-mod-nat-extra_1.4.10-5_ralink.ipk

opkg install 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:

  1. 最好用 0701 修复 bug 的固件。
  2. 重新安装 ipset 安装方式参考上面一则 FAQ
  3. 如果还不行,尝试用 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/

作者

薯条

发布于

2014-10-18

更新于

2024-01-15

许可协议

评论