centos搭建shadowsocks
本文记录了作者在 CentOS 7 上搭建 shadowsocks 服务器的一些经验
#
准备工作首先要有一台 CentOS
服务器,然后用 ssh 工具登录服务器
开始之前最好看一下shadowsocksr文档
#
环境搭建分别执行以下命令 安装 shadowsocks 服务端
yum updateyum install python-setuptools && easy_install pippip install shadowsocks
#
配置 shadowsocks创建一个配置文件
mkdir /shadowsocksvi /shadowsocks/server-config.json
按下i
键编辑
复制以下内容:
{ "server":"0.0.0.0", "server_port":8388, "local_port":1080, "password":" password", "timeout":600, "method":"aes-256-cfb"}
server 是服务器的 IP 地址
- 多端口(多用户)配置:
{ ... "port_password":{ "8388":"password1", "8389":"password2", "8390":"password3", ... }, ...}
编辑完成后按下 esc
退出编辑模式 然后按住 shift
按两下 z
保存并退出编辑
#
开放端口CentOS
默认打开了防火墙
你可以直接关闭它 systemctl stop firewalld
但是这样不太安全,可以使用 iptables
来管理端口
开放所需端口
iptables -A INPUT -p tcp --dport 8388 -j ACCEPT
(可选)禁止某个 IP 访问
iptables -I INPUT -s 124.222.0.202 -j DROP
#
启动服务ssserver -c /shadowsocks/server-config.json -d start
#
停止服务ssserver -c /shadowsocks/server-config.json -d stop
#
优雅地管理你的服务器编辑 bashrc
vi ~/.bashrc
configFile
是你的 shadowsocks 配置文件
ssr(){ configFile='/shadowsocks/server-config.json'
if [[ $1 == 'start' ]];then sudo ssserver -c ${configFile} -d start elif [[ $1 == 'stop' ]];then sudo ssserver -c ${configFile} -d stop elif [[ $1 == 'log' ]];then if [[ "$2" == "" ]];then sudo tail -f /var/log/shadowsocks.log echo "显示全部日志" else echo "-------------- start ---------------" if [[ $3 == "" ]];then sudo tail -n $2 /var/log/shadowsocks.log else sudo tail -n $2 /var/log/shadowsocks.log |grep $3 fi echo "--------------- end ----------------" echo "显示最近 $2 条日志 $3" fi else echo "start:开始 | stop:停止 | log:查看日志" fi}
刷新以生效
source ~/.bash_profile
ssr startssr stopssr log# 只显示最近10条日志ssr log 10
#
开机自动启动vi /etc/systemd/system/shadowsocks.service
复制以下内容
[Unit]Description=Shadowsocks[Service]TimeoutStartSec=0ExecStart=/usr/bin/ssserver -c /shadowsocks/server-config.json[Install]WantedBy=multi-user.target
systemctl enable shadowsocks
end!