|
在 Openwrt 里设置的 shadowsocks 是其客户端,不同的芯片方案需要下载不同的客户端,这个可以根据实际情况从官网下得。
现在以 AR71XX 的方案为例。
1. 安装 shadowsocks
- opkg update
- opkg install shadowsocks-libev-polarssl_1.4.8_ar71xx.ipk
复制代码
安装完后,得到一配置文件:
cat /etc/shadowsocks.json
{
"server":"服务器 IP",
"server_port":服务器端口号,
"local_port":1080,
"password":"密码",
"timeout":60,
"method":"aes-256-cfb" #加密方式
}
根据自己的实际情况,填写配置文件。
2. 测试连接
- ss-local -c /etc/shadowsocks.json
复制代码
ss-local 是本地 socks5 代理模式,运行之后,可以用 firefox 或 chrome 来测试,建议用 firefox,可以不用另外安装插件。没什么意外的话,这个就算完成了。下面介绍的,属于折腾部分。
3. 使用 shadowsocks 透明代理并智能转发
安装 ipset 和 iptables-mod-nat-extra 软件包。ipset 用来创建 IP 集合,便于 iptables 的应用管理。iptables-mod-nat-extra 主要用来提供 REDIREC ,即用来做透明代理的。
- opkg install ipset iptables-mod-nat-extra
复制代码
装完后,在 /etc/rc.local 中将下面两条命令添加进去:
- ipset -N bypassgfw iphash
- iptables -t nat -A PREROUTING -p tcp -m set --match-set bypassgfw dst -j REDIRECT --to-port 1080
复制代码
4. 安装 dnsmasq 。
建议先去掉原来的 dnsmasq ,并安装 dnsmasq-full 版本:
- opkg remove dnsmasq
- opkg install dnsmasq-full
复制代码
安装完后,创建目录:
在 /etc/dnsmasq.conf 里添加一句:
最后,在 /etc/dnsmasq.d 中放一个自定义配置文件在该目录下,该文件中主要放置一些被 block 的网站。这样的话,在访问国内网站时,使用的是国内的 DNS 来解析,国外的话,利用自定义的没经过污染的 DNS 服务器来获得正确的 IP ,后续就可以将访问该 IP 的流量重定向到 1080 端口。提供在下面的附件中,这只是部分内容,可以根据需要自行添加。附件中即为该文件:
到此为止,基本上算完了。另外需要注意的是,要做透明代理的话,要修改 /etc/init.d/shadowsocks 文件,并在其中启用 ss-redir 来读取配置文件(),否则没法配合 iptables 来做透明代理。
如果怕掉线并希望掉线后重连,那么可以将下面的监控脚本:
- */2 * * * * isfound=$(ps | grep "ss-redir" | grep -v "grep"); if [ -z "$isfound" ]; then echo "$(date): restart ss-redir...">>/tmp/log/ss-monitor.log && /etc/init.d/shadowsocks restart; fi
复制代码
此外,还有个 pdnsd 的东东也是个 DNS 软件,作用类似于 dnsmasq ,可以安装并研究一下。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|