打造一台翻墙路由器[转载]

本文转载自https://github.com/Jerry-hechen/blog

路由器配置方案:Shadowsocks-libev-spec + ChinaDNS

本教程以Dlink dir-505为例,其他型号路由也类似,Openwrt版本:15.05,其他安装包均为最新版。

首先路由器型号需要在openwrt列表中:http://wiki.openwrt.org/toh/start(可以ctrl+F搜索匹配型号),并记录所用路由器cpu的型号。

一.下载路由器CPU型号对应的的固件:https://downloads.openwrt.org/

二.刷机及配置

1.访问路由器上传固件,等待一会儿,勿断电。

2.好了之后打开wifi开关,连上openwrt(有的固件默认不没有开启WI-FI需要用网线连接),访问192.168.1.1

3.System-》Administertion,设置路由密码,选中Allow remote hosts to connect to local SSH forwarded ports

4.Network-》Wifi,WI-FI没有启动先启动,设置Transmit Power为15dBm(31mW),设置Country Code为CN-China

5.设置下WIFI名称(ESSID)、密码、加密方式(Encryption,推荐使用WPA-PSK/WPA2-PSK)

6.Network-》Interfaces,修改LAN口,勾掉Bridge interfaces选项,更改网关为192.168.5.1,添加WAN口选择DHCP client选项(如果需要拨号选择PPPoE),勾上Adapter “eth1”。注意:此处修改LAN口、添加WAN口不要“保存&应用”,先“保存”,在Network-》Interfaces列表整体“保存&应用”

为了和主路由不冲突最好将网关改为其他,比如192.168.5.1

刷机成功。

三.下载安装包并安装到路由器

1.下载安装包

Shadowsocks-spec: http://sourceforge.net/projects/openwrt-dist/files/shadowsocks-libev/
chinaDNS: chinaDNS: http://sourceforge.net/projects/openwrt-dist/files/chinadns/
Shadowsocks-spec-LuCI:http://sourceforge.net/projects/openwrt-dist/files/luci-app/shadowsocks-spec/
chinaDNS-LuCI:http://sourceforge.net/projects/openwrt-dist/files/luci-app/chinadns/

注意,一定要下载路由器cpu型号对应的文件!DIR-505选择ar71xx

2.安装到路由器

  • 保证路由器可以上外网
  • 用ssh工具上传shadowsocks-libev-spec、ChinaDNS、及2个luci文件 4个ipk包到路由器/tmp目录

    ssh root@192.168.5.1 opkg update

  • 安装中文包,然后在路由管理界面System-》System-》Language and Style切换中文语音,刷新可看到中文

    opkg install luci-i18n-base-zh-cn

    cd /tmp

    opkg install shadowsocks-libev-spec-polarssl_2.4.1-1_ar71xx.ipk

    opkg install ChinaDNS_1.3.2-3_ar71xx.ipk

    opkg install luci-app-shadowsocks-spec_1.3.2-1_all.ipk

    opkg install luci-app-chinadns_1.3.4-1_all.ipk

期间可能会遇到错误提示,没关系,这时因为安装ipset包后需要重启。

3.更改配置(路由管理界面)

网络-》DHCP/DNS

基本设置里将 本地服务器 更改为 127.0.0.1#5353

HOSTS和解析文件里 勾选 忽略解析文件和忽略HOSTS文件

服务-》ChinaDNS里 ChinaDNS上游服务器更改为 114.114.114.114,127.0.0.1:5300 (适合服务器支持UDP转发,较新版本Shadowsocks均支持)

服务-》ShadowSocks 全局设置中输入S’s账号(先启用,S’s账号需要和服务配置匹配),代理设置中更改代理方式为“忽略列表”

四.设置自动更新忽略配置文件。

敌人的策略一直在变化,为了实现智能分流需要设置自动更新忽略配置文件,长时间不更新可能导致部分国内网站走代理或者国外不走代理,如下:

1.手动建立文件夹, shadowsocks忽略配置用到

mkdir /etc/shadowsocks

2.新建 vi /root/update.sh,内容如下:

#!/bin/sh

ping -c2 www.baidu.com >>/dev/null
if [ $? -eq 0 ];then
    wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/shadowsocks/ignore.list
    wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/chinadns_chnroute.txt
else
        echo 'network is down...'
fi

3.然后用命令给予该脚本执行权限并执行,正常的话配置文件会成功更新

chmod +x /root/update.sh
/root/update.sh

4.在路由器,管理界面点击“系统”→“计划任务”中,输入以下内容:

30 4 * * * /root/update.sh

保存后,每天的凌晨4点半就会自动执行这个更新脚本了。

5.重启路由器,系统-》重启

翻墙成功!