CentOS7安装shadowsocks搭建梯子

在某些情况下,我们的网络连接可能会受到限制或者被屏蔽. 这时候 我们就需要使用一些工具来帮助我们突破这些限制

Shadowsocks 简介

Shadowsocks(中文名称:影梭)是一个跨平台软件、基于Apache许可证的开放源代码软件,用于保护网络流量、加密数据传输

Shadowsocks使用Socks5代理方式,分为服务器端和客户端,是一个轻量级SOCKS5代理

环境: CentOS版本是7.6(其他版本也可以) 云服务器(不需要太高的配置,只考虑网速带宽)

1. 添加epel源 确保可以正确安装shadowsocks的各项依赖

1
yum install epel-release -y

安装完epel后清理配置并重建缓存

1
yum clean all && yum makecache

更新yum 中途如果询问 Is this ok? 输入y回车

1
yum update

2. 安装shadowsocks

首先安装git并用git下载shadowsocks源码

1
yum install git -y

git安装完成后 下载shadowsocks源码

1
git clone https://github.com/shadowsocks/shadowsocks-libev.git

进入刚下载的源码目录

1
cd shadowsocks-libev

更新子模块

1
git submodule update --init --recursive

接下来安装各种依赖 要注意输出的安装信息确保所有依赖正确安装 如各别依赖无法自动安装则需手动安装 一般正确更新了epel源都可以自动安装所有依赖

1
yum install gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel -y

依赖全部成功安装后 用源码编译安装shadowsocks

1
./autogen.sh && ./configure && make

make完成后进行安装

1
make install

在任意目录下建立一个配置文件 例如在root目录下建立ServerConfig

1
vi /root/ServerConfig

然后把下面的配置内容拷贝进去

PS: server_port代表对外使用端口 后续需要放行 password代表密码 需要自行修改 method代表加密方式

1
2
3
4
5
6
7
8
{
"server": "0.0.0.0",
"server_port": 8388,
"local_port": 1080,
"password": "111111",
"timeout": 600,
"method": "aes-256-gcm"
}

配置完保存好之后运行命令

1
ss-server -c /root/ServerConfig

如果出现running from root user 表示成功运行

3. 后台运行

1
nohup ss-server -c /root/ServerConfig &

4. 开机自启

Centos7设置自启动时 在/usr/lib/systemd/system下新建一个.service文件 例如shadowsocks.service

1
vi /usr/lib/systemd/system/shadowsocks.service

将配置内容复制进去并保存 #后面的注释去掉

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=shadowsocks manager # 服务的描述
After=network.target # 该服务跟在哪个服务后启动

[Service]
Type=forking # 启动时的进程行为,forking是以fork形式从父进程创建子进程,子进程创建后父进程退出
ExecStart=/root/start_ss # 启动服务时执行的命令
PrivateTmp=true # 使用私有临时文件目录

[Install]
WantedBy=multi-user.target # 附挂在multi-user.target下

将以下命令写在一个bash可执行文件中 例如start_ss

1
vim /root/start_ss

复制一下脚本内容 这里第一行#!/bin/bash必须保留 否则后面执行会报错

1
2
3
#!/bin/bash
cd shadowsocks-libev # 源码绝对路径
nohup ss-server -c /root/ServerConfig &

保存文件后增加执行权限

1
chmod 754 start_ss

所有配置文件与脚本都设置完毕 使用systemctl开启服务 更改.service文件后 都要重载守护进程更新systemctl

1
systemctl daemon-reload

启动服务

1
cd /usr/lib/systemd/system && systemctl start shadowsocks.service

查看服务状态 若为绿色active(running)则说明服务成功启动

1
systemctl status shadowsocks.service

设置服务开机自启动

1
systemctl enable shadowsocks.service

可以使用 systemctl restart shadowsocks.service 重启服务 使用 systemctl stop shadowsocks.service 停止服务
使用请放行对应端口