• 首页
  • 狐文
  • 狐图
  • About
狐窝
OvO
  1. 首页
  2. VPS
  3. 正文

CentOS 7 Shadowsocks优化

2017年08月04日 246点热度 0人点赞 0条评论
2016-03-02  from---https://www.ifshow.com/centos-7-shadowsocks-optimization/

1. 增加TCP连接数量(针对大量TCP连接场合)

编辑limits.conf

vi /etc/security/limits.conf

增加以下两行(设定最大文件打开数为51200)

* soft nofile 51200
* hard nofile 51200

如果只需临时增加此上限,使用以下命令:

ulimit -n 51200

2. 修改sysctl.conf配置文件,优化TCP参数(针对大量TCP连接场合)

vi /etc/sysctl.conf

在最后添加以下内容

# max open files
fs.file-max = 51200
# max read buffer
net.core.rmem_max = 67108864
# max write buffer
net.core.wmem_max = 67108864
# default read buffer
net.core.rmem_default = 65536
# default write buffer
net.core.wmem_default = 65536
# max processor input queue
net.core.netdev_max_backlog = 4096
# max backlog
net.core.somaxconn = 4096

# resist SYN flood attacks
net.ipv4.tcp_syncookies = 1
# reuse timewait sockets when safe
net.ipv4.tcp_tw_reuse = 1
# turn off fast timewait sockets recycling
net.ipv4.tcp_tw_recycle = 0
# short FIN timeout
net.ipv4.tcp_fin_timeout = 30
# short keepalive time
net.ipv4.tcp_keepalive_time = 1200
# outbound port range
net.ipv4.ip_local_port_range = 10000 65000
# max SYN backlog
net.ipv4.tcp_max_syn_backlog = 4096
# max timewait sockets held by system simultaneously
net.ipv4.tcp_max_tw_buckets = 5000
# TCP receive buffer
net.ipv4.tcp_rmem = 4096 87380 67108864
# TCP write buffer
net.ipv4.tcp_wmem = 4096 65536 67108864
# turn on path MTU discovery
net.ipv4.tcp_mtu_probing = 1

3. 编译并启用hybla模块(系统自带的跳过本节)

查看系统可用算法,如果有显示hybla就表示系统自带

sysctl net.ipv4.tcp_available_congestion_control

3.1 安装开发工具:

yum -y groupinstall "Development Tools"
yum -y install ncurses-devel ncurses

3.2 下载同版本内核并解压

查看当前系统的内核版本

uname -r

去 https://www.kernel.org/pub/linux/kernel/v3.0/ 下载相同内核版本(本例为linux-3.19.1)的源码到任意目录(比如/root/mykernel),解压文件。

mkdir /root/mykernel
cd /root/mykernel
wget https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.19.1.tar.gz
tar xzvf linux-3.19.1.tar.gz

3.3 编译hybla模块

复制系统当前配置文件:

cd /root/mykernel/linux-3.19.1
zcat /proc/config.gz > .config

进行内核配置:

make menuconfig

进入配置界面后,箭头键移动光标用回车逐级选择:

Networking suport - Networking options - TCP advanced congestion control - TCP-Hybla congestion control algorithm

选中TCP-Hybla congestion control algorithm后,按下M设置为模块;设置完成后移动光标选择Save再Exit退出。

接下去进行模块编译:

make modules

会在/root/mykernel/linux-3.19.1/net/ipv4/目录生成tcp_hybla.ko模块。

注意:千万不能运行命令make modules_install,否则将带来严重的后果,它会删除你系统中的所有模块,只安装刚刚编译的模块。

3.4 设置开机自动加载hybla模块

复制tcp_hybla.ko模块到系统特定位置,就可以实现开机自动加载:

mkdir -p /lib/modules/3.19.1-x86_64-linode53/kernel/net/ipv4
cd /lib/modules/3.19.1-x86_64-linode53/kernel/net/ipv4
cp /root/mykernel/linux-3.19.1/net/ipv4/tcp_hybla.ko .

3.5 开启DigitalOcean等KVM自带的hybla模块

添加开机自动运行脚本

vi /etc/sysconfig/modules/hybla.modules

输入以下内容

#!/bin/sh
/sbin/modprobe tcp_hybla

保存退出,添加该文件可执行属性

chmod +x /etc/sysconfig/modules/hybla.modules

4. 修改/etc/sysctl.conf 让开机自动设置hybal为优先(针对高延迟网络环境)

vi /etc/sysctl.conf

在最后加入以下内容

# for high-latency network
net.ipv4.tcp_congestion_control=hybla

5. 开启 TCP Fast Open 支持(服务端和客户端Linux内核版本必须新于 3.7)不推荐

在客户端和服务器端的 Shadowsocks 配置文件里加入 “fast_open”: true

修改服务端配置文件(客户端配置文件参照修改)

vi /etc/sysctl.conf

在最后加入以下内容

# turn on TCP Fast Open on both client and server side
#net.ipv4.tcp_fastopen = 3
标签: 暂无
最后更新:2017年08月04日

OvO

狐狸

点赞
< 上一篇
下一篇 >
最新 热点 随机
最新 热点 随机
brave编译打包时dump_syms报错Couldn't locate EXE or DLL file 使用Windows Kits创建PE 及精简镜像 Windows精简部署相关简易内容 APC UPS SUA1000ICH 踩坑记 TrueNAS SCALE虚拟机无法 Ping主机 TrueNas Scale libvirt-sock RDMA RoCE相关资料 Linux系统修改网卡名(eth0-3) Linux系统打开SRIOV 构建android内核时DTC工具中的多个定义错误 Windows 来宾系统提示“安全删除硬件” 修改jar的三种方法(反编译jar) 如何在 Debian 10上安装和配置 VNC Openwrt内SR-IOV网卡桥接问题 Linux下编译android 时报错loadlocale.c:130 windows 查看文件夹被那个进程占用 MongoDB中的多表关联 mongodb 学习记录
基于 FreeBSD 的各类 BSD 发行版 如何查看你的VPS是什么虚拟化架构? 动态网页数据抓取踩坑分享 linux中的wheel用户组的作用 编译报错warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; Android API Level 数字和字母的区别 CentOS 7 Shadowsocks优化 OpenWrt之quilt打补丁 在Linux中更改用户默认Shell的3种方法 yum 和 epel 的详解 MongoDB中的多表关联 使用python,scrapy写(定制)爬虫的经验,资料,杂。 验证码破解技术四部曲之环境搭建篇(一) Perdition Mail代理服务器配置 知识库 : 使用Tesseract识别弱验证码 15个最受欢迎的Python开源框架 Manjaro 安装记 selenium处理极验滑动验证码
标签聚合
linux 下载 chrome git 文件 android com https http ssl docker 网卡 密码 e 编译 路由

COPYRIGHT © 2020 狐窝. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS