通过搭建搭理服务器,并将本地的主机连接到代理服务器上,来实现突破网关的限制随意上网。

前提条件

首先需要一台局域网外的服务器,这里我使用的是云服务器,系统为centos。

安装shadowsock

  • 安装python2和python3
1
2
sudo yum install python2
sudo yum install python3
  • 安装pip3和setuptools
1
2
sudo yum install python3-pip
sudo yum install python3-setuptools
  • 安装shadowsock
1
pip3 install https://github.com/shadowsocks/shadowsocks/archive/master.zip
  • 查看安装版本
1
ssserver --version

配置 “shadowsocks”服务

创建 shadowsocks.json 配置文件

1
sudo vim /etc/shadowsocks.json

编辑 shadowsocks.json 内容

1
2
3
4
5
6
7
8
9
{
"server":"服务器公网IP",
"server_port":7878, // 对外提供服务的端口,注意防火墙要允许该端口开放
"local_address": "127.0.0.1",
"local_port":1080,
"password":"password", // shaodowsocket 客户端连接需要的密码
"timeout":300,
"method":"aes-128-ctr" // 通信过程使用的加密算法
}

PS:注意去掉后面的注释

启动shadowsocks

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

进阶配置【使用 systemctl 管理、并实现开机自启】

创建 shadowsocks.service文件

1
vim /lib/systemd/system/shadowsocks.service

复制粘贴一下内容,然后保存退出

1
2
3
4
5
6
7
8
9
10
[Unit]
Description=Shadowsocks Server
After=network.target

[Service]
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks.json
Restart=on-abort

[Install]
WantedBy=multi-user.target

使用 systemctl 和 service 进行管理

1
2
3
4
5
6
# 启动、查看状态、停止 shadowsocks 服务[ 下面的两种方式都可以, ".service" 可以省略]
systemctl [start、status、stop] shadowsocks.service
service shadowsocks.service [start、status、stop]

# 开机自启【开启、关闭】
systemctl [enable、disable] shadowsocks.service

客户端安装和配置使用 Shadowsocks

直接给出该项目地址:https://github.com/shadowsocks,熟悉 GitHub 都知道如何自己找下载链接。下面直接列出常用的下载地址。