Skip to content

Kevin's Home

Pandorabox之透明代理

路由器, 科学上网, Shadowsocks, ChinaDNS1 min read

enter description here 先修改Lan接口,避免在无线中继的时候发生本地Lan接口与wwan接口发生冲突导致无法登陆路由器。

网络 -> Lan -> IPv4地址, 设置为 192.168.33.1更改之后需要重新连接一下网络。

透明代理使用shadowsocks-libevChinDNS实现。使用ssh登陆路由器,安装所需软件。

这个版本的软件源有点问题,所以直接opkg install基本上都过不了sha256sum检测,所以需要加上--force-checksum参数强制忽略。两个luci界面都有zh-cn汉化包,为了节省路由器空间,就不装了。

默认的chnroute表很老了,需要更新:

然后我们需要对其进行启用。

shadowsocks需要启动ss-redir来实现透明代理和ss-tunnel来实现UDP转发保证国外DNS查询不被污染。下面是具体需要注意的配置。

SS-tunnel

ChinaDNS

DHCP/DNS

最后需要在网络->DHCP/DNS->服务器设置修改默认的DNS配置

总的来说,GoogleDNS(8.8.8.8:53)首先进过ss-tunnel转发到本地的127.0.0.1:1153上,然后通过ChinaDNS与国内DNS服务器融合成新的127.0.0.1:1053 实现了国内外分流。

Update

由于实用过程中还是经常不稳定,决定采用DNS-Forwarder方案。 然而,官方并没有我的小米Mini路由架构的二进制包,只能自己动手丰衣足食了。

OpenWrt SDK

首先明确小米路由器Mini的架构是ramips/mt7620a而现在运行的Pandorabox 16.10基于Openwrt Barrier Breaker。

依赖

下载&编译

然而,愿景很好,但是在我的Deepin上make menuconfig这步就出错,想想barrier_breaker也是很久之前的版本了,出错大概是ldxxxx,感觉应该是GCC版本不兼容的缘故,然而Deepin上GCC只有6.2.0没有官方要求的4.8,怎么办呢?当时暂时想到下面几条解决方案

  1. 在自己电脑上重新编译一份GCC4.8: 太麻烦,而且还不能保证一定能成功。
  2. 用虚拟机装老版本的Ubuntu: 太浪费时间了,本身电脑BIOS就没有开启虚拟化支持。
  3. docker? 不错可以试一下。

docker运行老版本ubuntu镜像不用太简单,一条命令搞定:

然而docker版本的ubuntu太过于精简了,需要配置一下:

好了,终于编译成功了,然而还是高兴的太早,仍然报错:

还是求助于Google,然后发现了这篇博客:小米路由器mini折腾之配置opkg篇,于是我的路由器就成砖了。hhhhhhhhh

未完待续。。。。。。。。。。。。。。

2017-8-15 update

拿去店里救砖成功。刷了不死breed,但是现在反而没有什么折腾劲了。