1.安装pip

  Pip 是 Python 的包管理工具,下载ss十分方便,但是centos是没有pip的,我们需要安装一个。

yum install python-setuptools & easy_install pip          //装了python-setuptools 再去安装pip。

或者用 

yum install python-pip
//若提示没有pip就执行下面的安装

yum -y install epel-release
yum -y install python-pip
pip install --upgrade pip

2.安装Shadowsocks 客户端

  shadowsocks安装时是不分客户端还是服务器端的,只不过安装后有两个脚本一个是sslocal代表以客户端模式工作,一个是ssserver代表以服务器端模式工作。命令:

pip install shadowsocks

3.配置shadowsocks

  shadowsocks有两种配置方法,一种是命令行参数配置,一种是配置文件。

  ·命令行参数

  ·配置文件:

  shadowsocks的配置文件是一个json形式的文件,各参数的意义和命令行参数意义相同。

{
    "server":"my_server_ip",
    "server_port":8388,
    "password":"mypassword",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": true
} 

  服务器地址就写服务器的ip地址(内网地址),不要写127.0.0.1。端口号可以自己写,但是不要占用其他服务的端口。密码尽量采用复杂一点的密码,以保证安全性。加密方式使用aes-256-cfb就可以了。如果服务器是Linux系统的话,打开fast_open。

  温馨提示:
  1)如果出现报错: Cannot assign requested address, 请将 server 换成 0.0.0.0, 然后重新启动上面的命令。
  2)也可以进行多用户设置,已经测试可用!
{
"server": "my_server_ip",
"port_password": {
"8388": "mypassword",
"8389": "mypassword2",
"8390": "mypassword3"
},
"timeout":30,
"method":"aes-256-cfb",
"fast_open": ture
}

  新建配置文件

vi   /etc/shadowsocks.json

  按 i 进入编辑模式,复制粘贴填写以上配置内容,改完之后esc退出编辑模式 ,   敲下:wq   保存退出 

4,启动shadowsocks

# 启动
ssserver -c /etc/shadowsocks.json -d start   

# 停止
ssserver -c /etc/shadowsocks.json -d stop

# 重新启动
ssserver -c /etc/shadowsocks.json -d restart

  如果启动后不确定自己是否成功,可以使用  

ps -aux | grep ssserver

#ps是 linux 查看系统进程的工具

  如果像下图一样能查到相关结果,证明这个进程已经启动成功了。  

5.加入开机启动 (进程调用模式,服务模式)

  ·进程调用模式

  把 shadowsocks 服务端进程设置为开机启动:

vi /etc/rc.local

  按i进入Insert模式,在exit 0上面的空白行加入: 

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

  然后esc接着:wq

  ·服务模式

  创建名为”ssserver“的服务:

vi /etc/systemd/system/ssserver.service

  粘贴以下配置

[Unit]
Description=ssserver
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target

  相关命令

#设置服务开机启动
systemctl enable ssserver

#禁止服务开机启动
systemctl disable ssserver

#启动服务
systemctl start ssserver

#重启服务
systemctl restart ssserver

  为了检查 shadowsocks 服务是否已成功启动,可以执行以下命令查看服务的状态:

systemctl status ssserver -l

  

lsof -i:8388

  

  至此,Shadowsocks服务器端的配置完成。同时注意,在如上的Shadowsocks部署机器上要关闭iptables防火墙(如果开启iptables防火墙,则需要放开8388端口访问)

6.开启防火墙

  Centos默认使用firewall防火墙,防火墙不开放我们设置的8388端口,我们shadowsocks是转发不出去的。所以,我们要开放firewall端口。

  firewalld的基本使用

启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld

     先看看firewalld的状态。

  可以看到firewalld正在活动,如果是dead,那么就输入上面的启动命令,启动firewalld。

   那怎么开启一个端口呢?

firewall-cmd --zone=public --add-port=8388/tcp --permanent    # permanent永久生效,没有此参数重启后失效

  开启还不够,因为firewalld还没有载入这个设置。所以我们要重新载入规则。

firewall-cmd --reload

          到这里,我们就已经开放好8388端口了。

