Ubuntu 16.04下安装服务器端Shadowsocks
时间:2022-07-26
本文章向大家介绍Ubuntu 16.04下安装服务器端Shadowsocks,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本教程仅适用于Ubuntu 16.04及之后的版本,基于Python 3,因Python 3对应的包管理器pip3并未预装,首先安装pip3:
sudo apt install python3-pip
安装 shadowsocks
sudo pip3 install https://github.com/shadowsocks/shadowsocks/archive/master.zip
查看Shadowsocks版本:
sudo ssserver --version
新建配置文件
sudo mkdir /etc/shadowsockssudo
vim /etc/shadowsocks/shadowsocks.json
添加配置信息多用户
// 多用户
{
"server":"::",
"local_address":"127.0.0.1",
"local_port":1080,
"port_password":{
"8888":"123456789",
"9999":"123456789"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false
}
添加配置信息单用户
// 单用户
{
"server":"::",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"123456789",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
参数说明:
server:Shadowsocks服务器地址
server_port:Shadowsocks服务器端口
local_address: 本地IP
local_port:本地端口
password:Shadowsocks连接密码
timeout:等待超时时间
method:加密方式
workers: 工作线程数
fast_open: true或false
配置自启动
1.新建启动脚本文件/etc/systemd/system/shadowsocks.service
sudo vim /etc/systemd/system/shadowsocks.service
内容如下:
[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks/shadowsocks.json
[Install]
WantedBy=multi-user.target
2.启动Shadowsocks客户端
sudo systemctl enable shadowsocks.service
sudo systemctl start shadowsocks.service
sudo systemctl status shadowsocks.service
至此,Shadowsocks已配置完成。以下部分是对Shadowsocks服务器端的优化。
BBR系Google最新开发的TCP拥塞控制算法,目前有着较好的带宽提升效果,甚至不比老牌的锐速差。BBR在Linux kernel 4.9引入。首先检查服务器kernel版本:
uname -r
如果其显示版本在4.9.0之下,则需要升级Linux内核,否则请忽略下文。
更新包管理器:
sudo apt update
查看可用的Linux内核版本:
sudo apt-cache showpkg linux-image
找到一个你想要升级的Linux内核版本,如“linux-image-4.10.0-22-generic”:
sudo apt install linux-image-4.10.0-22-generic
等待安装完成后重启服务器:
sudo reboot
删除老的Linux内核:
sudo purge-old-kernels
开启BBR,运行lsmod | grep bbr,如果结果中没有tcp_bbr,则先运行:
modprobe tcp_bbrecho "tcp_bbr" >> /etc/modules-load.d/modules.conf
运行:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.confecho "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
运行:
sysctl -p
保存生效。运行:
sysctl net.ipv4.tcp_available_congestion_controlsysctl net.ipv4.tcp_congestion_control
若均有bbr,则开启BBR成功。
获取更多优质内容,请关注【青年码农】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇
- 总结java中删除文件或文件夹的7种方法-JAVA IO基础总结第四篇
- 总结java中创建并写文件的五种方式-JAVA IO基础总结第一篇
- 8成以上的java线程状态图都画错了,看看这个-图解java并发第二篇
- 特殊数据格式处理-JSON框架Jackson精解第2篇
- 序列化与反序列化核心用法-JSON框架Jackson精解第一篇
- 属性序列化自定义排序与字母表排序-JSON框架Jackson精解第3篇
- 【我在拉勾训练营学技术】mysql 索引面试再也不怕啦
- 智能合约中常见的漏洞总结复现#技术创作101训练营#
- JS根据列表排列对象数组
- git提取两次提交或者版本的差异文件并打包成zip压缩包
- 博客通用版Live2d伊斯特瓦尔发布
- 一个小需求,自动重启k8s集群中日志不刷新的POD
- 多图,一文了解 8 种常见的数据结构
- Jenkins--pipline 流水线部署Java后端项目