关于 VPS 和翻墙的那些事

好多人看来不太熟悉什么是 VPS,以及翻墙又是什么,以及如何在 CentOS 上搭建 SS 服务器,在此写一篇科普。

前言

Build 20180412
本文创建于 2016 年 08 月 03 日,并且以视频为主。由于 Bilibili 的视频被下架所以本文讲解的内容已意义不大。
相关联的 SSR+SSPanel 搭建教程也由于时间原因有些落后,所以不推荐大家再根据这个尝试,仅供各位参考。

如果你想了解 SSPanel 相关的配置,可以去参考另一篇文章

SSR+SSPanel 搭建教程 [ 链接 ]

如果你想了解 SS 相关的设置,可以去参考 WIKI

Shadowsocks-Wiki [ 链接 ]

目录

1、科学上网
2、VPS 的选择与购买
3、 从零搭建一台 SS 服务器
4、SS 客户端的配置
5、 如何让 SS 服务器更安全
6、 后期总结
7、 相关教程


1、科学上网

关于什么是科学上网,维基上的解释十分全面。

突破网络审查突破网络封锁 ,简称 破网 ,俗称 翻墙科学上网 ,指 绕过互联网审查封锁技术(IP 封锁、端口封锁、关键词过滤、域名劫持等), 实现对网络内容的访问

详细内容本人直接引用维基的词条,在此不予赘述。
https://zh.wikipedia.org/wiki/突破网络审查

实际上,最直接的翻墙就是使用 VPN,VPN 技术发展早已非常成熟,但是由于加密方式已被破解明显,防火长城现在将 VPN 屏蔽的已经所剩无几,后来大家看到了 SSH,使用 SSH 的 sock5 很稳定,但是特征也十分明显,防火长城可以对其直接进行定向干扰。

而除了 VPN,对于翻墙大家仍然有很多方法,比如 Shadowsocks 、 Lantern 、 VPNGate 、. 赛. 风… 无. 界… 自. 由. 门. 等等,而实际上无论哪种方式,他们本身都需要一台服务器作为中间人进行消息传递。而 VPS 虚拟专用服务器 就十分适合担当这个角色,并且由于 VPS 平时就作为商品在各类云服务器平台上售卖,自行购买并搭建相当方便,唯一需要的就是人们对于服务器的操作技术。

现在普及比较好的就是 Shadowsocks 与 Lantern , VPNGate 在 2013 年左右的时候使用比较好,2016 年就已经被墙的不行了。
赛. 风也十分不错,安卓端一键翻墙十分便捷,. 无. 界… 自. 由. 门. 虽说也是翻墙工具,但由于是专用软件本文不方便探讨。

跳转链接

Lantern 官网地址:getlantern.org
Shadowsocks 的托管 (非正式) 官网地址:shadowsocks.org
Psiphon 赛风地址(已被屏蔽):psiphon.ca

注意:以上地址已被防火长城屏蔽,访问时请翻墙并使用 HTTPS 访问。

而各个工具中 Shadowsocks 需要自行建立的服务器,而其他工具都有专人维护服务器,本文之后讲解中就详细的说明了一台 SS 服务器是如何搭建的。

而科学上网后,你能做什么?Google 肯定没有问题,你可以了解很多技术了,Facebook 和 Twitter 更是开阔你的视野,并且你不必要再被国内成天的政治宣传所压制,了解什么是真正的国外,真正的国内。很多人在这里就迷茫了,因为很久之前锁接受的教育和身边的一切和新认识到的的东西完全抵触, 在此我建议,如果你没有一个真正平稳的心态,请不要涉足国外和政治有关的网站

