搭建 socks5 代理服务器

```
yum -y install gcc automake make pam-devel openldap-devel cyrus-sasl-devel openssl-devel

```

## 下载并解压源码

```
wget https://superb-dca2.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
tar xvf ss5-3.8.9-8.tar.gz
cd ss5-3.8.9
```

## 编译安装

```
./configure
make
make install
```

## 代理配置

```
vim /etc/opt/ss5/ss5.conf
找到
# ///////////////////////////////////////////////////////////////////////////////////
#       SHost           SPort           Authentication
#
#auth    0.0.0.0/0               -               -
```

把它改成

```
# ///////////////////////////////////////////////////////////////////////////////////
#       SHost           SPort           Authentication
#
auth    0.0.0.0/0               -               u

```

另外，找到

```
# /////////////////////////////////////////////////////////////////////////////////////////////////
#      Auth     SHost           SPort   DHost           DPort   Fixup   Group   Band    ExpDate
#
#permit -       0.0.0.0/0       -       0.0.0.0/0       -       -       -       -       -
```

把它改成

```
# /////////////////////////////////////////////////////////////////////////////////////////////////
#      Auth     SHost           SPort   DHost           DPort   Fixup   Group   Band    ExpDate
#
permit u       0.0.0.0/0       -       0.0.0.0/0       -       -       -       -       -

```

在这两个改动中，第一，我们取消了 `auth` 和 `permit` 的注释；第二，把原来的某个 `-` 改成了 `u`。前者无需多解释，后面是因为我们打算增加用户名和密码认证，因此用 `u` 来标识。默认是不需要认证的。

第二步，增加用户名和密码认证。编辑文件：

```
vim /etc/opt/ss5/ss5.passwd

```

每行一个用户 + 密码（之间用空格），按需增加。

```
user1 12345
user2 56789
```

第三步，修改启动参数，自定义端口。编辑文件,不修改参数则默认端口1080

```
vi /etc/sysconfig/ss5
```

找到注释行

```
#SS5_OPTS=" -u root"
```

把注释打开。也可以重启一行，并修改成如下配置

```
SS5_OPTS=" -u root -b 0.0.0.0:10801"
```

其中 `10801` 是对外开放的端口号。

如果重启以后无法启动ss5则修改这里为

```
SS5_OPTS=" -p /var/run/ss5.pid"
```

## 防火墙开放端口

如果不使用防火墙，可跳过这一节。通过如下命令，为防火墙打开 `1080` 端口号。

```
firewall-cmd --zone=public --add-port=1080/tcp --permanent
firewall-cmd --reload
```

## 启动服务

首先给 bash 文件增加可执行权限：

```
chmod 755 /etc/rc.d/init.d/ss5
```

这时候就可以启动服务了

```
service ss5 start
```

至此，ss5 服务已经启动起来了。可通过如下命令查看连接情况

```
netstat -an | grep 10801
```

如果想要关闭服务，只需要执行如下命令即可

```
service ss5 stop
```

重启服务也类似

```
service ss5 restart
```



###### 参考文档

```bash
参考文档:  https://www.dale6.com/archives/32130.html
```





















