一、目的用途
用于网络代理转发请求,隐藏真实的请求ip地址,或者用于绕过网络限制的目标服务器,将自己的访问请求到代理服务器,通过网络代理服务器将请求转发到目标服务器
二、安装Socks5前的准备
1、从官网下载ss5安装包,
ss5 官网:http://ss5.sourceforge.net/
下载地址:https://sourceforge.net/projects/ss5/files/
或者直接在服务器上运行如下命令,在安装包加载到指定的文件夹中
wget https://nchc.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
2、运行命令解压安装包,命令如下
tar -zxvf ss5-3.8.9-8.tar.gz
3、解压完成后,进行编译安装,执行一下命令
先,加载安装ss5安装环境所需要的依赖包,运行一下命令
yum -y install pam-devel openldap-devel openssl-devel
然后,进行编译安装,将目录切换至ss5的安装目录下后,运行以下命令
./configure
make
make install
命令执行完成之后,要是没有报错,说明安装成功
三、安装完成,测试连接
安装成功之后,测试是否能正常连接前需要修改一下ss5配置文件,文件位置
/etc/opt/ss5/ss5.conf
将下面两行的注释去掉,然后保存修改
auth 0.0.0.0/0 - -
permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - -
修改完成之后,启动ss5应用程序
service ss5 start
可使用其他命令,查看ss5的状态,或者关闭ss5应用
service ss5 status
service ss5 stop
四、在安装过程中,可能出现的报错以及对应的解决方案
1、在make编译过程报如下错误
SS5Supa.c: In function 'ss5_secure_dh_compute_key':
SS5Supa.c:208:5: error: dereferencing pointer to incomplete type
ss->p = BN_bin2bn ((pippo->p), pippo->lenp, NULL);
报错原因:openssl的版本过高,需要降级openssl版本
解决方案:安装编译 openssl 1.0.2
下载地址:https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
编译安装,执行以下命令
./config shared --prefix=/opt/openssl
make
make install
检查openssl是否安装成功,查看openssl的版本
openssl version
2、在make编译过程中,报以下错误
cfns.gperf: In function 'const char* libc_name_p(const char*, unsigned int)':
cfns.gperf:101:1: error: 'const char* libc_name_p(const char*, unsigned int)' redeclared inline with 'gnu_inline' attribute
报错原因:gcc g++的版本过高,需要降低版本,可以使用gcc 4.8.5的版本进行安装
解决方案:可以使用离线方式直接进行安装,首先下载离线安装包
gcc安装需要的离线包
cpp-4.8.5-44.el7.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm
glibc-devel-2.17-317.el7.x86_64.rpm
glibc-headers-2.17-326.el7_9.x86_64.rpm
kernel-headers-3.10.0-1160.105.1.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
mpfr-3.1.1-4.el7.x86_64.rpm
ntfs-3g_ntfsprogs-2017.3.23.tgz
g++安装需要的离线包
cc-c++-4.8.5-44.el7.x86_64.rpm
libstdc++-4.8.5-44.el7.x86_64.rpm
libstdc++-devel-4.8.5-44.el7.x86_64.rpm
离线安装包下载完成后,执行以下命令进行安装
rpm -ivh *.rpm --nodeps --force
检查是否安装成功,查看gcc、g++的版本
查看gcc版本 gcc -v
查看g++版本 g++ -v
版本显示为安装的版本,则表示安装成功
3、在ss5的编译安装过程中,可能报inline等函数未定义的报错提示
报错原因:可能是因为ss5的./configure配置文件有问题
解决方案:执行以下命令,然后默认安装不影响
export CPPFLAGS='-I/opt/openssl/include/'
export LDFLAGS='-L/opt/openssl/lib'
./configure
make
make install
最后检查ss5的安装版本,若显示正确,则表示安装成功
查看ss5版本 ss5 -v