详解网络代理 shadowsocks 的搭建和使用

2020-07-09 12:14:39   最后更新: 2020-07-25 13:24:51   访问数量:649




出于安全性考虑,很多机构的内网并不对外暴露,而机构成员身处外网想要访问内网又是一个非常常见的需求

那么,这该如何解决呢?我们需要搭建一个通道,或者说一个梯子,让外网以加密传输的方式将请求转发到内网

本文我们就来详细介绍一下,如何搭建这样的一个梯子,实现网络代理的加密传输

 

VPN

VPN 全称“虚拟私人网络(Virtual Private Network)”,是一种加密通讯技术

他包含了很多种具体的实现方式:PPTP、L2TP、IPSec、openvpn 等等

VPN 的优势在于其传输安全性,尤其是后来在应用层额外增加 SSL 加密协议后,安全性更加能够保障,是许许多多企业用来在公共网络上建立专用网络的工具

VPN 的缺点也很明显,那就是他的特征非常明显,有经验的黑客通过抓包是完全能够知道你正在使用 VPN 的,即便是 VPN 强有力的安全性保证了数据不泄露,也很有可能被黑客识别后阻断

 

shadowsocks

本文,我们详细来介绍一下 shadowsocks 的搭建,同样,shadowsocks 也是实现网络代理的常见手段

shadowsocks 是知乎网络有限公司的一名程序员在 2013 年编写的加密传输协议,他有着更加完善的加密算法,且搭建极为简单

国内外许许多多的开发者按照 shadowsocks 的协议编写了多语言、多平台版本,因此使用 shadowsocks 完全不需要担心你的平台是否被支持等问题

本文,我们就来详细介绍一下 shadowsocks 的搭建和使用吧,服务端以 centos 为例,客户端以 ubuntu 为例,windows 用户直接下载客户端软件打开即可运行,不需要过多讲解了

 

 

安装 shadowsocks

执行下列命令安装 shadowsocks:

# 安装 epel

wget http://ftp.riken.jp/Linux/fedora/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh epel-release-latest-7.noarch.rpm

# 安装 python

yum install python-pip

pip install --upgrade pip

# 安装 shadowsocks

pip install shadowsocks

 

配置 shadowsocks

创建配置目录 mkdir  -p /etc/shadowsocks

编辑 config.json:

{

"server":"0.0.0.0",

"server_port":9999, 

"local_port":1080, 

"password":"",

"timeout":600,

"method":"aes-256-cfb",

"fast_open":false

}

 

修改上面配置中的 password 项,写入你自己设置的密码即可

 

启动 shadowsocks 服务

执行:

ssserver -c /etc/shadowsocks/config.json -d start

 

shadowsocks 客户端安装非常简单,你可以采用命令行方式安装或者采用 QT 客户端的方式安装

下面进行分别介绍

 

命令行方式

按照上述服务端安装方式安装后,除了 ssserver 外,bin 路径下还有一个 sslocal 文件,我们同样配置 config.json,然后执行 sslocal -c /etc/shadowsocks/config.json 就可以实现客户端的启动了

 

QT 客户端

如果你更习惯于像在 windows 上一样通过一个可视化的客户端来使用 shadowsocks 的话,github 上还有一个基于 QT5 实现的可视化版本:

https://github.com/shadowsocks/shadowsocks-qt5

 

出于某些原因,原本直接提供的 deb 安装文件目前已经无法在 github 上找到了,因此你需要手动编译安装

 

安装 libsodium 等一系列依赖

执行:

sudo apt install libsodium-dev qt5-qmake qtbase5-dev libqrencode-dev libappindicator-dev libzbar-dev

 

安装 libbotan-2.x

wget https://botan.randombit.net/releases/Botan-2.3.0.tgz

tar xvf Botan-2.3.0.tgz

cd Botan-2.3.0

./configure.py

make

sudo make install

sudo ldconfig

 

安装 shadowsockslib

pip install shadowsocks

 

安装 libQtShadowsocks

git clone https://github.com/shadowsocks/libQtShadowsocks.git

mkdir build

cd build

cmake ..

make

sudo make install

sudo ldconfig

 

安装 Shadowsocks-Qt5

git clone https://github.com/shadowsocks/shadowsocks-qt5.git

cd shadowsocks-qt5

mkdir build

cd build

cmake ..

make

sudo make install

sudo ldconfig

 

这之后你就可以在应用面板里看到 shadowsocks-qt5 的启动方式了,点击即可启动

 

无论你是在命令行启动 shadowsocks 还是在 shadowsocks-qt5 中配置并连接

在此之后,打开系统网络代理设置,将 socks 代理设置为 127.0.0.1:1080 即可完成代理设置

你也可以下载 chrome 插件 Proxy SwitchyOmega 实现在 chrome 上的代理切换

 

 

如果要在命令行使用 socks5 代理,需要安装一个代理管理工具 proxychains4,在各发行版的包管理工具中都可以直接安装

安装好后,在 /etc/proxychains4.conf 配置文件中添加:

socks5  127.0.0.1 1080 

 

然后执行下面的命令就可以测试是否生效了:

proxychains4 curl www.google.com 

 

欢迎关注微信公众号,以技术为主,涉及历史、人文等多领域的学习与感悟,每周三到七篇推文,只有全部原创,只有干货没有鸡汤

 

 






代理      shadowsocks      vpn     


京ICP备15018585号