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

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

1、Shadowsocks + ChnRoute 实现 OpenWRT / LEDE 路由器自动翻墙
2、Shadowsocks + Redsocks 实现 OpenWRT 路由器自动翻墙 (停止更新)
3、Shadowsocks + GfwList 实现 OpenWRT / LEDE 路由器自动翻墙

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

本人作为一名普通使用者,水平有限,且文章也缺乏校审,肯定有错误存在,也有很多能改进的地方,如有意见或建议,请留言指出,万分感谢! 如果使用时遇到问题也欢迎留言,本人如果有空都会回复。

方案简介
一、安装

此部分针对openwrt-shadowsocks 3.0.1及以上版本,搭配luci-app-shadowsocks 1.6.0及后续版本。

所需软件列表:

安装过程中如果出现错误提示无法解决,可以留言。LEDE即将发布正式版,建议从OpenWrt更新至LEDE。

OpenWRT CC 15.05.1 及更早版本安装步骤
LEDE / OpenWrt trunk 安装步骤
二、shadowsocks 配置

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

I. 添加服务器
II. 设置代理方案
III. 开启代理服务
IV. 额外的优化
二、DNS配置

(这一部分基本完工,但仍需要进一步完善)

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

PS:DNS的调试可以使用dig

I. DNS转发链图示
II. DNS转发链的基本配置
III. DNS转发链的优化配置

三、按域名指定是否走代理(可选)

(这一部分基本完工,但仍需要进一步完善)

请在完成前面的配置后继续下面的配置。

先使用dnsmasq-full替换掉原有的dnsmasq:

添加可信根证书并安装支持ssl的wget:

I. China-List强制直连 自定义域名强制直连
II. GFWList强制走代理 自定义域名强制走代理

一些推荐的额外设置项可以参考:《Shadowsocks for OpenWRT / LEDE 拾遗》

1,417 条评论

  1. Jerry 回复

    我在evernote里保存了博主之前的文章,今天实践时候发现新版ss界面不太一样了,刚刚想上来提醒博主更新,没想到博主已经更新完了,真是太厉害了!

    另外,文章里提到的附加安装包,其实不用手动安装,新版的openwrt会自动安装所需附加包的,只要你系统空间足够。

    “你可能还需额外下载如下的依赖包:
    kmod-nfnetlink kmod-ipt-ipset kmod-ipt-tproxy libmnl libpthread”

  2. TheFirstCurse 回复

    在“然后,在Luci中切换至“网络”-“DHCP/DNS”设置,如下图,在”DNS转发”中填入127.0.0.1#35353”這步當中,博主是在DHCP/DNS的DNS轉發裡填寫chinadns的地址,但是在“https://sourceforge.net/p/openwrt-dist/wiki/Plan5/”裡面,作者是填寫在本地服務器裡的,不知道是不是這裡的區別導致新版不能正常使用,要等回家再嘗試了。

    1. cokebarcokebar 文章作者 回复

      Local Server: Local domain specification. Names matching this domain are never forwarded and are resolved from DHCP or hosts files only.
      个人理解这里填入不转发的本地域名,适用于内网网站。转发的DNS不应该填在这里,作者的图应该是错了

    2. TheFirstCurse 回复

      作者aa原来怎么热心的?看来可以问他一下了,但是不怕给查)水+表吗?

    3. TheFirstCurse 回复

      博主,我照你的例子设置了还是不行,接口-LAN这里应该是停用的吧?然后是在服务器那里我是使用如下命令运行服务的:
      nohup ss-server -p 服务端口 -l 本地端口 -k 密码 -m rc4-md5 -t 60 -u -A &
      请问这样是否有问题,如果没有就很奇怪了。

    4. TheFirstCurse 回复

      搞了一晚上终于好了,竟然是我使用的服务器端有问题,一般我会客户端和服务器端同时更新ss的,应该当时git了一个有问题的版本,现在重新git了新版编译使用就没有问题了。再次感谢一下博主的回复,谢谢。

  3. 春夏秋冬 回复

    新版的Shadowsocks支持多帐吗?是翻墙速度叠加,还是自动切换呢?

    1. cokebarcokebar 文章作者 回复

      支持多账号手动切换😅

  4. abv76 回复

    请问楼主,shadowsocks中Proxy Setting中的/etc/ignore.list 是什么内容?
    和chinaDNS中的 chinaroute.txt 以及 iplist.txt 有哪些对应关系?

    1. cokebarcokebar 文章作者 回复

      通常是国内路由表 和chnroute.txt相同 和iplist无关

  5. 春夏 回复

    Shadowsocks新版现在支持域名了吗?

  6. a 回复

    请教一下,我设置了SS,在路由器下的客户端可以翻墙;但是远程openvpn过来通过路由器无法翻墙,需要怎么设置呢?

  7. t123yh 回复

    这个要是不小心开了ed2k下载岂不是就完蛋了啊

  8. Cokebar 粉丝 回复

    Lz可以讲一下怎样在石像鬼固件上安装吗,石像鬼上没有luci,不会配置了。。。

  9. 引用: Shadowsocks + ChnRoute 实现 OpenWRT 路由器自动翻墙 | 清风明月

  10. 懵了 回复

    小白用winscp+putty手动装上了ss和chinadns服务,到了ignore.list这步走不动了,网页登录ftp.apnic.net也找不到这个文件。直接将博主提供的代码是在openwrt“软件包”那里输入,这样操作没错吧?

    1. cokebarcokebar 文章作者 回复

      在putty中用命令行

发表评论

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

请输入正确的验证码