SaltStack常用组件使用 SaltStack配置文件说明 轻量级DNS、DHCP服务软件DNSMASQ 千万级PV(日)的移动应用架构如何实现 高效运维最佳实践-运维自动化之殇 Ubuntu 14.04 Linux如何配置静态IP地址和DNS服务器 ELK 常见错误与解决办法 Elasticsearch 集群配置管理常用操作 常用数字证书格式相互转换-OpenSSL/Keytool/Jks2pfx ELK 综合日志归档分析系统(2)-Logstash安装配置 Elasticsearch之Shield认证与权限管理 ELK 综合日志归档分析系统(1)-Elasticsearch-Redis安装配置 Redmine 3.2 安装配置指南 CentOS6 大型web系统数据缓存设计 Redis 集群方案 Linux 内核TCP优化详解 SaltStack初始化安装配置 OpenLDAP常用操作 OpenLDAP统一身份认证 [CentOS6/7] 构建Linux Skype Message消息推送API服务(Zabbix集成告警) Tomcat 生产服务器性能优化 Zabbix结合iptables监控网络流量 Linux操作系统环境配置与优先级问题 深入 NGINX: 我们如何设计性能和扩展 Windows SQL Server 性能计数器详细说明 Windows性能计数器说明 Ubuntu安装openntpd报错:Starting openntpd: /etc/openntpd/ntpd.conf: Permission denied locale: Cannot set LC_ALL to default locale: No such file or directory OpenSSL拆解p12证书公约和私钥 Linux sar 统计系统性能(网卡、内存和交换空间、CPU资源等) Linux Shell /dev/null 2>&1 含义 Windows 2003操作系统网络不通 构建私有yum安装源镜像站点(openstack) CentOS6/RedHat6新增网卡识别问题 Ubuntu 14.04 Server优化与使用问题解决 Redhat/CentOS6系统使用ntfs-3g挂载NTFS分区 Linux GPT挂载超过2TB磁盘 Linux系统性能优化、测试和监控工具梳理 修复WIN2003远程桌面服务无法访问 解决CentOS“Zabbix discoverer processes 75% busy”的问题 REHL/CentOS安装phpMyadmin

Shadowsocks轻量级socket5代理服务配置

2015年05月30日

Shadowsocks是一个轻量级socks5代理,以python写成,安装方便,配置简单。它的配置文件是以json格式存在。下面将详细介绍安装配置方法。

Shadowsocks服务端

为了Shadowsocks能够上国外网站,你需要有一台海外的服务器并能够正常上外网。

服务端安装

Debian / Ubuntu:

apt-get install python-pip
pip install shadowsocks

CentOS:

yum install python-setuptools && easy_install pip
pip install shadowsocks

安装成功后,默认的程序路径:/usr/local/bin/ssserver

生成配置文件

创建/etc/shadowsocks/server.json配置文件,根据你的需要修改默认的配置文件具体内容如下:

{
	"server":"0.0.0.0",
	"server_port":443,
	"local_address":"127.0.0.1",
	"local_port":1080,
	"password":"your-passwd",
	"timeout":300,
	"method":"aes-256-cfb",
	"fast_open":false,
	"workers":1
}

提示: 若需同时指定多个服务端ip,可参考:

"server":["1.1.1.1","2.2.2.2"],

server: 服务端监听地址(IPv4或IPv6)

server_port: 服务端端口,一般为443

local_address: 本地监听地址,缺省为127.0.0.1

local_port : 本地监听端口,一般为1080

password: 用以加密的密匙

timeout: 超时时间(秒)

method: 加密方法,默认的table是一种不安全的加密,此处首推aes-256-cfb

fast_open: 是否启用TCP-Fast-Open

wokers: worker数量,如果不理解含义请不要改

配置多种加密方法

安装python-m2crypto

Debian:

apt-get install python-m2crypto

CentOS:

yum install m2crypto

支持的加密算法:

aes-256-cfb: Default aes-128-cfb aes-192-cfb aes-256-ofb aes-128-ofb
aes-192-ofb aes-128-ctr aes-192-ctr aes-256-ctr aes-128-cfb8
aes-192-cfb8 aes-256-cfb8 aes-128-cfb1 aes-192-cfb1 aes-256-cfb1
bf-cfb camellia-128-cfb camellia-192-cfb camellia-256-cfb cast5-cfb
chacha20 idea-cfb rc2-cfb rc4-md5 salsa20
seed-cfb        

salsa20和chacha20加密算法

salsa20和chacha20是非常快的加密算法,是rc4的两倍。默认并不支持,需要编译安装,如下:

apt-get install build-essential
wget https://github.com/jedisct1/libsodium/releases/download/1.0.1/libsodium-1.0.1.tar.gz
tar xf libsodium-1.0.1.tar.gz && cd libsodium-1.0.1
./configure && make -j2 && make install
ldconfig

详细参考:shadowsocks Encryption

运行shadowsocks

/usr/local/bin/ssserver -c /etc/shadowsocks/server.json -d start

内核优化

vim /etc/sysctl.conf

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_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_control = hybla
#使配置文件生效
sysctl -p

安装客户端

在config.json所在目录下运行sslocal即可;若需指定配置文件的位置:

sslocal -c /etc/shadowsocks/config.json

注意: 有用户报告无法成功在运行时加载config.json,或可尝试手动运行:

sslocal -s 服务器地址 -p 服务器端口 -l 本地端端口 -k 密码 -m 加密方法

提示: 当然也有图形化的使用shadowsocks-gui@gitHub,如果不希望自己编译的话,也可以到shadowsocks-gui@sourceforge下载。

如果上面的下载连接无法访问,从此处下载Windows shadowsocks

QQ拼音截图未命名

参考连接:archlinux

转载请注明:自动化运维 » Shadowsocks轻量级socket5代理服务配置