Centos7 ss搭建的更多相关文章

  1. CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置

    Zabbix监控端配置请查看:CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 (1).在CentOS7(被监控端)上部署Zabbix Agent 主机名:youxi2 IP地址: ...

  2. centos7 环境搭建

    centos7 环境搭建    CentOS-7-x86_64-DVD-1511.iso    vmware121. 安装    使用iso安装系统:2. 修改yum源到光盘        先把光盘C ...

  3. Kafka(二)CentOS7.5搭建Kafka2.11-1.1.0集群与简单测试

    一.下载 下载地址: http://kafka.apache.org/downloads.html    我这里下载的是Scala 2.11对应的 kafka_2.11-1.1.0.tgz 二.kaf ...

  4. 在Centos7下搭建Socks5代理服务器

    在Centos7下搭建Socks5代理服务器 http://blog.51cto.com/quliren/2052776   采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器 ...

  5. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

    第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...

  6. Hyperledger超级账本在Centos7下搭建运行环境

    超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO).埃森哲(Accenture)等十几个不同利益体 ...

  7. git操作:在CentOS7上面搭建GitLab服务器

    在这篇文章中将要讲解如何在CentOS7上面搭建本地的GitLab服务器. 一.安装并配置必要的依赖关系 首先要在CentOS系统上面安装所需的依赖:ssh.防火墙.postfix(用于邮件通知).w ...

  8. Storm(二)CentOS7.5搭建Storm1.2.2集群

    一.Storm的下载 官网下载地址:http://storm.apache.org/downloads.html 这里下载最新的版本storm1.2.2,进入之后选择一个镜像下载 二.Storm伪分布 ...

  9. HBase(二)CentOS7.5搭建HBase1.2.6HA集群

    一.安装前提 1.HBase 依赖于 HDFS 做底层的数据存储 2.HBase 依赖于 MapReduce 做数据计算 3.HBase 依赖于 ZooKeeper 做服务协调 4.HBase源码是j ...

随机推荐

  1. 我的第一个Raspberry PI装置

    好吧,我先承认是这是从书上学习的第一个示例. 我入手的是Raspberry红版,版本2,看到这么小巧的卡片电脑可以做这么多事情,真是让人惊喜! 安装系统等都很顺利,启动.安装程序.远程桌面.SSH登录 ...

  2. iOS 中的各种锁

    在日常开发过程中,为了提升程序运行效率,以及用户体验,我们经常使用多线程.在使用多线程的过程中,难免会遇到资源竞争问题.我们采用锁的机制来确保线程安全. 线程安全 当一个线程访问数据的时候,其他的线程 ...

  3. 关于去哪儿网的UI自动化测试脚本

    UI自动化测试Qunar机票搜索场景访问Qunar机票首页http://flight.qunar.com,选择“单程”,输入出发.到达城市,选择today+7日后的日期,点“搜索”,跳转到机票单程搜索 ...

  4. HDU 1023 Train Problem II (大数卡特兰数)

    Train Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. numpy 中的axis轴问题

    在numpy库中,axis轴的问题比较重要,不同的值会得到不同的结果,为了便于理解,特此将自己的理解进行梳理 为了梳理axis,借助于sum函数进行! a = np.arange(27).reshap ...

  6. C++转型操作符

    转:http://www.cnblogs.com/hazir/archive/2012/04/14/2447251.html 旧式的C转型方式,几乎允许你将任何类型转换为任何其它类型,有其自身的缺陷, ...

  7. C# 连接 mySQL 出现 GUID 应包含带 4 个短划线的 32 位数 问题

    C# 连接 mySQL 出现 GUID 应包含带 4 个短划线的 32 位数 问题 在连接字符串中加入 Old Guids=true; 如:server=localhost;userid=root;p ...

  8. appium简明教程(10)——控件定位基础

    狭义上讲,UI级的自动化测试就是让机器代替人去点来点去的过程. 但机器去点什么(点上面还是点左边),怎么点(是长按还是轻触),这些东西是必须由代码的编写者所指示清楚的. 控件定位就是解决机器点什么的问 ...

  9. Java原理之HashMap

    一下JDK1.7测试没问题,1.8就不一样了,应该散列的更优化. 最近看了很多java底层之HashMap的原理,根据自己的实现如下: package com.gmq.chapter02; impor ...

  10. SQLServer2012 (非)聚集索引存储探究

    SQLServer2012 (非)聚集索引存储探究 Author:zfive5(zidong) Email:zfive5@163.com 引子 因为写了前一篇文字<SQLServer2012 表 ...