Shadowsocks + ChnRoute 实现 OpenWRT 路由器自动翻墙

本站发布的三种shadowsocks在openwrt上的自动翻墙方案:

1、Shadowsocks + ChnRoute 实现 OpenWRT 路由器自动翻墙
2、Shadowsocks + Redsocks 实现 OpenWRT 路由器自动翻墙
3、Shadowsocks + GfwList 实现 OpenWRT 路由器自动翻墙

这篇文章介绍的方法基于aa65535的luci-app-shadowsocks,介绍了如何在OpenWRT下配置自动翻墙,新版本支持在Luci下图形化配置,大大简化了配置过程。配置完成后,路由器本身获得自动翻墙能力,所有连入该路由的设备都可无障碍访问被墙的站点。是运行于路由器的透明代理。

方案简介

写在前面:基于luci-app-shadowsocks v1.4.0版本撰写。目前的版本不带spec字眼,如果是从spec版本更新至此版本,需先卸载之前的spec版本,并删除配置文件(/etc/config/shadowsocks)后,再安装此版本。

一、安装

所需软件列表:

详细安装步骤点击展开

 

二、shadowsocks 配置

登录Luci,指向“服务”,此时应该能够看到shadowsocks(中文界面下显示“影梭”)了。接下来进行shadowsocks的配置。

详细配置步骤点击展开

 

二、DNS配置

到此虽然shadowsocks配置完成,不过还没有进行DNS部分的配置,只有完成了DNS的配置才能解决DNS污染并优化DNS解析,接下来的部分来对DNS的配置进行说明。

(新版本的DNS配置部分未编写完毕,我将利用零散时间逐渐更新完毕,可先参考老版本以及《OpenWRT 自动翻墙路由器 DNS 解析的改善》

I. 组建DNS转发链

luci界面,“服务”→”DNS 转发”(英文界面是DNS Forwarder),如图配置:

dns-forwarder

“服务”→”ChinaDNS”,如图配置,建议修改114.114.114.114为你ISP的DNS地址(此处5311为DNS Forwarder的监听端口,需要和上面dns-forwarder设置保持一致):

chinadns

在Luci中切换至“网络”-“DHCP/DNS”设置,如下图,在”DNS转发”中填入:127.0.0.1#5353

dns

其中,5353是ChinaDNS的本地端口,需要和上面ChinaDNS设置保持一致。

然后切到HOSTS和解析文件选项卡,勾中“忽略解析文件”

4

自此,基本的DNS转发链建立完备,应该可以正常科学上网了,此时可以尝试一下是否成功。

然而此时区分国内国外域名全靠ChinaDNS,但是ChinaDNS的判断并不一定是准确的。而且此时需要进一步的优化。

II. DNS解析的优化

修改 /etc/dnsmasq.conf  ,在最后加入  conf-dir=/etc/dnsmasq.d ,新建并进入目录  /etc/dnsmasq.d ,下载 accelerated-domains.china.conf 和 foreign_list.conf 两个文件后复制两个文件到  /etc/dnsmasq.d 目录。(后期会更新为自动生成的脚本,可以根据最新列表自动生成,也方便做成计划任务,目前先用这两个生成好的文件)

分别修改两个文件,利用批量替换功能修改:

accelerated-domains.china.conf 文件中所有的的114.114.114.114修改为自己ISP的DNS或者其他效果更好的国内DNS的IP地址(也可以保留114DNS),格式为:

foreign_list.conf (GFWList)文件中所有的 127.0.0.1#5300 修改为:

(具体为什么这么改,可以参看:《OpenWRT 自动翻墙路由器 DNS 解析的改善》

最后重启dnsmasq服务:  /etc/init.d/dnsmasq restart


三、按域名指定是否走代理

待续。。。

1,323 条评论

  1. 海德拉 回复

    我想知道如果安装了spec版的ss能配置成按照gfwlist代理么?

    1. cokebarcokebar 文章作者 回复

      不能 互相冲突

  2. hkvsak 回复

    博主,请教您一个问题,我的路由器刷了openwrt,也成功设置了ss,但是翻墙不成功,而是只能翻推特,其它的谷歌fb都不行,可是这个ss是正常的,平常在电脑、手机都能用,请问,这是什么问题啊?非常困惑?
    例如这样:
    无法访问此网站
    http://www.google.com 的响应时间过长。
    ERR_CONNECTION_TIMED_OUT

    我的路由器是HG255D,固件版本 OpenWrt Chaos Calmer 15.05 / LuCI (git-15.248.30277-3836b45)
    内核版本 3.18.20,ShadowSocks软件四个都是最新的,安装的时候也都成功了(除了有一个安装shadowsocks-libev-spec的时候有过一处failed to find a module named nf_tproxy_core ,不过我手动安装了iptables-mod-tproxy和kmod-ipt-tproxy,也成功了)

    求博主帮忙解答下!!

  3. weiladeng 回复

    安装了SS最新版,但是翻不了墙呀

  4. crazistian 回复

    封锁列表里的都能打开了,但是就是油管视频放不了 /(ㄒoㄒ)/~~

    1. weiladeng 回复

      你是用哪种方法的呀?
      我用第一种,死活翻不了墙。
      安装的都是aa65535最新版的SS

  5. weiladeng 回复

    博主,我安装的最新版chinadns没得国内路由列表,只有CHNRoute File
    这要怎么设置?

    1. weiladeng 回复

      无法找到 http://www.youtube.com 的服务器 DNS address。
      无法找到 http://www.google.com.hk 的服务器 DNS address。
      无法找到 plus.google.com 的服务器 DNS address。
      这是哪个地方出了问题呀?

  6. osheevn 回复

    感谢楼主的ss账号,现在已在使用,希望不要中断,我只拿来上google

  7. weiladeng 回复

    用楼主的第一种方法折腾了一个星期,只能G+和google,最后请教度娘,再加了个pdnsd才成功翻墙。

  8. 污基灰 回复

    你好,我的话安装了luci和ss,但是在服务那一页并没有看到安装的shadosocks。

    1. cokebarcokebar 文章作者 回复

      请确认存在shadowsocks-spec的配置文件:/etc/config/shadowsocks

      1. 污基灰 回复

        已经解决了。使用ssh安装后,还需要在luci软件包管理页面重新安装一次。不过因为不知道极1s该使用哪种软件包,我用的是系统自带的软件源安装的shadowsocks,版本是2.2.1,无法使用。所以想问下,极1s该用哪种版本?CPU是MT7620

  9. 引用: Shadowsocks + ChnRoute 实现 OpenWRT 路由器自动翻墙 - 工作笔记

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请输入验证码 * Time limit is exhausted. Please reload CAPTCHA.