CentOS7安装Shadowsocks搭建VPN+客户端使用教程

搭建环境:CentOS7.9,其他版本也可以

条件:准备一个香港或者国外的云服务器

搭建Shadowsocks VPN,安装配置都很简单,客户端支持PC和移动端,下面是安装Shadowsocks的过程,只要复制粘贴命令就行了,文件夹路径都不需要改。

登录连接服务器终端,开始下面的安装!

1.添加epel源,确保可以正确安装Shadowsocks的各项依赖
yum install epel-release -y

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

yum clean all
yum makecache

更新yum

yum update

中途如果询问 Is this ok? 输入y回车。

2.安装shadowsocks

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

yum install git -y

git安装完成后,下载shadowsocks源码

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

进入刚下载的源码目录

cd shadowsocks-libev

更新子模块

git submodule update --init --recursive

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

yum install 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
3.用户配置

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

vi /root/ss_serverConfig

回车后须使用vi命令编辑,这里说明下:(不清楚vi命令去查下)

Command(命令)模式,用于输入命令;

Insert(插入)模式,用于插入文本;

Visual(可视)模式,用于视化的的高亮并选定正文。

这里我们在界面输入命令i,然后回车进行插入文本。

复制粘贴下面的内容,这里建议手动输入:

{
    "server": "0.0.0.0", 
    "server_port": 8388, 
    "local_port": 1080, 
    "password": "111111", 
    "timeout": 1000, 
    "method": "chacha20-ietf-poly1305" 
}

这里server直接填0.0.0.0就行,server_port默认8388可以改,例如这里我改成8188,local_port也可以自己改,比如我改成1000。password密码自己可以改一下。method 加密方式,建议优先选chacha20-ietf-poly1305,若客户端不支持,可选aes-256-cfb。

输入完成后在界面下用键盘按下ESC退出输入,接着输入命令:wq保存并退出编辑。

查到后补充:

:w  保存;

:w  filename 另存为filename;

:wq! 保存退出;

:wq! filename 注:以filename为文件名保存后退出;

:q! 不保存退出;:x 应该是保存并退出 ,功能和:wq!相同

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

ss-server -c /root/ss_serverConfig

如下图所示,表示成功运行。

CentOS7安装Shadowsocks搭建VPN+客户端使用教程

这样运行之后如果我们退出连接服务就中断了。所以我们可以使用nohup使程序与登陆账户无关,不再接收账户退出时的退出信号。这样我们登出服务器后服务仍然继续运行着。

nohup ss-server -c /root/ss_serverConfig &

如果是多用户,那么运行

nohup ss-manager -c /root/ss_managerConfig &

如果运行完nohup命令看到 nohup: ignoring input and appending output to ‘nohup.out’这个消息,没关系不用管,服务在运行了。在键盘按下Ctrl+C可结束会话。

4.多用户配置(可选)

如果你要设置几个帐号登陆,可以创建多个配置文件。

多用户配置文件与单用户不同,我们还是在root下创建一个ss_managerConfig。

vi /root/ss_managerConfig

然后复制下面的配置内容并保存。这里请把#后面的注释删掉再使用,注释只是为了提示你要怎么配置。

多用户配置时,应用ss-manager而不是ss-server。

同样的,要使用上面讲的vi命令。

{
    "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
5.设置Shadowsocks开机自启动(可选)

我们已经可以使shadowsocks服务良好地运行了,但是每次服务器重启了的话要重新运行一下shadowsocks。我们就可以使用centos7的systemctl将程序注册为一个随着开机自动启动的服务。

注意:该方法基于CentOS7,不适用CentOS6。

centos7设置自启动时,在/usr/lib/systemd/system下新建一个.service文件,例如vpn.service。

vi /usr/lib/systemd/system/vpn.service

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

[Unit]
Description=shadowsocks manager # 服务的描述
After=network.target # 该服务跟在哪个服务后启动

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

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

因为ExecStart指令串仅接受“指令 参数 参数…”的格式,不能接受<,>,»,|,&等特殊字符,很多的 bash 语法也不支持。 所以,要使用这些特殊的字符时,直接写入到指令脚本里面。

将以上命令写在一个bash可执行文件中,例如startVPN。

vim /root/startVPN

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

#!/bin/bash
cd shadowsocks-libev
nohup ss-server -c /root/ss_serverConfig &

保存文件后增加执行权限

chmod 754 startVPN

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

systemctl daemon-reload

启动服务

cd /usr/lib/systemd/system
systemctl start vpn.service

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

systemctl status vpn.service

CentOS7安装Shadowsocks搭建VPN+客户端使用教程

若为红色说明服务启动失败,一般是端口号被占用的问题。

查询端口号是否被占用,例如我的端口号为8188

sudo lsof -i tcp:8188

CentOS7安装Shadowsocks搭建VPN+客户端使用教程

查到端口被占用,终结进程,我的PID是17042

sudo kill -9 17042

然后重复上面的启动服务命令,查看服务状态。

设置服务开机自启动

systemctl enable vpn.service

可以使用 systemctl restart vpn.service 重启服务,使用 systemctl stop vpn.service 停止服务

6.安装shadowsocks客户端

Windows

https://github.com/shadowsocks/shadowsocks-windows/releases

安卓版

https://github.com/shadowsocks/shadowsocks-android/releases

其他版本到shadowsocks的github主页上自己找下

https://github.com/shadowsocks

下面以Windows版本为例,下载后直接解压缩运行即可。

CentOS7安装Shadowsocks搭建VPN+客户端使用教程

然后输入一下VPN地址和密码(服务器地址和你设的密码)

CentOS7安装Shadowsocks搭建VPN+客户端使用教程

配置好后,可以看到任务栏有个小三角标,然后点击图标右键打开系统代理即可,如果不要代理就选禁用。我这里选的全局模式,其他模式大家自己摸索了。

参考文章:https://www.leavescn.com/Articles/Content/1244

本页作者:czhdawn,如若转载,请注明出处:https://www.czhdawn.cn/archives/4374

(1)
czhdawn的头像czhdawn
上一篇 2023年5月18日 10:10
下一篇 2023年11月5日 12:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注