目录

CentOS搭建SS科学上网,详细步骤与优化指南

在当今互联网环境下,科学上网已成为许多科研人员、开发者和普通用户的刚需,作为通信工程师,我经常需要访问国际技术文档和学术资源,因此搭建一个稳定高效的Shadowsocks(SS)服务至关重要,本文将详细介绍在CentOS系统上部署Shadowsocks服务的完整流程,包括环境准备、安装配置、性能优化和安全加固等方面,帮助您建立可靠的科学上网解决方案。...

在当今互联网环境下,科学上网已成为许多科研人员、开发者和普通用户的刚需,作为通信工程师,我经常需要访问国际技术文档和学术资源,因此搭建一个稳定高效的Shadowsocks(SS)服务至关重要,本文将详细介绍在CentOS系统上部署Shadowsocks服务的完整流程,包括环境准备、安装配置、性能优化和安全加固等方面,帮助您建立可靠的科学上网解决方案。

准备工作

1 系统要求

在开始之前,请确保您拥有一台运行CentOS 7或CentOS 8的服务器(物理机或云服务器均可),建议选择位于网络环境较优地区的服务器,如香港、新加坡或日本等,服务器的最低配置要求如下:

  • CPU:1核及以上
  • 内存:512MB及以上
  • 磁盘空间:10GB及以上
  • 操作系统:CentOS 7.x或8.x(推荐使用最小化安装)

2 网络环境检查

首先检查服务器的网络连接情况:

ping -c 4 google.com

如果无法ping通,说明服务器可能位于严格的网络环境中,需要考虑更换服务器位置或使用其他方案。

3 系统更新

确保系统是最新状态:

yum update -y
yum install -y epel-release

Shadowsocks服务端安装

1 安装必要组件

安装Python和pip(Python包管理工具):

yum install -y python3 python3-pip

2 安装Shadowsocks

通过pip安装Shadowsocks:

pip3 install shadowsocks

验证安装是否成功:

ssserver --help

3 配置Shadowsocks

创建配置文件:

mkdir -p /etc/shadowsocks
vi /etc/shadowsocks/config.json

示例:

{
    "server":"0.0.0.0",
    "server_port":8388,
    "password":"your_password",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open":false
}

参数说明:

  • server:监听地址,0.0.0.0表示监听所有网络接口
  • server_port:服务端口,可自定义
  • password:连接密码,建议使用强密码
  • method:加密方法,推荐使用aes-256-cfb或chacha20

4 启动Shadowsocks服务

使用以下命令启动服务:

ssserver -c /etc/shadowsocks/config.json -d start

检查服务是否正常运行:

ps aux | grep ssserver
netstat -tulnp | grep 8388

防火墙配置

1 开放防火墙端口

如果系统启用了firewalld,需要开放Shadowsocks使用的端口:

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

2 禁用SELinux(可选)

SELinux可能会导致连接问题,可以临时禁用:

setenforce 0

如需永久禁用,修改/etc/selinux/config文件:

SELINUX=disabled

系统优化

1 内核参数优化

编辑/etc/sysctl.conf文件,添加以下内容:

# 增大文件描述符限制
fs.file-max = 51200
# 增大内核网络缓冲区
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 4096
# TCP参数优化
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_mem = 25600 51200 102400
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864

应用修改:

sysctl -p

2 BBR加速

BBR是Google开发的TCP拥塞控制算法,能显著提升网络性能:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

验证BBR是否启用:

sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr

客户端配置

1 Windows客户端

  1. 下载Shadowsocks-Windows客户端
  2. 填写服务器IP、端口、密码和加密方法
  3. 启用系统代理或使用PAC模式

2 macOS客户端

  1. 下载ShadowsocksX-NG
  2. 配置服务器信息
  3. 选择代理模式

3 移动端配置

Android使用Shadowsocks客户端,iOS使用Shadowrocket或Potatso等应用。

安全加固

1 更改默认端口

建议将默认的8388端口更改为其他不常见端口,减少扫描攻击。

2 使用强密码

密码应包含大小写字母、数字和特殊字符,长度不少于12位。

3 限制访问IP(可选)

在配置文件中添加"port_password"和"forbidden_ip"字段,限制特定IP访问:

{
    "port_password": {
        "8388": "password1",
        "8389": "password2"
    },
    "forbidden_ip": [
        "1.2.3.4",
        "5.6.7.8"
    ]
}

4 定期更新

保持Shadowsocks版本最新:

pip3 install --upgrade shadowsocks

故障排除

1 连接问题

常见问题及解决方案:

  • 无法连接:检查防火墙设置、端口是否开放
  • 速度慢:尝试更换加密方法,启用BBR
  • 断线频繁:调整timeout参数,优化内核参数

2 性能监控

使用以下命令监控Shadowsocks性能:

ss -s
iftop -i eth0

进阶配置

1 多用户支持

在配置文件中添加多个端口和密码:

{
    "port_password": {
        "8388": "password1",
        "8389": "password2",
        "8390": "password3"
    },
    "method": "aes-256-cfb"
}

2 流量统计

使用ss-traffic进行流量统计:

pip3 install ss-traffic

3 使用Docker部署

对于更便捷的部署方式,可以使用Docker:

docker run -d -p 8388:8388 shadowsocks/shadowsocks-libev

通过本文的详细指导,您应该已经在CentOS系统上成功搭建了Shadowsocks科学上网服务,作为通信工程师,我建议定期检查服务器状态,及时更新软件版本,并根据实际使用情况调整配置参数,科学上网只是工具,希望您能合理使用它获取有价值的信息资源,促进工作和学习效率的提升。

如需进一步优化,可以考虑结合V2Ray或搭建多协议代理网关,但这已超出本文范围,祝您上网愉快!

CentOS搭建SS科学上网,详细步骤与优化指南

​扫描二维码推送至手机访问。

本文转载自互联网,如有侵权,联系删除。

本文链接:https://www.kuaimiao-app.com/post/699.html

扫描二维码手机访问

文章目录