Linux搭建Socks5网络代理服务器,Centos 8 系统

一、目的用途

用于网络代理转发请求,隐藏真实的请求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

相关推荐
VVVVWeiYee1 小时前
TCP/UDP详解(一)
运维·网络·tcp/ip·udp·信息与通信
Xの哲學2 小时前
Linux PCI 子系统:工作原理与实现机制深度分析
linux·网络·算法·架构·边缘计算
谢尔登2 小时前
【计算机网络】 IPV4和IPV6区别
运维·服务器·计算机网络
@Demi2 小时前
vsCode或Cursor 使用remote-ssh插件链接远程终端
服务器·ide·vscode·ssh
he_xiao1232 小时前
centos配置ip地址不生效
linux
努力努力再努力wz2 小时前
【c++进阶系列】:万字详解多态
java·linux·运维·开发语言·c++
zzz.102 小时前
Linux问答题:调优系统性能
linux·运维·云原生
地球被支点撬走啦3 小时前
jetson ubuntu 打不开 firefox和chromium浏览器
linux·firefox·jetson
Lovyk3 小时前
完整实验命令解析:从集群搭建到负载均衡配置
linux·运维·服务器
qq_341160443 小时前
文件系统挂载详细分析(《图解Linux内核》虚拟文件系统篇笔记二)
linux·服务器·笔记