第一部分完结。(回到首页


2、VPS 的选择与购买

在 VPN 普及的时候,大家翻墙都是多人购买一台 VPS 搭建 VPN 服务器,有能力有技术的人购买了多台并组建出一个收费翻墙平台。
而现在,VPN 被屏蔽了,但是不妨碍大家继续使用 Shadowsocks 搭建 SS 服务器并继续翻墙。

关于 SS,在这里多说一句, Shadowsocks 本身由 clowwindy 在 Github 一次开发并调试 ,但可能由于未能对自己信息足够的保密(或者政府太强大?)在 2015 年暑假的时候 clowwindy 被请去喝茶,已经于 2015 年 8 月 22 日删除了 GitHub 的 SS 源代码库(在此致敬原作者),现在使用的 SS 则是继任者们通过原来留下的源代码二次开发出来。 其中有一个比较出名 ShadowsocksR 由作者 breakwa11 开发并于 ZeroNet 更新 ,由于可以使用新的握手协议和混淆代码,相对原版 SS 在抗封锁方面十分优秀。唯一不足的就是只有 Windows 版,其他各平台还在开发中。而我们可以如此轻松的翻墙都是各位开发人员的辛苦努力的结果,再次致敬。

VPS 国内的三家大品牌:阿里云、腾讯云、微软云中国版(世纪互联运营),都可以搭建网站服务器 ,但由于国内环境所致,基本上 VPS 的基础价格高出一倍不说,网络也要花钱,并且还需要你进行实名认证,如果你在上面进行网站搭建还需要进行网站备案(其中的折腾在此不讨论),总之如果你在国内购买一台 VPS 你要准备把你的个人全部信息(身份证上的以及你现在照片等等)都上交企业与国家,而且 国内的 VPS 也没能连接到全球的互联网 ,所以通常翻墙者们 购买国内 VPS 的目的主要在于流量转发 等低延迟业务。

VPS 国外的品牌就比较多了,Vultr、linode、樱花、搬瓦工、DigitalOcean、hostus 等等,通常只搭建 SS 的都选择搬瓦工,很便宜并且支持支付宝,而 Vultr 家和 Linode 家都有日本服务器,相对延迟较低(100~200)适合个人建立 SS 服务器。但是请注意,由于两家国际链路不同,可能使用上是不同的效果(本文之后讲解的是通过 Vultr 家服务器进行搭建)

而 VPS 选择上,你需要关注 VPS 商家的信誉,服务器稳定性,VPS 的 CPU、内存、硬盘 IO、网络带宽/延迟、以及售后服务 。通常由于货比三家,哪里站长多选哪家就没什么大问题了(这点也主要是因为各位站长的功劳)而关于网络带宽和延迟,只能在你获得 VPS 管理权限后,通过本机 Ping 测试,VPS 下载测试,国内国外网络节点测速等方式得到详细的效果,通常一台服务器延迟在 200ms 左右,带宽在 100Mb 以上就比较不错了,本站使用的 VPS 是日本服务器,延迟 200ms 带宽 1Gb。但是要注意,VPS 的带宽还有一点影响因素就是 VPS 本身和国内的连接效果 ,通常这个都不是很好,比如本站另一个 SS 服务器国内速度约为 2MB/s,峰值可以到 3MB/s,这一点需要在使用的时候注意。

Vultr 的官网:www.vultr.com

搬瓦工官网:bandwagonhost.com

购买 VPS 很简单,在此用 Vultr 举例。打开 www.vultr.com,可以看到首页就有注册填写的内容,在左侧填写邮箱右侧填写密码,点击 Sign Up 即可注册成功,也可以点击右上角的 SignUp 注册,注册后你需要绑定信用卡,而如果没有信用卡的用户可以绑定 payapl,paypal 支持从中国储蓄卡中直接划拨所需要的钱。绑定好后就可以直接购买 VPS 了。

1、进入 VPS 选购页面,我们在 Server Location 中,选择日本服务器(Tokyo Japan)
备注:Vultr 家有美英德法日澳一共六个国家 12 个地区的 VPS,选择日本主要是注重移动联通低延迟。

2、在 Server Type 中,选择我们想要的系统,在这里我选择 64 bit OS ,并且点击图标选择 CentOS 6 x64
备注:在这里你可以选择 64 或 32 的系统,也可以直接选择 Vultr 准备好的对应应用的系统镜像,还可以选择以前在 Vultr 服务器上的备份或快照,甚至手动上传自己制作的系统镜像,在这点非常方便也是我喜欢 Vultr 家 VPS 的原因之一。

3、在 Server Size 中,我们选择需要的 VPS 配置,价格由低到高,最低的是上限 5 美元/月的 1 核 768MB 内存 1000G 流量限制 15GSSD。我们挂 SS 只需要 256MB 就足以,768MB 内存可以再做更多的东西(比如挂个 lnmp,sql 等等)流量方面 1000G 我相信绝大多数人都用不了。

4、在 Additional Features 中,我们选择想要的额外功能,Vultr 提供了 IPV6,专用网络,自动备份,DDOS 防护等功能,请注意后面有金额的是收费功能,如果你需要开启 IPV6,则将 IPV6 一项勾选即可

5、在 Server Hostname & Label 中,我们输入主机名和标签,主要是为了多台主机互相之间的区分,我建议在这里填写上防止以后管理混乱。

经过以上选择后,如果你确认无误,就可以在下面点击 Deploy Now 购买,Vultr 会自动生成一台拥有独立 IP 的 VPS 并且开始安装系统,你只需要回到个人管理平台的 Servers 页面等待您的主机变为绿色 Running 状态,这时候就算购买完毕了。

Vultr 家的 VPS 是随着时间逐渐增加花费的,但是最高是你购买时的限制。也就是你可以随意的创建一台 VPS,然后删掉它,这样你只需要话费 0.01 美元就可以找 VPS 进行测试,非常方便。

PS:Vultr 家的最低配置已经更新为 2.5 美元/月的 1 核 512MB 内存 500G 流量限制 20GSSD,但是需要抢购。(20170501)

PS:Bandwagonhost 家的 VPS 已经有 KVM 版了。(20170601)

第二部分完结。(回到首页


3、从零搭建一台 SS 服务器

现在你拥有了一台属于你自己的主机,你能做些什么?

搭建个网站?搞个翻墙?做个网盘?跑个爬虫?

总之,这是一个   拥有公网 IP 的   24 小时在线的   与国际互联网接轨的   服务器

你可以在上面做任何一种服务器业务,只要你想得到,做得出。

而其中,作为 SS 服务器,是很简单的一种业务。

首先我们需要知道 Vultr 管理页面的各项功能,以及知道我们服务器的 IP 地址和管理密码。


《关于VPS和翻墙的那些事》

服务器 IP:用于连接服务器的 IP,DNS 解析也使用此 IP,如果你使用 CDN 那么隐藏的也是这个 IP,大型网站 IP 直接暴漏出去安全问题会很多。
重启:等同服务器重启,重启期间计算服务器时间。
停机:等同服务器关机,关机期间计算服务器时间。
状态:绿色的 Running 是正常状态,其余还有关闭,重启,重装,禁用,删除等状态。
更多:点击后第一个选项是进入管理页面,其余选项为连接 Console,停机,重启,重置,删除。


《关于VPS和翻墙的那些事》

服务器 IP 地址:服务器的公网 IP
服务器初始用户名:服务器的用户名,默认 root 或者 Administrator
服务器初始用户密码:服务器的管理员密码,默认是随机生成的 11 位字符,可自行在服务器更改。点击小眼睛查看或隐藏服务器密码
服务器配置:服务器的配置信息,包括 CPU 核心数,内存,硬盘容量,已用流量与流量限制
服务器信息:可以查看到服务器的长期硬件状态,如 CPU,网络,硬盘等等
Console:这个是 Console 控制台,即如果你 SSH 无法连接了,或者网卡被禁用无法访问服务器,可以通过这个打开服务器后台对服务器操作。


这时候,你需要一个 SSH 连接工具了,关于 SSH 工具网上有很多,在此不再赘述。推荐使用 BitviseSSH 功能多,支持 Sock5 转发。

在 SSH 中,主机输入你的服务器公网 IP,端口选择 22(以后可以改),用户名和密码都按照 Vultr 给的填写,都正确后,默认会提示一个 SSH 密钥,同意并保存到本地即可。

这个时候你打开了 SSH 命令行窗口,默认会显示当前日期以及登录 IP,并且命令行会停留在 [[email protected] ~]# 上等待你输入。
(如果你想了解更多,你可以去查找 CentOS 的相关书籍,比如《鸟哥的私房菜》,你学的更多可以做的也更多。)

在这里,你可以进行服务器操作了,我们现在需要的是安装 SS。在这里引用别人的文章。

Shadowsocks 服务端安装脚本(秋水逸冰)https://teddysun.com/342.html
ShadowsocksR 服务端安装教程(致敬破娃) https://github.com/breakwa11/shadowsocks-rss/wiki/Server-Setup

建议如果你可以的话,安装 ShadowsocksR 版本,因为支持更多协议和混淆,如果不会,你可以使用秋水逸冰的脚本,也十分方便。
安装完毕后,无论你使用哪种方式, 一定需要开启防火墙端口 ,注意 防火墙修改需谨慎 ,注意修改端口为你想要的 SS 端口(本利默认 8388,CentOS6)

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8388 -j ACCEPT
service iptables save
service iptables restart

以上做完后,SS 服务器就搭建好了,你可以准备使用客户端进行连接了。
更多详细的内容可以查看视频(已被封):[ 点我查看 ]

第三部分完结。(回到首页


4、SS 客户端的配置

首先你需要下载 Shadowsocks 客户端(本站下载

下载后程序的图标是一个小飞机,运行即可。

首先初始页面是编辑服务器页面,你需要按照服务端当时的配置文件填写服务器信息,并按确定键保存。

(本例:服务器 my.server.ip.address(域名或者 IP 都可以),端口 8388,密码 shirorobot,加密方式 chacha20)

《关于VPS和翻墙的那些事》

保存后 SS 客户端即可与服务器连接,但是如果你想要用浏览器上 Google,还差一步。

你需要右键任务栏的 SS 图标,选择启用系统代理,程序便会自动填写代理信息,这时候 IE 就可以使用 SS 上 Google 了

而如果你有其他的浏览器,比如 Chrome 添加了扩展插件,Firefox,你需要看一下浏览器设置的网络设置,通常都是系统代理,但你可以手动配置。

《关于VPS和翻墙的那些事》

按上图配置 Firefox 后,可以在不开启 Shadowsocks 的系统代理模式下仍然使用 SS,这样相对方便。

剩下的,如果你开启允许来自局域网的链接,你可以使用手机等工具,指定代理 IP 为你局域网的 IP,可以让他们也通过 SS 通道。

如果你不满足于 PAC 列表中的网址,你可以在系统代理模式中选择全局模式,这样一些不在 PAC 列表的被墙网址也可以访问。

第四部分完结。(回到首页


5、如何让 SS 服务器更安全

首先,推荐你看 Shadowsocks 的官方 WIKI:Wiki-Home

SS 服务器已经搭建好了,用着也非常不错了,但是你想过你的 VPS 的安全性么?

作为一台有公网 IP 的服务器,每天都会至少被数以万计的爬虫掠过,被无穷的扫描器扫过,被很多的弱口令试探过。

作为一台 Shadowsocks 服务器,如果你分享出去,可能被别人利用 BT 下载,入侵跳板,或者直接试探你的服务器。

所以,你需要对你的服务器保护一下。

通常建议以下保护方式

1、修改 SSH 端口号,由 22 修改为其他值
2、禁止 Shadowsocks 的流量再次返回本地服务器
3、修改 Shadowsocks 默认端口号,使用 aes-256-cfb 协议
4、修改 Shadowsocks 的启动用户,使用非 Root 用户启动 shadowsocks 服务器,防止提权。
5、修改 Shadowsocks 支持的端口,阻止发送邮件等可能产生隐患的端口。
6、不在非安全的地方登录 SSH,同时减少服务器 IP 被其他人了解的可能性

无论你做什么方式,一定要注意防火墙的端口开放或关闭的问题。

第五部分完结。(回到首页


6、相关教程

SS 官方 Wiki(包含 SS 绝大部分帮助)
https://github.com/shadowsocks/shadowsocks/wiki

SSR 官方 Wiki(包含 SSR 绝大部分帮助)
https://github.com/breakwa11/shadowsocks-rss/wiki

SSR+SSpanel 搭建记录
https://blog.starryvoid.com/archives/82.html

使用 Supervisor 进程守护工具保障程序运行
https://blog.starryvoid.com/archives/182.html

Linux 服务器使用密钥登录
https://blog.starryvoid.com/archives/105.html

使用 Proxifier 对联网进行管理
https://blog.starryvoid.com/archives/133.html

简单的 VPS 问题排错指南
https://blog.starryvoid.com/archives/170.html


7、后期总结

拥有一台 Shadowsocks 服务器实际很简单,但是长期拥有并完美维护不是那么容易,很多新手在 Linux 的命令行面前望而却步,或者看着自己的服务器速度远远不赶别人服务器那么快而心灰意冷。你要知道,别人的服务器很好很强大都是有着长期的技术与支持,有的服务器使用国内 VPS 做流量转发加速,有的服务器使用锐速等工具提速(现锐速已停止更新,网上有 91yun 的破解版),有的服务器专门为 SS 优化过内核算法,而你,仅仅是脚本安装了一下。

现在 Shadowsocks 逐渐被 GFW 检测到特征码,但得益于开发人员的努力暂时还很稳定。而越来越多的人逐渐了解 SS 并且加入 SS 之中,虽然是好事,但是也不希望有人恶意利用 SS 或者开着 SS 再用着 360 等工具去让服务器被 GFW 检测,这样坑的不只是你我,还有无数在 VPS 上搭建服务的正规运维人员。

如果你想了解更多,我建议你学习一些网络相关的书籍,看一些 Linux 资料,或者了解 shadowsocks 的开源代码。


最后,感谢您的阅读。(回到首页

点赞
  1. 我的名字叫会回忆说道:
    Google Chrome 54.0.2840.85 Google Chrome 54.0.2840.85 Android 6.0 Android 6.0

    :cool: 不错

  2. AT说道:
    Google Chrome 56.0.2924.87 Google Chrome 56.0.2924.87 Mac OS X  10.12.5 Mac OS X 10.12.5

    希望 SS 能够支撑更久一点 :surprised: