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

相关推荐
红肤色6 分钟前
【网络安全基础】CentOS 7超详细安装教程(含镜像)
linux·运维·服务器·安全·网络安全·centos
良许Linux9 分钟前
为什么不让程序员直接对接客户,而是通过产品经理?
linux
钡铼技术物联网关14 分钟前
告别外置电路:IEPE接口如何重构精密测量生态?
linux·arm开发·5g·边缘计算
程序猿(雷霆之王)28 分钟前
Linux——冯 • 诺依曼体系结构&操作系统初识
linux·运维·服务器
Double Point28 分钟前
(三十三)Dart 中使用 Pub 包管理系统与 HTTP 请求教程
网络·网络协议·http
无名之逆1 天前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
大丈夫立于天地间1 天前
ISIS协议中的数据库同步
运维·网络·信息与通信
cg50171 天前
Spring Boot 的配置文件
java·linux·spring boot
Dream Algorithm1 天前
路由器的 WAN(广域网)口 和 LAN(局域网)口
网络·智能路由器
IT猿手1 天前
基于CNN-LSTM的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码
网络·cnn·lstm