站群服务器 CentOS 搭建socks5多IP代理服务器详细教程,12个步骤教会你!

准备工作

首先要保证服务上能正常使用wget   tar   make   vim,如果正常就直接进入【第一步】

#安装wget的命令
yum install wget#安装tar解压工具
yum install -y tar#安装make的命令
yum groupinstall "Development Tools"#安装vim的命令
yum install -y vim

第一步

使用yum安装gcc、OpenLDAP开发库、PAM开发库和OpenSSL开发库

yum install -y gcc openldap-devel pam-devel openssl-devel

第二步

使用wget 下载SS5安装包

wget http://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz

第三步

解压安装包

tar -vzx -f ss5-3.8.9-8.tar.gz

第四步

进入ss5目录安装ss5服务,依次执行一下命令,也可以全复制一起执行

cd ss5-3.8.9/;
./configure;
make;

 第五步

/etc/init.d/ss5文件添加执行权限

chmod a+x /etc/init.d/ss5

第六步

测试一下ss5服务是否能正常运行,如果不能正常运行,就根据错误解决问题

service ss5 start

如果能正常运行了,就执行以下命令,先关闭ss5服务,以便接下来做其他配置

service ss5 stop

 第七步

 修改ss5配置文件,使用vim打开ss5的配置文件      提示:按 i 键开启编辑模式

