详解网络代理 shadowsocks 的搭建和使用
2020-07-09 12:14:39 最后更新: 2020-07-25 13:24:51 访问数量:2684
2020-07-09 12:14:39 最后更新: 2020-07-25 13:24:51 访问数量:2684
出于安全性考虑,很多机构的内网并不对外暴露,而机构成员身处外网想要访问内网又是一个非常常见的需求
那么,这该如何解决呢?我们需要搭建一个通道,或者说一个梯子,让外网以加密传输的方式将请求转发到内网
本文我们就来详细介绍一下,如何搭建这样的一个梯子,实现网络代理的加密传输
VPN 全称“虚拟私人网络(Virtual Private Network)”,是一种加密通讯技术
他包含了很多种具体的实现方式:PPTP、L2TP、IPSec、openvpn 等等
VPN 的优势在于其传输安全性,尤其是后来在应用层额外增加 SSL 加密协议后,安全性更加能够保障,是许许多多企业用来在公共网络上建立专用网络的工具
VPN 的缺点也很明显,那就是他的特征非常明显,有经验的黑客通过抓包是完全能够知道你正在使用 VPN 的,即便是 VPN 强有力的安全性保证了数据不泄露,也很有可能被黑客识别后阻断
本文,我们详细来介绍一下 shadowsocks 的搭建,同样,shadowsocks 也是实现网络代理的常见手段
shadowsocks 是知乎网络有限公司的一名程序员在 2013 年编写的加密传输协议,他有着更加完善的加密算法,且搭建极为简单
国内外许许多多的开发者按照 shadowsocks 的协议编写了多语言、多平台版本,因此使用 shadowsocks 完全不需要担心你的平台是否被支持等问题
本文,我们就来详细介绍一下 shadowsocks 的搭建和使用吧,服务端以 centos 为例,客户端以 ubuntu 为例,windows 用户直接下载客户端软件打开即可运行,不需要过多讲解了
执行下列命令安装 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
创建配置目录 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 项,写入你自己设置的密码即可
执行:
ssserver -c /etc/shadowsocks/config.json -d start
shadowsocks 客户端安装非常简单,你可以采用命令行方式安装或者采用 QT 客户端的方式安装
下面进行分别介绍
按照上述服务端安装方式安装后,除了 ssserver 外,bin 路径下还有一个 sslocal 文件,我们同样配置 config.json,然后执行 sslocal -c /etc/shadowsocks/config.json
就可以实现客户端的启动了
如果你更习惯于像在 windows 上一样通过一个可视化的客户端来使用 shadowsocks 的话,github 上还有一个基于 QT5 实现的可视化版本:
https://github.com/shadowsocks/shadowsocks-qt5
出于某些原因,原本直接提供的 deb 安装文件目前已经无法在 github 上找到了,因此你需要手动编译安装
执行:
sudo apt install libsodium-dev qt5-qmake qtbase5-dev libqrencode-dev libappindicator-dev libzbar-dev
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
pip install shadowsocks
git clone https://github.com/shadowsocks/libQtShadowsocks.git
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
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