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. iOS 自动布局框架 – Masonry 详解

    目前iOS开发中大多数页面都已经开始使用Interface Builder的方式进行UI开发了,但是在一些变化比较复杂的页面,还是需要通过代码来进行UI开发的.而且有很多比较老的项目,本身就还在采用纯 ...

  2. DHCP工作过程的六个主要步骤

    对于学习DHCP来说,很重要的一部分就是对于DHCP工作过程的理解. DHCP分为两个部分:一个是服务器端,另一个是客户端. 所有客户机的IP地址设定资料都由DHCP服务器集中管理,并负责处理客户端的 ...

  3. 超酷的 Vim 搜索技巧

    尽管目前我们已经涉及 Vim 的多种特性,但此编辑器的特性集如此庞大,不管我们学习多少,似乎仍然远远不足.承接我们的 Vim 教程系列,本文我们将讨论 Vim 提供的多种搜索技术. 不过在此之前,请注 ...

  4. #优化:Nginx防御DDOS和CC攻击

    加载HTTP段 ## # 基础配置 ## keepalive_timeout 10; server_tokens off; types_hash_max_size 2048; ## # 主要配置 ## ...

  5. asp.net C#取Excel 合并单元格内容

    asp教程.net c#取excel 合并单元格内容读取excel数据,填充dataset// 连接字符串 string xlspath = server.mappath("~/www.11 ...

  6. sql server中QUOTENAME()函数的用法

    操作sql server尤其是写存储过程时,要用到各种各样的函数,今天就总结一个quotename()的用法. 1.语法: quotename('character_string'[,'quote_c ...

  7. Java 8 – Period and Duration examples

    Few examples to show you how to use Java 8 Duration, Period and ChronoUnit objects to find out the d ...

  8. rxjs 简单的demo

    开发环境是使用 create-react-app 创建的.再使用 $ cnpm install rxjs 来安装即可开始. $ npx create-react-app my-app $ cd my- ...

  9. LINQ中in的实现方法-LINQ To Entities如何实现查询 select * from tableA where id in (1,2,3,4)

    如果用in是字符串类型无问题,可以直接这样用 ).Where(entity => urls.Contains((entity.NavigateUrl == null ? "" ...

  10. 在js中嵌套java代码

    jsp中有时候在js中操作某些java后台传递过来的数据逻辑比较复杂,比如list内容的遍历,可以直接在页面上添加java脚本来执行内容,代码如下: //在js中插入java代码操作 <% // ...