项目十九--便携式科学上网路由器/儿童净网器
本教程主要介绍如何在microWRT上搭建一个科学上网路由器。在China的极客,都不避免的会用到科学上网。如果不考虑安全,目前常用的几种方式如下:
因此,在追求上网品质的家庭或者企业,翻墙路由器是最佳选择。市面是也可以买到翻墙路由器,但大多价格比较高,并且服务没有保障,一旦因某种 原因被查封,你的路由器就只能当板砖来用了。所以对于极客来讲,如果能用基于openwrt路由器搭建一款自己的翻墙路由器,那真是不二选择。下面我们 就介绍如何利用shadowsocks 和chinadns搭建一个科学路由器,并实现自动分流方案。 MicroWRT系统搭建在这个方案中,我们在openwrt系统的基础上安装shadowsocks和chinadns两款开源软件,这chiandns不是openwrt标准库里支持的,所以要另外安装。 1. 烧写正常工作的microWRT固件 编译个可以正常上网的microWRT固件,然后将他烧写到板子上,设置microWRT能能够通过家里的路由器直接访问外网。并且能够通过网页访问microWRT。 2. 安装shadowsocks shadowsocks是一款由@clowwindy开发的先进的,无状态的TCP代理工具。在通常情况下,shadowsocks具备无状态、无特征的特性,可有效对抗深度包检测。 此外,可自定义多个安全方式,并适用于全平台,包括路由器软件。在本教程中,shadowsocks负责将流量转发到代理服务器实现翻墙。 shadowsock对应有三个软件,一个是客户端,一个是服务器端,另外一个是Luci控制端。在microWRT上只需要安装客户端和Luci控制端。 客户端的安装有两种方式,一直openwrt里已经支持了shadowsocks客户端,玩家可以通过如下配置,使固件包含shadowsocks。配置如下: 另外一种方式下载编译好的客户端进行安装。可以从如下网址进行下载。我们microWRT使用的CPU型号是ramips 的MT7620A。 http://sourceforge.net/projects/openwrt-dist/files/shadowsocks-libev/ 将下载好的ipk安装包通过winscp 复制到板子上的/tmp 目录下。然后通过putty登陆到板子上,安装ipk包。 opkg install shadowssocks-libev-spec_2.4.0-1_ramips_24kec.ipk 安装完成后,会自动设置为开机启动,如果没有,可以手动添加。 对于Luci控制端,可以从下面的连接中找到,下载后按照上面同样的方法进行安装。注意要先安装客户端,在安装控制台。 http://sourceforge.net/projects/openwrt-dist/files/luci-app/shadowsocks-spec/ 对于shadowsocks服务端,是安装在自由世界里的,他主要负责代理来自中的访问。玩家可以自己架设一天自己的shadowsocks服务器,但是需要一定的 技术门槛。当然很多玩家都是自己购买商业服务,价格也不是很贵。购买服务器后,服务商会提供一组参数作为登陆凭证,如下: Your Server IP:123.123.123.123 服务器地址 Your Server Port:8964 服务器端口 Your Password: password 登陆密码 Your Local IP:127.0.0.1 本地IP Your Local Port: 1080 本地端口 Your Encryption Method: aes-256-cfg 安全方法 这组参数,在下面配置的时候需要用到。 注意如果服务商给你的是一个网址,比如abc.proxy.com之类的,你需要自己将它转换成ip。转换方法是进入http://ip138.com/,查询这个网址 对应的IP地址,你将会得到一个ip地址,比如123.123.123.123。 2. 安装chinadns 由于DNS污染,光有shadowsocks不能正确完成所有的动作。chinadns采用双DNS解析匹配技术,过滤污染DNS结果,并负责区分中国和国际流量, 将国际流量转交给shadowsocks代理,其余流量从系统默认网关发出。 使用chinadns可以抗dns污染并实现流量的分流。 chinadns的安装和shadowssocks类似,只是在openwrt没有这个软件,需要完全的手动安装。通过下面的链接分别下载软件和luci客户端。 下载完成后用同样的方法进行安装。 chinadns-openwrt: http://sourceforge.net/projects/openwrt-dist/files/chinadns/ luci-app-chinadns: http://sourceforge.net/projects/openwrt-dist/files/luci-app/chinadns/ 系统设置通过上面的步骤,我们已经在microWRT上安装了所需的软件,然后通过网页登录到microWRT上,当看到控制台中出现shadowsocks和chinadns的设置 页面是,安装就成功了,下面就可以进行系统配置了。 1. Chinadns 配置 china负责过滤污染结果,并负责分发中国和国际的流量。打开chinadns的配置页面如下:
理解chinadns就要充分理解上游服务器的概念。chinadns采用两组dns服务器,第一个是中国,第二个是国际。每次查询时同时查询。 当所得结果为中国地址时,丢弃来自于国际服务器的答案,以便充分利用中国的CDN系统。当查询结果为国际地址时,丢弃中国服务器的答案, 以便排除来自于中国的干扰。这里建议使用阿里DNS 223.5.5.5 或223.6.6.6 作为中国DNS服务器,理由是防止淘宝CDN错把你当作国际友人,结果被扔到全球站去。 国际DNS的情况就比较复杂了,要防污染,又要速度快,有多种不同的方案。通常代理DNS需要更进一步的设置,或者需要shadowsocks具备UDP转发的功能。 如果没有能力用pdnsd或者udp转发,也可以使用延迟时间,延迟0.3秒过滤污染包。这里采用了非标准端口的方式,将国际DNS的端口号改为非53端口。 于是设置就是 223.5.5.5,国际DNS地址:5353
设置完毕后保存并应用,看到chinadns的状态为启动后OK。 2. Shadowsocks 配置 打开shadowsocks的管理页面,勾选启用。 SS-LOCAL 不用打开 其他项目按照上面的参数依次填写。注意服务器地址最好写IP地址,而不是网址。 每一项目都必须和你服务商提供给你的一一对应。 超时时间可以设置为10秒。 最后不要启用UDP转发,设置完毕后保存和应用,看到shadowsocks状态为启用后OK。 3. 路由DNS设置 此时,路由器上的两个软件均已工作,但还不能科学上网。打开路由器的DNS设置,如下图。选择DNS为本地地址#CHINADNS端口。即127.0.0.1#XXXX,注意这里要用#,而不是冒号。 接下来选择”HOSTS和解析文件“, 选择忽略解析文件,忽略HOSTS文件。 保存并应用。 测试以上配置完成后,路由器已经具有翻墙能力。下面进行测试: 1,关闭电脑上所有翻墙软件,将电脑的IP地址\DNS地址均设置为自动,连入openwrt路由器的网络。 2,访问www.whatismyip.com 确定是外国地址 3,访问www.ip138.com 确定是中国地址 4,访问其他被封网站,确定可以打开 以上条件均满足时,路由器设置成功。此时,所有中国之外的网站将全部通过代理。 接下来可以关闭电源,重启动后测试,看能否自动重启两个服务。
|