当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python实战,桌面小游戏,剪刀石头布
  • 【SVN的使用-源代码管理工具-命令行的使用 Objective-C语言】
  • 数据结构排序算法(图示突然传不上来,后面再更新)
  • IT之家最新科技热点 | 小米 AI 研究院开创多模态通用模型
  • 数字化精益生产系统--QMS质量管理系统
  • Python爬虫获取视频
  • git 禁止dev合并到任何其他分支
  • Linux|信号
  • python函数和c的区别有哪些
  • C++下Protobuf学习
  • 基于Maximin的异常检测方法(MATLAB)
  • AI编程探索- iOS 实现类似苹果地图 App 中的半屏拉起效果
  • hive表小练习
  • 深入解析 MySQL 的 SHOW FULL PROCESSLIST
  • 【leetcode64-69二分查找、70-74栈、75-77堆】
  • SegmentFault for Android 3.0 发布
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • avalon2.2的VM生成过程
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Redux系列x:源码分析
  • REST架构的思考
  • 分布式任务队列Celery
  • 高度不固定时垂直居中
  • 来,膜拜下android roadmap,强大的执行力
  • 通过git安装npm私有模块
  • 再次简单明了总结flex布局,一看就懂...
  • zabbix3.2监控linux磁盘IO
  • 函数计算新功能-----支持C#函数
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • #13 yum、编译安装与sed命令的使用
  • #QT(QCharts绘制曲线)
  • (6)添加vue-cookie
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (十二)Flink Table API
  • (已解决)什么是vue导航守卫
  • (转)菜鸟学数据库(三)——存储过程
  • (转)人的集合论——移山之道
  • (转)我也是一只IT小小鸟
  • .Mobi域名介绍
  • .NET BackgroundWorker
  • .NET Core引入性能分析引导优化
  • .NET 材料检测系统崩溃分析
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net通过类组装数据转换为json并且传递给对方接口
  • .NET学习全景图
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .NET值类型变量“活”在哪?
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @antv/x6 利用interacting方法来设置禁止结点移动的方法实现。
  • @ComponentScan比较
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [BZOJ 3282] Tree 【LCT】
  • [C/C++] C/C++中数字与字符串之间的转换
  • [C++基础]-入门知识