背景介绍[size=1em]对于很多技术人员来说,网上查找资料是工作的一部分,国内百度虽然可以用,但是只能收到一些普通大众化的资料,对于更多专业的资料还是不多。而国外的搜索引擎谷歌虽然好用,由于众所周知的原因,国内无法使用。无奈之下,花钱买了一些翻墙工具,不久也被屏蔽,网上的一些免费的翻墙工具,大多数都不稳定,不适合专业人员长期使用。痛定思痛,决定自己搭建一台服务器用于访问国外网站。 一、为什么选用shadowsocks?[size=1em]其实翻墙工具有很多,比较出名的有VPN,ssh通道等方法,而我为什么选用shadowsocks呢?原因很简单:天朝的GFW 比较牛,shadowsocks比较不容易被封。性能也比较稳定,搭建起来也不难。 二、shadowsocks原理介绍. 介绍shadowsocks原理,必须要先了解我们现在网络访问过程
正常情况下,我们访问各种网站都是简单而直接的,用户的请求通过互联网发送到服务提供方,服务提供方直接将信息反馈给用户,如下图所示:
我们国家为了控制国内对国外网络的访问,在中间加了一层防火墙GFW,他像一个收费站一样夹在了在用户和服务之间,每当用户需要获取信息,都经过了 GFW,GFW将它不喜欢的内容统统过滤掉,于是客户当触发 GFW 的过滤规则的时候,就会收到 Connection Reset 这样的响应内容,而无法接收到正常的内容。如下图:
而shadowsocks的出现解决了这一难题,他的访问过程是这样的:
1. 客户端发出的请求基于 Socks5 协议跟 ss-local 端进行通讯,由于这个 ss-local 一般是本机或路由器
局域网的其他机器,不经过 GFW,所以解决了上面被 GFW 通过特征分析进行干扰的问题(1、6)
2. ss-local 和 ss-server 两端通过多种可选的加密方法进行通讯,经过 GFW 的时候是常规的TCP包,没有明显的特征码而且 GFW 也无法对通讯数据进行解密( 2、5)
3. ss-server 将收到的加密数据进行解密,还原原来的请求,再发送到用户需要(3、4) [size=1em]终上所述,shadowsocks的作用是产生一个代理,包装请求,从而瞒过GFW的监控,达到访问外网的目的。 三、shadowsocks安装环境准备开始安装,shadowsocks可以在多种操作系统下运行。yum install python-setuptools && easy_install pippip install git+https://github.com/shadowsocks/shadowsocks.git@master- 如果你的系统是Debian 或者 Ubuntu,可以使用下面命令安装
apt-get install python-pippip install git+https://github.com/shadowsocks/shadowsocks.git@master查看是否安装成功,可以使用 ssserver -h 命令如果没有ssserver命令的话,一般是在/usr/local/bin目录下,如下:我们只需要把/usr/local/bin加入到/etc/profile文件中即可配置shadowsocks在/etc/shadowsocks 文件夹下(如果没有改文件夹,则使用 mkdir /etc/shadowsocks 命令新建一个文件夹)新建一个配置文件config.json,并写入如下命令:{"server":"0.0.0.0","server_port":1234,"local_address":"127.0.0.1","local_port":1080,"password":"******","timeout":300,"method":"aes-256-cfb","fast_open":false,"workers": 1}- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
主要参数说明{"server":"", ##服务器ip地址"server_port":1234, ##代理端口"local_address":"127.0.0.1","local_port":1080, ##本地监听端口"password":"******", ##连接密码"timeout":300,"method":"aes-256-cfb", ##加密方式"dast_open":false}shadowsocks的启动与关闭- 使用 ssserver -c /etc/shadowsocks/config.json -d start 命令启动
- 使用 netstat -tunlp 命令查看
- 使用ssserver -c /etc/shadowsocks/config.json -d stop命令停止
连接shadowsocks打开谷歌网站,即可畅游谷歌了
|