Linux搭建Socks5代理服务器
1、首先,编译安装SS5需要先安装一些依赖组件 “` <pre class=”wp-block-code”>“` yum -y install gcc gcc-c++ automake make pam-devel openldap-devel cyrus-sasl-devel openssl-devel “` “` 2、去官网下载SS5最新版本的源代码 “`
``` # 这个是一个日本大学的sourceforge镜像 wget http://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.g ``` ``` 然后解压压缩包: ```
``` # 解压,ss5-3.8.9-8.tar.gz是刚才下载的压缩包 # -v过程显示文件 -z解压/压缩gzip -x解压操作 -f 后面加要操作的文件 tar -vzx -f ss5-3.8.9-8.tar.gz ``` ``` 会解压出来很多文件,进入解压目录: ```
``` cd ss5-3.8.9/ ``` ``` 运行’./configure’ ```
``` # configure是一个shell脚本 # 主要的作用是对即将安装的程序进行配置, # 检查当前的环境是否满足要安装程序的依赖关系. # 如果系统环境合适,就会生成makefile,否则会报错。 ./configure ``` ``` 可以看到check通过了生成了makefile文件~ 这时,我们ls一下就会看到文件: 接下来我们按照makefile中的规则编译ss5。 # make是一个命令工具 # 解释 Makefile 中的规则。 # Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。 # 实际上make是执行Makefile中的第一条命令 make ```
``` # 执行Makefile中的install # 这些都可以在Makefile文件中看到 # 可以使用vim Makefile查看文件 make install ``` ``` #### ss5基本配置 这时我们启动ss5 service ss5 start 原因权限不足,我们修改一下权限: ``` <pre class="prettyprint" data-index="9"># a+x 给所有人加上可执行权限(所有者,所属组,其他) <br></br>chmod a+x /etc/init.d/ss5 ``` 再启动ss5,就没有问题了~ **目前为止只是安装上了ss5,也可以正常运行服务,但实际上代理服务还是用不了, 需要配置一下文件。** 首先我们打开ss5的配置文件。 在/etc/opt/ss5/ss5.conf
中找到auth和permit两行,按照下面的格式进行修改则不需要验证 ![](https://www.1234558.com/wp-content/uploads/2022/09/image-1024x304.png)![](https://www.1234558.com/wp-content/uploads/2022/09/image-1-1024x275.png)s5 默认使用1080端口,并允许任何人使用,如果要修改默认端口,请修改 /etc/sysconfig/ss5 ``` <pre class="wp-block-preformatted">在/etc/sysconfig/ss5这个文件中,添加下面这一行命令 ``` | 1234 |-u:后面为启动用户
-b:后面的参数代表监听的ip地址和端口号
# Add startup option here
SS5_OPTS=
-u root -b 0.0.0.0:8080
| |------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| 7、启动ss5 | 1 |
service ss5 start
| |---|---------------------| 8、如果在云服务器安装,请在安全组开放SS5监听的端口 9、使用QQ代理测试: ![](https://www.1234558.com/wp-content/uploads/2022/09/image-2.png)**如果需要配置访问权限,请按如下修改:** ``` <pre class="wp-block-code">``` a、开启用户名密码验证机制 vim /etc/opt/ss5/ss5.conf 在ss5.conf中找到auth和permit两行,按照下面的格式进行修改 auth 0.0.0.0/0 - u permit u 0.0.0.0/0 - 0.0.0.0/0 - - - - - b 、设置用户名和密码 vim /etc/opt/ss5/ss5.passwd 一行一个账号,用户名和密码之间用空格间隔,例如: user1 123 user2 234 c、重启服务生效 service ss5 restart ``` ``` 创建用户分组,以方便给不同的用户分配不同的访问权限: ```
``` 在/etc/opt/ss5目录中创建以用户分组名命名的文件,然后在相应的组用户文件中添加相应的用户。 需要创建两组用户: - 不受限制用户组:ulimit - 受限制用户组:limit 在/etc/opt/ss5目录里面创建ulimit和limit这两个文件,然后在这两个文件中分别填入 /etc/opt/ss5/ss5.passwd中已添加的用户,格式依旧是每行一个用户(不需要填写用户密码)。
请注意!/etc/opt/ss5目录下的这些文件必须能被Ss5服务的执行用户有读取权限(Ss5服务的默认执行用户是nobody)。 ``` ``` 设置不同用户组的访问控制: ```
``` # ulimit组用户不受限制 permit u 0.0.0.0/0 - 0.0.0.0/0 - - ulimit - - # limit组用户限制流量为512k permit u 0.0.0.0/0 - 0.0.0.0/0 - - limit 512000 - # 拒绝所有ip访问google permit u 0.0.0.0/0 - www.google.cn - - - - - ``` ```