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

本站发布的三种使用 shadowsocks 在 OpenWrt / LEDE 上的自动翻墙方案:

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

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

方案简介
本文changelog

TODO: 针对LEDE系统,对下面每一个部分的步骤写出一个独立的自动化脚本,最后将各个步骤的脚本整合,做出全自动的安装、配置脚本(有时间会尝试做,不过别抱太大希望,很有可能会坑掉)。

 

一、安装

适用于 openwrt-shadowsocks 3.0.1及以上版本,搭配 luci-app-shadowsocks 1.6.0及后续版本。

PS:最新状况是,aa65535将软件源中提供的包改成了静态链接的版本,因此安装时候变成安装shadowsocks-libev-static,如下依赖包:libev、libcares、libpcre、libsodium、libmbedtls均不用再安装了。这也是为了解决最近mbedtls频繁变动导致的依赖问题。本文只讨论LEDE(OpenWrt) 17.01版本的步骤。

所需软件列表

方法一: 添加作者的软件源,直接利用opkg命令安装 (此方式快捷方便,推荐!)

软件源位置:http://openwrt-dist.sourceforge.net/packages/

前提是所用网络环境直连sourceforge.net和downloads.lede-project.org没有问题。

可以直接使用作者的一键脚本,执行:

此方法手动的步骤

方法二: 手动下载软件包,上传至路由器后安装

如果直连遇到困难(无法连接或者过程中下载总是中断),请继续下面的步骤来安装。实测国内许多ISP,执行 opkg update 和 opkg install 下载安装的时候都可能会遇到卡住、中断的情况,请多试几次。如果尝试多次仍然失败,请参考下面的依赖列表,手动至官方下载站点手工下载。

详细步骤点击展开
二、shadowsocks 配置

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

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

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

PS:DNS的调试可以使用dig

I. DNS转发链图示
II. DNS转发链的基本配置
III. DNS转发链的优化配置
三、按域名指定是否走代理(可选)

这一部分的配置用于替代 “二.III.2. 添加gfwlist和China-List配置文件”中的步骤。请在完成“二.III.2. 添加gfwlist和China-List配置文件”前面的配置后进行这一部分的配置。

下面的步骤会使用我编写的脚本来自动生成配置文件,脚本放在github维护,可能随时更新,可到gfwlist2dnsmasq, openwrt-scripts查看最近更新的动态。

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

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

一些强烈推荐的额外设置项(涉及到更新、维护)可以参考:《Shadowsocks for OpenWRT / LEDE 拾遗》

需要自己搭建服务器的,可以参考:shadowsocks – libev 服务端的部署

推荐的VPS商家见:https://cokebar.info/about

本博客有关 shadowsocks 文章合集目录

五、写在最后

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

1,909 条评论

  1. 引用: 橘猫-科学上网从未如此简单。 – 24Q

  2. 引用: 橘猫-科学上网从未如此简单 – 無趣

  3. xyx 回复

    请教大佬,想设置一个专门用来全局fan的路由器,不区分国内外都走ss。应该如何搞啊。是不是只设置ss就行了。

  4. 引用: OpenWRT 配合Shadowsocks+ChinaDNS实现科学上网 – x

  5. 引用: OpenWRT 配合Shadowsocks+ChinaDNS实现科学上网 – x

  6. 上头 回复

    大佬,整个教程按流程都配置好了,也没有报错。netstat里dns-forwarder, chinadns, ss-redir也都运行了,端口也没有占用,ss服务器也换了3个了,但还是翻不了。chinadns里现在有个监听地址,应该配127.0.0.1吗?另外对ss server端的版本什么的有要求吗?我的是python版的。或者lede网络——接口——LAN中需要设置什么吗?附个netstat,求排错思路。非常感谢!

    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 830/uhttpd
    tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 1332/dnsmasq
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 808/dropbear
    tcp 0 0 0.0.0.0:9080 0.0.0.0:* LISTEN 1081/ss-redir
    tcp 0 0 0.0.0.0:9080 0.0.0.0:* LISTEN 1170/ss-redir
    tcp 0 0 :::80 :::* LISTEN 830/uhttpd
    tcp 0 0 :::53 :::* LISTEN 1332/dnsmasq
    tcp 0 0 :::22 :::* LISTEN 808/dropbear
    udp 0 0 0.0.0.0:53 0.0.0.0:* 1332/dnsmasq
    udp 0 0 0.0.0.0:67 0.0.0.0:* 1332/dnsmasq
    udp 0 0 127.0.0.1:5311 0.0.0.0:* 1065/dns-forwarder
    udp 0 0 127.0.0.1:5353 0.0.0.0:* 1481/chinadns
    udp 0 0 :::546 :::* 996/odhcp6c
    udp 0 0 :::547 :::* 768/odhcpd
    udp 0 0 :::53 :::* 1332/dnsmasq
    raw 0 0 ::%1:58 ::%4443948:* 58 996/odhcp6c

  7. 上头 回复

    大佬,问题可能出在我lede的路由是二级路由上,好像所有的请求会走一级路由,二级的都白设置了。请教一下这种情况哪里还需要设置?非常感谢!

  8. 上头 回复

    部分正常了,影梭——访问控制——内网区域——代理类型,没有选直接连接,选正常代理,连接路由器的PC,手机的浏览器,应用可以翻了,但PC上dig google也不通。而且即使在代理自身上选了正常代理,从网络——网络诊断里看,好像路由器自身也没翻过去。求教应该怎么解决呢?非常感谢!

  9. xxx 回复

    感觉一个多月没有更新了,包括“http://openwrt-dist.sourceforge.net/packages/”五月之后也没有更新了!

1 2 63 64 65 66 67

发表评论

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

请输入验证码 * 请输入正确的验证码