vim /etc/opt/ss5/ss5.conf

 找到auth的配置,默认是注释了的,先放开注释(就是把首行的#去掉),然后把Authentication这列改为u,以下是修改后的截图

找到permit的配置,放开注释,把auth这列改为u,以下是修改后的截图

 最后保存配置  提示:按Esc退出编辑模式,:wq  保存并且退出 

第八步

修改ss5的用户配置文件

vim /etc/opt/ss5/ss5.passwd

打开后是空文件,在这里面添加自己的代理账号和密码,格式:账号+英文空格+密码,以下是例子,自己配置自己的账号

user001 123456
user002 123456
user003 123456

 记得保存配置

然后再走一次【第六步】测试一下是否能正常运行

第九步

查看系统是否开启了IP转发功能

sysctl net.ipv4.ip_forward

net.ipv4.ip_forward = 0 就是未开启    net.ipv4.ip_forward = 1  就是已经开启了

接下来开启系统的IP转发功能功能,打开系统配置文件

vim /etc/sysctl.conf

找到一行类似于net.ipv4.ip_forward=0的配置项。如果没有找到该配置项,可以在文件的末尾添加一行net.ipv4.ip_forward=1,如下

使新的配置生效

sysctl -p

检查是否已经成功设置为1

sysctl net.ipv4.ip_forward

第十步

把刚才配置的账号密码添加到系统用户,就是ss5.passwd里的账号,如果要批量添加,每一行命令要加分号

useradd user001 -p 123456;
useradd user002 -p 123456;
useradd user003 -p 123456;

查看用户的uid

id user001;
id user002;
id user003;

会给你显示以下内容,这里的1000、1001、1002就是用户的uid,【第十一步】会用到这个uid

uid=1000(user001) gid=1000(user001) groups=1000(user001)uid=1001(user002) gid=1001(user002) groups=1001(user002)uid=1002(user003) gid=1002(user003) groups=1002(user003)

第十一步

配置iptables规则,限制用户的出口IP,这里是根据用户的uid去限制的,比如user001用户的uid是1000,配置user001用户的出口IP就是172.17.22.1,以下是示例,根据自己情况修改uid和出口IP

#配置用户user001
iptables -t mangle -A OUTPUT -m owner --uid-owner 1000 -j MARK --set-mark 1000;
iptables -t nat -A POSTROUTING -m mark --mark 1000 -j SNAT --to-source 172.17.22.1;#配置用户user002
iptables -t mangle -A OUTPUT -m owner --uid-owner 1001 -j MARK --set-mark 1001;
iptables -t nat -A POSTROUTING -m mark --mark 1001 -j SNAT --to-source 172.17.22.2;#配置用户user003
iptables -t mangle -A OUTPUT -m owner --uid-owner 1002 -j MARK --set-mark 1002;
iptables -t nat -A POSTROUTING -m mark --mark 1002 -j SNAT --to-source 172.17.22.3;

第一行命令的作用是,当属主为uid 1000的用户发出数据包时,会给这些数据包打上标记为1000的标志

第二条命令的作用是,当数据包被标记为1000时,会将这些数据包的源地址转换为172.17.22.1,然后再发送到外部网络。

第十二步 

确保ss5的服务是关闭的状态

service ss5 stop

配置ss5用户的出口IP,这里是根据用户名去限制的,注意用户名对应的IP对应iptables里uid配置的IP

ss5 -u user001 -b 172.17.22.1;
ss5 -u user002 -b 172.17.22.2;
ss5 -u user003 -b 172.17.22.3;

 配置完成后重新启动ss5

service ss5 start

至此恭喜你,完成了所有配置!你可以用代理浏览器或者QQ测试代理是否正常!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/193779.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《洛谷深入浅出进阶篇》P3397 地毯————二维差分

上链接:P3397 地毯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3397 上题干: 题目描述 在 nn 的格子上有 m 个地毯。 给出这些地毯的信息,问每个点被多少个地毯覆盖。 输入格式 第一行,两个…

浅尝:iOS的CoreGraphics和Flutter的Canvas

iOS的CoreGraphic 基本就是创建一个自定义的UIView&#xff0c;然后重写drawRect方法&#xff0c;在此方法里使用UIGraphicsGetCurrentContext()来绘制目标图形和样式 #import <UIKit/UIKit.h>interface MyGraphicView : UIView endimplementation MyGraphicView// Onl…

桌面云架构讲解(VDI、IDV、VOI/TCI、RDS)

目录 云桌面架构 VDI 虚拟桌面基础架构 IDV 智能桌面虚拟化 VOI/TCI VOI 虚拟系统架构 TCI 透明计算机架构 RDS 远程桌面服务 不同厂商云桌面架构 桌面传输协议 什么是云桌面 桌面云是虚拟化技术成熟后发展起来的一种应用&#xff0c;桌面云通常也称为云桌面、VDI等 …

Flink(五)【DataStream 转换算子(上)】

前言 这节注定是一个大的章节&#xff0c;我预估一下得两三天&#xff0c;涉及到的一些东西不懂就重新学&#xff0c;比如 Lambda 表达式&#xff0c;我只知道 Scala 中很方便&#xff0c;但在 Java 中有点发怵了&#xff1b;一个接口能不能 new 来构造对象? 答案是可以的&…

代码随想录 Day47 动态规划15 LeetCode T583 两个字符串的删除操作 T72 编辑距离

LeetCode T583 两个字符串的删除操作 题目链接:583. 两个字符串的删除操作 - 力扣&#xff08;LeetCode&#xff09; 题目思路: 本题有两个思路 1.使用两个字符串的长度之和-2*最长公共子串(换汤不换药) 代码随想录Day45 动态规划13 LeetCode T1143最长公共子序列 T1135 不相交…

跨国企业如何选择安全靠谱的跨国传输文件软件?

随着全球化的不断发展&#xff0c;跨国企业之间的合作变得越来越频繁。而在这种合作中&#xff0c;如何安全、可靠地将文件传输给合作伙伴或客户&#xff0c;成为了跨国企业必须面对的问题。 然而&#xff0c;跨国文件传输并不是一件容易的事情&#xff0c;由于网络物理条件的…

OpenCV入门4——实现图形的绘制

文章目录 OpenCV绘制直线OpenCV绘制矩形和圆画矩形画圆 OpenCV椭圆的绘制OpenCV绘制多边形OpenCV绘制文本实现鼠标绘制基本图形 OpenCV绘制直线 # -*- coding: utf-8 -*- import cv2 import numpy as npimg np.zeros((480, 640, 3), np.uint8) # 坐标点为(x, y) cv2.line(img,…

《视觉SLAM十四讲》-- 后端 1(下)

8.2 BA 与图优化 Bundle Adjustment 是指从视觉图像中提炼出最优的 3D 模型和相机参数&#xff08;内参和外参&#xff09;。 8.2.1 相机模型和 BA 代价函数 我们从一个世界坐标系中的点 p \boldsymbol{p} p 出发&#xff0c;把相机的内外参数和畸变都考虑进来&#xff0c;…

C语言从入门到精通之【char类型】

char类型用于储存字符&#xff08;如&#xff0c;字母或标点符号&#xff09;&#xff0c;但是从技术层面看&#xff0c;char是整数类型。因为char类型实际上储存的是整数而不是字符。计算机使用数字编码来处理字符&#xff0c;即用特定的整数表示特定的字符。 char类型占1个字…

wx.canvasToTempFilePath生成图片保存到相册

微信小程序保存当前画布指定区域的内容导出生成指定大小的图片&#xff0c;记录一下 api&#xff1a;wx.canvasToTempFilePath 效果&#xff1a; 代码&#xff1a;wxml <canvas style"width: {{screenWidth}}px; height: {{canvasHeight}}px;" canvas-id"my…

NewStarCTF2023 Week3 Reverse方向 题目STL WP

分析 代码不多&#xff0c;逻辑挺清楚的。 先用Z3解出V7&#xff1a; from z3 import *s Solver() v1, v2, v3, v4, v5, v6 BitVecs(v1 v2 v3 v4 v5 v6, 32) v7, v8, v9, v10, v11 BitVecs(v7 v8 v9 v10 v11, 32)s.add((v1 << 15) ^ v1 0x2882D802120E) s.add((v2 …

借助拧紧曲线高效管理螺栓装配防错——SunTorque智能扭矩系统

拧紧曲线作为拧紧质量的“晴雨表”&#xff0c;在拧紧过程中&#xff0c;能够实时探知到拧紧状态是否存在异常&#xff0c;并根据曲线特质推测出拧紧过程中遇到了什么样的问题&#xff0c;今天SunTorque智能扭矩系统带您了解拧紧曲线在螺栓装配防错管理中如何发挥作用。 合格的…

搭建知识付费系统的最佳实践是什么

在数字化时代&#xff0c;搭建一个高效且用户友好的知识付费系统是许多创业者和内容创作者追求的目标。本文将介绍一些搭建知识付费系统的最佳实践&#xff0c;同时提供一些基本的技术代码示例&#xff0c;以帮助你快速入门。 1. 选择合适的技术栈&#xff1a; 搭建知识付费…

论文阅读:YOLOV: Making Still Image Object Detectors Great at Video Object Detection

发表时间&#xff1a;2023年3月5日 论文地址&#xff1a;https://arxiv.org/abs/2208.09686 项目地址&#xff1a;https://github.com/YuHengsss/YOLOV 视频物体检测&#xff08;VID&#xff09;具有挑战性&#xff0c;因为物体外观的高度变化以及一些帧的不同恶化。有利的信息…

GitHub Universe 2023:AI 技术引领软件开发创新浪潮

GitHub 是全球领先的软件开发和协作平台&#xff0c;数百万开发者和企业在此分享、学习和创建卓越的软件。同时 GitHub 处在 AI 技术前沿&#xff0c;通过其先进的 AI 技术增强开发者体验并赋能未来软件开发的使命。在今天的文章中&#xff0c;我们将一起看看在 GitHub 年度大会…

Python---数据序列类型之间的相互转换

list()方法&#xff1a;把某个序列类型的数据转化为列表 # 1、定义元组类型的序列 tuple1 (10, 20, 30) print(list(tuple1))# 2、定义一个集合类型的序列 set1 {a, b, c, d} print(list(set1))# 3、定义一个字典 dict1 {name:刘备, age:18, address:蜀中} print(list(dict1…

沉浸式航天vr科普馆VR太空主题馆展示

科普教育从小做起&#xff0c;现在我们的很多地方小孩子游乐体验不单单只有草坪玩耍体验&#xff0c;还有很多科普知识的体验馆和游玩馆。虽然现在我们还不能真实的上太空或者潜入海底&#xff0c;但是这些现在已经可以逼真的展示在我们面前。通过一种虚拟现实技术手段。人们带…

PON网络是什么

上节介绍到PON网络概念&#xff0c;PON网络具备节省局端光缆资源、避免故障点的同时&#xff0c;还具备拥有更远的传输距离、更高的带宽以及分光特性&#xff08;P2MP&#xff09;的优势。 PON&#xff08;无源光纤网络&#xff0c;Passive Optical Network&#xff09;网络&am…

基于单片机的智能家居安保系统(论文+源码)

1.系统设计 本次基于单片机的智能家居安保系统设计&#xff0c;在功能上如下&#xff1a; 1&#xff09;以51单片机为系统控制核心&#xff1b; 2&#xff09;温度传感器、人体红外静释电、烟雾传感器来实现检测目的&#xff1b; 3&#xff09;以GSM模块辅以按键来实现远/近程…

【阿里云】函数计算 X 通义千问快速部署

写在前面&#xff1a;博主是一只经过实战开发历练后投身培训事业的“小山猪”&#xff0c;昵称取自动画片《狮子王》中的“彭彭”&#xff0c;总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域&#xff0c;如今终有小成…