Centos搭建socks5代理服务器
安装ss5
首先需要准备一台服务器用作代理服务器,这里用了Centos的云服务器来作配置 安装依赖环境如下
yum -y install gcc openldap-devel pam-devel openssl-devel
创建好一个soft目录,进入该目录后,wget下载好ss5安装文件
wget http://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz 或 wget https://nchc.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz --no-check-certificate
解压安装文件
tar xf ss5-3.8.9-8.tar.gz
进入目录后进行编译
cd ss5-3.8.9 ./configure make && make install
如果没有报错的话说明成功安装ss5
修改配置文件
接下来修改配置文件,首先进行备份
cp /etc/opt/ss5/ss5.conf{,.bak}
修改配置文件
vi /etc/opt/ss5/ss5.conf
:set nu 可以标注行号,找到87行取消注释,注意后面的u,注意:这里如果不需要添加用户密码认证仅去掉注释即可
#auth 0.0.0.0/0 - - 修改为 auth 0.0.0.0/0 - u
找到第203行取消注释,同时开启认证 注意修改的那个u注意:这里如果不需要添加用户密码认证仅去掉注释即可,也不需要修改/etc/opt/ss5/ss5.passwd文件
#permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - - 修改为 permit u 0.0.0.0/0 - 0.0.0.0/0 - - - - -
:wq 保存配置并退出
添加用户名和密码
在/etc/opt/ss5/ss5.passwd文件中可以添加用户名和密码,每行写一个用户名和密码,用户名和密码用空格隔开,例如:
admin 123456
如果实际需要,建议增加密码复杂度
修改ss5端口
修改端口配置文件
vi /etc/sysconfig/ss5
第2行取消注释,同时修改为自己需要的端口,默认端口为1080
SS5_OPTS=" -u root -b 0.0.0.0:9988"
调整ss5性能(可选)
这里依据实际需求调整,主要在修改系统资源配置,如果ss5不影响正常使用或使用人数较少可以不修改
ulimit -SHn 10240 ulimit -SHs unlimited echo 100000 >/proc/sys/net/nf_conntrack_max
修改ss5启动权限
修改执行权限
chmod u+x /etc/rc.d/init.d/ss5 chmod +x /etc/init.d/ss5
开机自启动(3.8.9-8的一个bug,重启会删掉/var/run/ss5/,导致开机自启动时无法创建pid文件)
echo 'mkdir /var/run/ss5/' >> /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local chkconfig --add ss5 chkconfig --list|grep ss5
启动ss5服务
启动ss5并检查状态
/etc/init.d/ss5 start #systemctl start ss5 #systemctl status ss5 #查看监听端口 netstat -lntup | grep 9988 #查看日志 tail -f /var/log/ss5/ss5.log #关闭日志 sed -i.bak 's/-t/-m -t/g' /etc/init.d/ss5 && /etc/init.d/ss5 reload
添加防火墙
firewall-cmd --permanent --zone=public --add-port=9988/tcp firewall-cmd --reload
客户端测试
curl myip.ipip.net --socks5 admin:123456@192.168.238.100:9988 或通过支持socket5的客户端测试。