CentOS 8 + shadowsocks 快速搭建socks5代理

centos8 运维 · edge · 于 2年前 发布 · 9321 次阅读

背景

之前的文章《CentOS 7 + TinyProxy 快速搭建HTTP代理》介绍了HTTP代理的搭建, 在实际使用中发现不是很方便, 所以再次尝试采用另外一种协议来实现.

简单了解一下我们现在的需求, 为了安全很多服务都会利用ip白名单方式来限制访问的来源.

防火墙IP白名单阻止随机IP访问

在实际中我们并不是很容易提供一个固定ip, 因为手机、有线网络一般都是随机ip, 除非是购买过固定ip服务.

所以我们需要在防火墙之前通过架设代理服务器来提供固定ip.

通过代理服务器来提供固定IP

shadowsocks 安装

shadowsocks 是一个经典的文明上网工具, 而且有很多语言的版本. 今天我们使用的方法虽然有点过时, 但是配置也还是快速有效.

安装

我们采用是python语言开发的版本

先安装python3

dnf install python3

通过pip安装shadowsocks

pip3 install shadowsocks

⚠️注意: 由于这个版本停止维护了, 所以有些跟不上时代了, 有个地方要人肉修复一下. 有可能路径不同请根据实际报错进行修改.

vim /usr/local/lib/python3.6/site-packages/shadowsocks/crypto/openssl.py

需要把libcrypto.EVP_CIPHER_CTX_cleanup.argtypes 替换为libcrypto.EVP_CIPHER_CTX_reset.argtypes 共两处.

:%s/cleanup/reset/
:x

配置

代理服务器配置

这个版本需要手工创建配置文件, 按照常规习惯, 在/etc下创建配置目录

mkdir  /etc/shadowsocks

创建配置文件

vim /etc/shadowsocks/shadowsocks.json

添加配置

{
    "server":"0.0.0.0",
    "server_port":8388,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"bestyii",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false
}
参数说明
server服务器监听地址
server_port服务器监听端口
local_address本地地址
local_port本地监听端口
password服务器密码
timeout超时时间(单位秒)
method加密方式, 默认"aes-256-cfb"
fast_open是否使用TCP_FASTOPEN, true / false

系统进程配置

centos7以后采用systemctl来管理进程, 这个方式用起来还是很方便, 所以我们也给他配置上. 打开配置文件

vim /etc/systemd/system/shadowsocks.service

写入配置

[Unit]
Description=Shadowsocks

[Service]
TimeoutStartSec=0
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks/shadowsocks.json

[Install]
WantedBy=multi-user.target

设置开机启动

systemctl enable shadowsocks

防火墙

如果是用阿里云、腾讯云则去主机的安全组中设置开放端口, 如果是自建主机, 需要开放本机防火墙

firewall-cmd --permanent --add-port=8388/tcp
firewall-cmd --reload

使用

启动服务

systemctl start shadowsocks

查看运行状态

systemctl status shadowsocks -l

客户端可以根据自己习惯使用shadowsocksV2rayU

本文由 edge 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。

共收到 2 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册