文档章节

阿里云centos7.4 香港服务器的ss搭建(影梭)

l
 linjin200
发布于 02/12 09:43
字数 2201
阅读 17
收藏 2

阿里云centos7.4 香港服务器的ss搭建(影梭)

2018年08月03日 13:47:12 开挂的人生 阅读数:9084

转载:https://www.cnblogs.com/cheyunhua/p/8683956.html

部署 Shadowsocks之前,对它做了一个简单的了解,下面先介绍下。 
一道隐形的墙 
众所周知,天朝局域网通过 GFW (中国防火墙长城:英文名称Great Firewall of China,简写为Great Firewall,缩写GFW)隔离了我们与外界的交流,当然,这个隔离并非完全隔离,而是选择性的,天朝不希望你上的网站就直接阻断。每一个网络请求都是有数据特征的,不同的协议具备不同的特征,比如 HTTP/HTTPS 这类请求,会很明确地告诉 GFW 它们要请求哪个域名;再比如 TCP 请求,它只会告诉 GFW 它们要请求哪个 IP。

GFW 封锁包含多种方式,最容易操作也是最基础的方式便是域名黑白名单,在黑名单内的域名不让通过,IP 黑白名单也是这个道理。如果你有一台国外服务器不在 GFW 的黑名单内,天朝局域网的机器就可以跟这一台机器通讯。那么一个FQ的方案就出来了:境内设备与境外机器通讯,境内想看什么网页,就告诉境外的机器,让境外机器代理抓取,然后送回来,我们要做的就是保证境内设备与境外设备通讯时不被 GFW 怀疑和窃听。

ssh tunnel 是比较具有代表性的防窃听通讯隧道,通过 ssh 与境外服务器建立一条加密通道,此时的通讯 GFW 会将其视作普通的连接。由于大家都这么玩,GFW 着急了,于是它通过各种流量特征分析,渐渐的能够识别哪些连接是 ssh 隧道,并尝试性的对隧道做干扰,结果还是玩不过 GFW,众多隧道纷纷不通。

Shadowsocks简单介绍 
shadowsocks是一种基于Socks5代理方式的网络数据加密传输包,并采用Apache许可证、GPL、MIT许可证等多种自由软件许可协议开放源代码。shadowsocks分为服务器端和客户端,在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理。目前包使用Python、C、C++、C#、Go语言等编程语言开发。

Shadowsocks简单介绍运行原理: 
Shadowsocks的运行原理与其他代理工具基本相同,使用特定的中转服务器完成数据传输。在服务器端部署完成后,用户需要按照指定的密码、加密方式和端口使用客户端软件与其连接。在成功连接到服务器后,客户端会在用户的电脑上构建一个本地Socks5代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密之后发送到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。具体而言,Shadowsocks 将原来 ssh 创建的 Socks5 协议拆开成 Server 端和 Client 端,两个端分别安装在境外服务器和境内设备上。

这里写图片描述

Client 和 Server 之间可以通过多种方式加密,并要求提供密码确保链路的安全性。

Shadowsocks部署记录: 
服务器信息:阿里云上购买的海外机器(专用网络):172.12.166.194(内网)、147.174.190.138(外网,购买机器时选择的固定带宽的公网),Centos7.4。

安装依赖包

[root@shadowsocks-server src]# yum install wget curl curl-devel zlib-devel openssl-devel perl perl-devel cpio expat-devel gettext-devel git autoconf libtool gcc swig python-devel
  • 1

下载setuptools

[root@shadowsocks-server ~]# cd /usr/local/src/
[root@shadowsocks-server src]# wget --no-check-certificate  https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
[root@shadowsocks-server src]# tar -zvxf setuptools-19.6.tar.gz
[root@shadowsocks-server src]# python2.7 setup.py build
---------------------------------------------------------------
温馨提示:
如果失败,提示说需要zlib-devel依赖,RuntimeError: Compression requires the (missing) zlib module
[root@shadowsocks-server src]# yum install -y zlib-devel
---------------------------------------------------------------
[root@shadowsocks-server src]# python2.7 setup.py build
[root@shadowsocks-server src]# python2.7  setup.py install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

安装pip

[root@shadowsocks-server ~]# yum -y install epel-release
[root@shadowsocks-server ~]# yum -y install pip python-pip

对安装好的pip进行升级
pip install –upgrade pip
  • 1
  • 2
  • 3
  • 4
  • 5

安装shadowsocks

