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

相关推荐
Dragon~Snow1 分钟前
Linux Centos9 安装 Elasticsearch
linux·elasticsearch·jenkins
熊延1 分钟前
麒麟V10系统安装部署elasticsearch
linux·运维·服务器·elasticsearch·搜索引擎·全文检索
Jia ming7 分钟前
跟踪器与事件使用举例
linux·事件·跟踪器
生活很暖很治愈19 分钟前
Linux——基础IO&软硬链接
linux·ubuntu
2401_8589368831 分钟前
【Linux C 编程】标准 IO 详解与实战:从基础接口到文件操作实战
linux·c语言
迎仔34 分钟前
B-算力中心网络隔离的必要性:为什么必须隔离?
网络
Roc.Chang43 分钟前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
松涛和鸣1 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
野指针YZZ1 小时前
一键配置RK3588网络与SSH远程连接
网络·ssh·rk3588
简单中的复杂2 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件