本文以 Vultr 购买的 Centos 7 主机为例,详细介绍了安装 Shadowsocks Python 版的方法。建议以密钥的方式绑定主机并以此登录,注意保护好自己的密钥。
准备
首先,更新系统:
yum update
为了防止被人暴力扫描破解登录密码,我们先对 Vultr 自动生成的密码进行重置:
passwd root
这里我个人使用了 256 位随机密码,包含特殊字符。
另外也可以安装 fail2ban
来禁止掉反复尝试登录的ip地址:
yum install fail2ban
启用 fail2ban:
systemctl enable fail2ban
编辑配置文件:
vi /etc/fail2ban/jail.local
这是一个新文件,添加如下的内容:
[DEFAULT]
# Ban hosts for one hour:
bantime = 43200
findtime = 600
maxretry = 1
# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport
[sshd]
enabled = true
重启 fail2ban:
systemctl restart fail2ban
下面分别是查看 fail2ban 状态的两条命令:
fail2ban-client status
fail2ban-client status sshd
安装
安装一些必要的软件:
yum install git vim -y
yum install epel-release -y
yum install mbedtls-devel -y
编译依赖:
# 安装 libsodium
export LIBSODIUM_VER=1.0.12
wget https://download.libsodium.org/libsodium/releases/libsodium-$LIBSODIUM_VER.tar.gz
tar xvf libsodium-$LIBSODIUM_VER.tar.gz
pushd libsodium-$LIBSODIUM_VER
./configure --prefix=/usr && make
make install
popd
ldconfig
安装 shadowsocks:
yum install python-pip -y
pip install https://github.com/shadowsocks/shadowsocks/archive/master.zip
修改配置文件:
vim /etc/shadowsocks.json
同时启用 ipv4 和 ipv6:
{
"server":["[::0]","0.0.0.0"],
"server_port":8388,
"local_port":1080,
"password":"your_password",
"timeout":60,
"method":"aes-256-gcm"
}
设置开机启动:
chmod +x /etc/rc.d/rc.local
vi /etc/rc.local
在文件末尾加入:
/usr/bin/ssserver -c /etc/shadowsocks.json -d start
运行
启动 Shadowsocks:
ssserver -c /etc/shadowsocks.json -d start
此时,我们还不能通过外网访问服务器,因为防火墙并没有开启相应的端口,编辑防火墙开放的端口服务:
vi /etc/firewalld/zones/public.xml
添加如下行:
<port protocol="tcp" port="服务器端口"/>
<port protocol="udp" port="服务器端口"/>
使新规则生效:
firewall-cmd --complete-reload
至此,shadowsocks 已经可以使用。
更新
pip install https://github.com/shadowsocks/shadowsocks/archive/master.zip