CentOs6 搭建ShadowSocks Server
1 安装ShadowSocks
yum install python-setuptools
easy_install pip
pip install shadowsocks
2 配置ShadowSocks
vim /etc/shadowsocks.json,根据应用模式分别写入如下内容
2.1单用户模式
{
"server": "0.0.0.0",
"server_port": 8989,
"password": "xxxx",
"method": "aes-256-cfb"
}
2.2多用户模式
{
"server":"0.0.0.0",
"port_password":{
"443":"xxxx",
"444":"xxxx",
"888":"xxxx",
"8989":"xxxx"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false
}
3 停止和启动ShadowSocks服务
ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop
4 centos端口相关
4.1 开放端口
/sbin/iptables -I INPUT -p tcp --dport 443 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 444 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 888 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8989 -j ACCEPT
4.2 查看当前打开的端口
/etc/init.d/iptables status
5 FQA
收集的一些安装过程中的常见问题
5.1 easy_install pip时报错
问题描述:centos6自带python,但版本号是2.6.6,而pip要求python环境在2.7以上,所以需要先升级一下服务器的python版本
解决办法:Centos6.X升级Python为2.7
5.2 unxz时报错
问题描述:安装python2.7是需要先下载源码,再解压、编译的,python源码压缩包是.tar.xz格式的,其解压需要用到指令unxz
解决办法:需要在服务器上安装xz。
- 下载
wget https://jaist.dl.sourceforge.net/project/lzmautils/xz-5.2.4.tar.gz如果wget不到说明下载地址有变动,去这里查看最新下载地址
- 解压、编译
# tar -zxvf xz-5.2.4.tar.gz # cd xz-5.2.4 # mkdir /opt/software/zx # ./configure --prefix=/opt/software/zx #指定安装目录 # make && make install #编译并安装 # ln -s /opt/software/zx /usr/local/bin/xz #建立软链接 - 配置环境变量
vim /etc/profile,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:export XZ_HOME=/opt/software/zx export PATH=$XZ_HOME/bin:$PATHsource /etc/profile 使修改生效
- 校验
[root@ip-172-31-39-231 ~]# xz -V xz (XZ Utils) 4.999.9beta
5.3 configure: error: no acceptable C compiler found in $PATH
问题描述:缺少c编译器
解决办法:安装gcc
yum install gcc
5.4 ShadowSocks客户端500错误
问题描述:同一台服务器,在日本可正常连接,在国内连接后打开google时始终报500错误
原因分析:ip被墙了,可能是太多人在东京的服务器上装ss了。
解决办法:把服务器搬到美国
- 登陆vultr后台,并Take Snapshot
- Deploy new server
- Server Location选择Los Angeles United States
- Server Type选择Snapshot,并选中第一步的备份
5.5 服务器重启后,无法连接
- 重新执行iptables端口开放语句
- 手动启动ssserver
5.6 bash: lsb_release: command not found
问题描述:在aws买的centos后,想看centos的版本号,执行lsb_release -a时报如下错误
解决办法1:安装lsb_release ,执行命令
yum install -y redhat-lsb
解决办法2:cat /etc/redhat-release