对于程序员来说,能顺畅使用互联网能够很大程度地提高工作效率。所以,通过 SS 来实现代理上网是一个很好的解决方案。此外,对于能使用校园网的学生党而言,还可以使用 SS + IPv6 来实现免流,这样就能把省下来的网费用来买VPS了。
然而,在 PC 上直接使用客户端软件代理上网有以下缺点:
1)不能实现全局流量的代理功能,只有支持代理功能的应用才能通过 SS 代理上网。虽然有相关的软件可以实现全局流量代理,但这样就很不方便,为了代理上网要多开好几个应用。
2)如果手机等其他设备也想使用代理,也必须得用客户端才能行。
为了能方便地在多个终端使用代理,可以在路由器上部署 SS 客户端,那么经过这台路由器的所有流量都能走代理,对于终端设备上的所有应用而言,代理是透明的。
0x01 前提条件
首先需要一台已部署好 Shadowsocks 和 Kcptun 的 VPS,服务器上安装 SS 和 Kcptun 相对要简单一些,可以在网络上能找到脚本实现一键安装。安装好之后在 PC 上安装相应的客户端软件,设置好参数并测试服务端能否正常使用。
下面是在斐讯 K2 上部署 SS 和 Kcptun 的过程。
0x02 设置 NAT6
为了使内网端口能获取到 IPv6 地址,需要进行以下配置。
首先更改网络/接口设置。WAN 设置 PPPoE 拨号,WAN6 设置为 DHCPv6 客户端,强制请求 IPv6 地址并禁用请求指定长度的 IPv6 前缀。
1. 安装软件包
|
|
2. 修改前缀
把 IPv6 ULA 前缀改成 d 开头。
3. 添加 nat6
|
|
4. 修改 sysctl.conf
|
|
5. 修改 DHCP
更改 DHCP 服务器的设置。
6. 配置防火墙规则
|
|
7. 重启
重启路由器,查看连接在该路由器上的设备是否成功获得 IPv6 地址。
0x03 部署 SS
1. 安装软件包
透明代理使用 Shadowsocks-libev 和 ChinDNS(可不配置) 实现。使用 ssh 登陆路由器,安装相关软件包。
2. 更新 chnroute 表
使用以下命令更新:
3. 配置SS
首先根据 SS 服务器中已设参数配置好 SS 的全局设置,包括以下参数:
配置透明代理:
配置UDP转发(ss-tunnel):
配置 ChinaDNS:
配置DHCP/DNS:
依次点击 网络 -> DHCP/DNS -> 服务器设置
进行设置。
具体流程为, ss-tunnel 将 GoogleDNS(8.8.8.8:53) 转发到 127.0.0.1:1153 上,然后通过 ChinaDNS 与国内 DNS 组合成新的 127.0.0.1:1053,从而实现了国内外分流。
0x04 部署 Kcptun
1. 安装客户端
Kcptun 部署需要确保服务端和客户端版本的一致性,只有版本一致才能正常使用。首先
在 kcptun项目 中下载相应版本的客户端,这里下载 kcptun-linux-mipsle-20170525.tar.gz,解压后将 client_linux_mipsle 上传至路由器中。
若提示以下内存不足错误将导致传输失败,可使用mtd -r erase rootfs_data
命令清除设备中的所有数据以腾出内存空间,但这样做会导致配置信息丢失。
传输完成后修改 /etc/rc.local 设置 kcptun 为开机启动。
注释:
/root/kcptun/client_linux_mipsle:client_linux_mipsle的绝对路径
-l:kcptun 本地监听的端口
-r:kcptun 服务器地址(可设置为 IPv6)和端口
-key:kcptun的通讯密钥
修改 SS 客户端服务器 IP 和端口,密码等其他参数仍为原 SS 的参数:
重启路由器后测试能否访问 Google。
2. 安装 kcptun web 管理界面
此外,还可以安装 Kcptun 的 web 管理界面。
3. 附录 – 配置信息
以下为 K2 路由器中的配置信息。
服务端配置如下:
客户端可用以下配置:
Android 中 SS 远程端口设置为远程服务器 SS 端口,kcptun 配置如下,注意不能有空格:
References:
[1] 在openwrt上部署kcptun给搬瓦工加速看1080p
[2] Pandorabox之透明代理
[3] Kcptun加速方案
[4] 如何用Kcptun给Shadowsocks加速?
[5] OpenWrt 平台 Kcptun 管理界面 lui-app-kcptun
[6] Openwrt华硕固件Kcptun配置使用教程
[7] Lede 17.01 shadowsocks设置
[8] Shadowsocks + ChnRoute 实现 OpenWRT / LEDE 路由器自动翻墙
[9] OpenWrt 路由器安装 KCPTun 客户端