centos shadowsocks 搭建.及常见问题 阿里云ecs

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jayhkw/article/details/88891175

安装

Debian / Ubuntu:

apt-get install python-pip
pip install shadowsocks

CentOS:

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

使用

ssserver -p 443 -k password -m rc4-md5

如果要后台运行:

sudo ssserver -p 443 -k password -m rc4-md5 --user nobody -d start

如果要停止:

sudo ssserver -d stop

如果要检查日志:

sudo less /var/log/shadowsocks.log

查看shadowsocks所有参数

ssserver -h

使用 配置文件 进行配置。

cd /etc    
vim shadowsocks.json   

可以在任意位置vim创建一个 config.json文件

  {
            "server":"my_server_ip",
            "server_port":8388,
            "local_address": "127.0.0.1",
            "local_port":1080,
            "password":"mypassword",
            "timeout":300,
            "method":"aes-256-cfb",
            "fast_open": false
        }

使用此配置文件命令

前台运行:
ssserver -c /etc/shadowsocks.json
后台运行:
ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop

具体参数:https://github.com/shadowsocks/shadowsocks/wiki/Shadowsocks-使用说明

注意事项

由于更换配置文件后,执行某些操作可能会出现以下错误 ,或者类似的错误

Socket.error: [Errno 98] Address already in use
Traceback (most recent call last):
File “./digits-devserver”, line 58, in
policy_server=False
File “/usr/lib/python2.7/dist-packages/flask_socketio/init.py”, line 414, in run
self.server.serve_forever()
File “/usr/lib/python2.7/dist-packages/gevent/baseserver.py”, line 282, in serve_forever
self.start()
File “/usr/lib/python2.7/dist-packages/gevent/baseserver.py”, line 234, in start
self.init_socket()
File “/usr/lib/python2.7/dist-packages/gevent/pywsgi.py”, line 639, in init_socket
StreamServer.init_socket(self)
File “/usr/lib/python2.7/dist-packages/gevent/server.py”, line 78, in init_socket
self.socket = self.get_listener(self.address, self.backlog, self.family)
File “/usr/lib/python2.7/dist-packages/gevent/server.py”, line 89, in get_listener
return _tcp_listener(address, backlog=backlog, reuse_addr=self.reuse_addr, family=family)
File “/usr/lib/python2.7/dist-packages/gevent/server.py”, line 153, in _tcp_listener
sock.bind(address)
File “”, line 1, in bind
socket.error: [Errno 98] Address already in use: (‘0.0.0.0’, 5000)

该错误意味着您已经有另一个DIGITS devserver, 或者 ssserver 实例正在运行。

解决方案

您可以尝试使用

ps ax | grep digits
kill -9  pid

查找其他进程并将其终止kill -INT,或者只是重启您的计算机,如果这更容易。
再重新执行shadowsocks启动命令即可解决

ssserver -c  /etc/shadowsocks.json   -d start

以上配置完成后,如果是阿里云服务器,ECS还需要打开防火墙iptables

防火墙配置文件位置

cd /etc/sysconfig/
vim  iptables

根据业务需求添加规则,放行或者禁用端口。比如,添加以下规则可以放行8388端口,具体以自行配置的shadowsocks端口为准。

iptables -I INPUT -p tcp --dport 8388 -m state --state NEW -j ACCEPT
  1. 运行命令 iptables -F 清空所有规则。
  2. 运行命令 iptables -L 查看新规则是否生效。
  3. 运行命令 iptables-save > /etc/sysconfig/iptables 保存添加的规则。

保存规则

service iptables save

阿里云ECS安全组

也需要开放端口

猜你喜欢

转载自blog.csdn.net/jayhkw/article/details/88891175