
CentOS7安装shadowsocks搭建VPN
买一个国外的云服务器
添加epel源,确保可以正确安装shadowsocks的各项依赖
yum install epel-release -y #安装epel-release扩展软件包
yum clean all #安装完epel后清理配置并重建缓存
yum makecache #刷新缓存
yum update #更新yum
```plain
yum install git -y
git clone https://github.com/shadowsocks/shadowsocks-libev.git #克隆shadowsocks
cd shadowsocks-libev # 进入刚下载的源码目录
git submodule update --init --recursive # 更新子模块
```plain
#接下来安装shadowsocks需要的各种依赖
yum install vim gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel -y
依赖全部成功安装后,用源码编译安装shadowsocks
./autogen.sh && ./configure && make
make完成后进行安装
make install
用户配置
在任意目录下建立一个配置文件,例如在root目录下建立ss_serverConfig
vim /root/ss_serverConfig
```plain
{
"server": "0.0.0.0",
"server_port": 8400,
"local_port": 1080,
"password": "111111",
"timeout": 1000,
"method": "chacha20-ietf-poly1305"
}
这里server直接填0.0.0.0就行,
server_port端口8400,
local_port 本地端口
password密码自己改
method 加密方式,优先选chacha20-ietf-poly1305
配置完保存好之后运行命令
ss-server -c /root/ss_serverConfig
如下图所示,表示成功运行。
所以我们可以使用nohup使程序与登陆账户无关,不再接收账户退出时的退出信号。这样我们登出服务器后服务仍然继续运行着。
nohup ss-server -c /root/ss_serverConfig &
多用户配置(可选)
如果你要设置几个帐号登陆,可以创建多个配置文件
多用户配置文件与单用户不同,我们还是在root下创建一个ss_managerConfig
vi /root/ss_managerConfig
然后复制下面的配置内容并保存。这里请把#后面的注释删掉再使用,注释只是为了提示你要怎么配置。
多用户配置时,应用ss-manager而不是ss-server
{
"server": "111.111.111.111", # 你vps的ip地址
"local_port": 1080, # 本地端口,自行设定
"timeout": 600, # 超时毫秒数
"method": "chacha20-ietf-poly1305", # 加密方式,建议优先选chacha20-ietf-poly1305,若客户端不支持,可选aes-256-cfb
"port_password": {
"8388": "barfoo1", # 端口号与密码
"8389": "barfoo2"
}
}
运行下面的命令启动
ss-manager -c /root/ss_managerConfig
nohup ss-manager -c /root/ss_managerConfig &
设置shadowsocks开机自启动(可选)
根据,我们已经可以使shadowsocks服务良好地运行了,但是每次服务器重启了的话要重新运行一下
vim /usr/lib/systemd/system/vpn.service
将配置内容复制进去并保存,#后面的注释去掉
[Unit]
Description=shadowsocks manager
After=network.target
[Service]
Type=forking
ExecStart=/root/startVPN
PrivateTmp=true
[Install]
WantedBy=multi-user.target
将以上命令写在一个bash可执行文件中,例如startVPN。
vim /root/startVPN
复制一下脚本内容,这里第一行#!/bin/bash必须保留,否则后面执行会报错。
#!/bin/bash
cd shadowsocks-libev
nohup ss-server -c /root/ss_serverConfig &
保存文件后增加执行权限
chmod +777 startVPN
所有配置文件与脚本都设置完毕,使用systemctl开启服务。 更改.service文件后,都要重载守护进程更新systemctl
systemctl daemon-reload
启动服务
cd /usr/lib/systemd/system
systemctl start vpn.service
查看服务状态,若为绿色active(running)则说明服务成功启动
systemctl status vpn
设置服务开机自启动
systemctl enable vpn.service
可以使用 systemctl restart vpn 重启服务
使用 systemctl stop vpn 停止服务
安装shadowsocks客户端
Windows
https://github.com/shadowsocks/shadowsocks-windows/releases
安卓版
https://github.com/shadowsocks/shadowsocks-android/releases