[root@shadowsocks-server ~]# pip install shadowsocks
  • 1

安装加密依赖包

[root@shadowsocks-server ~]# pip install M2Crypto
  • 1

创建服务端配置文件/etc/shadowsocks.json

[root@shadowsocks-server ~]# cat /etc/shadowsocks.json
{
"server": "172.21.166.194",        //专用网络下,这里只能写私网ip,不能写外网ip,否则启动失败!或者写0.0.0.0
"server_port": 8388,               //ss服务器的端口,默认是8388端口。
"password": "AS3e123jK",           //ss服务器密码
"timeout": 30,
"method": "aes-256-cfb"            //ss服务器配置的加密方式
}

温馨提示:
1)如果出现报错: Cannot assign requested address, 请将 server 换成 0.0.0.0, 然后重新启动上面的命令。
2)也可以进行多用户设置,已经测试可用!
{
"server": "172.21.166.194",
"port_password": {
"8388": "AS3e123jK",
"8389": "wang2",
"8390": "zhang3"
},
"timeout":30,
"method":"aes-256-cfb",
"fast_open": false
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

服务端ssserver启动

[root@shadowsocks-server ~]# vim /etc/systemd/system/ssserver.service
[Unit]
Description=ssserver
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target

[root@shadowsocks-server ~]# systemctl enable ssserver
[root@shadowsocks-server ~]# systemctl start ssserver
[root@shadowsocks-server ~]# systemctl restart ssserver

为了检查 shadowsocks 服务是否已成功启动,可以执行以下命令查看服务的状态:
[root@shadowsocks-server ~]# systemctl status ssserver -l
● ssserver.service - ssserver
   Loaded: loaded (/etc/systemd/system/ssserver.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2018-03-02 23:53:31 CST; 1min 55s ago
 Main PID: 10623 (ssserver)
   CGroup: /system.slice/ssserver.service
           └─10623 /usr/bin/python2 /usr/bin/ssserver -c /etc/shadowsocks.json

Mar 02 23:53:31 shadowsocks-server systemd[1]: Started ssserver.
Mar 02 23:53:31 shadowsocks-server systemd[1]: Starting ssserver...
Mar 02 23:53:32 shadowsocks-server ssserver[10623]: INFO: loading config from /etc/shadowsocks.json
Mar 02 23:53:32 shadowsocks-server ssserver[10623]: 2018-03-02 23:53:32 WARNING  warning: your timeout 60 seems too short
Mar 02 23:53:32 shadowsocks-server ssserver[10623]: 2018-03-02 23:53:32 INFO     loading libcrypto from libcrypto.so.10
Mar 02 23:53:32 shadowsocks-server ssserver[10623]: 2018-03-02 23:53:32 INFO     starting server at 0.0.0.0:8388

[root@shadowsocks-server ~]# lsof -i:8388
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ssserver 1958 root    3u  IPv4  56980      0t0  TCP *:8388 (LISTEN)
ssserver 1958 root    4u  IPv4  56981      0t0  UDP *:8388
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

安装锐速

锐速是一款强大的服务器加速软件。由于这个软件只针对特定的linux内核才能使用,所以需要修改服务器系统的内核。

Centos6和CentOS7 一键更换内核,完成后会重启
[root@shadowsocks-server src]# uname -r
3.10.0-514.26.2.el7.x86_64

[root@shadowsocks-server src]# wget --no-check-certificate https://blog.asuhu.com/sh/ruisu.sh
[root@shadowsocks-server src]# bash ruisu.sh
[root@shadowsocks-server src]# wget --no-check-certificate -O appex.sh https://raw.githubusercontent.com/0oVicero0/serverSpeeder_Install/master/appex.sh && chmod +x appex.sh && bash appex.sh install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
或者执行下面命令,然后重启服务器后,内核即将改变
# rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-3.10.0-229.1.2.el7.x86_64.rpm --force
  • 1
  • 2
重启服务器后,再次查看,内核就更换了
[root@shadowsocks-server src]# uname -r
3.10.0-229.1.2.el7.x86_64
  • 1
  • 2
  • 3
接着安装锐速
[root@shadowsocks-server src]# wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh
  • 1
  • 2
操作系统:CentOS
发行版本:7.3
内核版本:3.10.0-229.1.2.el7.x86_64
位数:x64
锐速版本:3.10.61.0
=================================================
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 96179  100 96179    0     0  63855      0  0:00:01  0:00:01 --:--:-- 63863


我们用的锐速安装文件是 3.10.60.0  ,但这个内核没有匹配的,请选择一个接近的锐速版本号尝试,不确保一定可用,(如果有版本号重复的选项随便选一个就可以)
1:3.10.61.12
2:3.11.20.4
请选择锐速版本号(输入数字序号):
2
........
[Running Configuration]
accif                eth0      
acc                  1
advacc               1
advinacc             1
wankbps              10000000
waninkbps            10000000
csvmode              0
subnetAcc            0
maxmode              1
pcapEnable           0

最后启动锐速:
[root@shadowsocks-server src]# service serverSpeeder start
ServerSpeeder is running!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

至此,Shadowsocks服务器端的配置完成。同时注意,在如上的Shadowsocks部署机器上要关闭iptables防火墙(如果开启iptables防火墙,则需要放开8388端口访问)。同时,在阿里云控制台上,要在这台机器的安全规则里设置好8388端口(如果设置了多用户登录,就要将所涉及到的几个端口都在防火墙里放行,如上面设置的8388、8389、8390)。

安装客户端

ss 的客户端地址: 
window:https://github.com/shadowsocks/shadowsocks-windows/releases 
mac:https://github.com/shadowsocks/ShadowsocksX-NG/releases 
andorid:https://github.com/shadowsocks/shadowsocks-android/releases

© 著作权归作者所有

共有 人打赏支持
l
粉丝 17
博文 596
码字总数 650596
作品 0
福州
程序员
私信 提问
CentOS 7.3上安装shadowsocks遇到的坑

前两天购买了阿里云的ECS服务器,想搭个梯子,在网上找了很多安装配置shadowsocks的博客,基本套路都是差不多的,大家可以找更详细的配置。 这里我想聊一下我在安装ss时遇到的坑: 1、我买的...

a_pan
2017/12/05
0
0
阿里云搭建VPN

编者注 由于lantern近期开始收费,免费版本变得缓慢,评判成本,发现当使用VPN时,开启阿里云美国服务器按需资源使用,价格合理。决定使用阿里云的美国东部服务器(香港服务器和美国西部服务...

抢小孩糖吃
2016/08/15
116
0
阿里云Centos7.4安装vpn(pptp)服务器

阿里云Centos7.4安装vpn(pptp)服务器 2018-11-23 23:11:25 虚拟机 PPTP, VPM, 虚拟机 阅读(25) 评论(0) 前言 vpn服务器搭建,由于调用的一些接口服务加入了白名单,本地ip是每天变化的,所以...

linjin200
01/27
0
0
阿里云ECS(香港)Centos7服务器 搭建shadowsocks服务端详细教程

阿里云ECS(香港)Centos7服务器 搭建shadowsocks服务端详细教程 2019年01月04日 20:31:13 _dabin 阅读数:269 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/...

linjin200
02/12
0
0
阿里云上搭建webRTC 服务器——Licode

阿里云上搭建webRTC 服务器——Licode 系统配置 阿里云服务器 Ubuntu 14.04.5 LTS Docker 环境搭建 在一台空的机器上搭建docker环境,先要安装docker,执行下面的命令即可: 执行下面的shell...

harlanc
01/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

php __call,__callStatic

// demo1.php<?phpclass test{public function run(){static::who();test::who();self::who(); $this->who();}public static function __callS...

小张525
19分钟前
0
0
Java发展历史

1995年5月23日,Java语言诞生 1996年1月,第一个JDK-JDK1.0诞生 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术 1996年9月,约8.3万个网页应用了JAVA技术来制作 1997年...

二九结狐六体
21分钟前
1
0
蚂蚁金服核心技术:百亿特征实时推荐算法揭秘

摘要: 文章提出一整套创新算法与架构,通过对TensorFlow底层的弹性改造,解决了在线学习的弹性特征伸缩和稳定性问题,并以GroupLasso和特征在线频次过滤等自研算法优化了模型稀疏性。在支付...

阿里云官方博客
25分钟前
1
0
Dubbo底层采用Socket进行通信详解

Dubbo底层采用Socket进行通信详解 由于Dubbo底层采用Socket进行通信,自己对通信理理论也不是很清楚,所以顺便把通信的知识也学习一下。 n 通信理论 计算机与外界的信息交换称为通信。基本的...

DemonsI
35分钟前
0
0
Sublime Text3快捷键大全

Sublime Text3快捷键大全 选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。 Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选...

linjin200
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部