文章首发整理个人博客,转载参考注明来源一之笔;
如果不想自己搭建VPS,那么,这里有一些资源,一键科学上网,可以收藏下,用做紧急时候备用;
前言
现在,科学上网变得越来越重要了,面对国内搜索引擎的商业化,你要搜个东西,往往给你的不是你想要的结果;这时候,好的搜索引擎就很重要了;Google,因为政策原因,被和谐了,因此,想要科学的上网,怎么办?自己买个梯子,不划算,要知道,因为买了梯子,客服联系不上人的多得是,而且比较贵,并且不可靠;自己动手,丰衣足食,这篇文章旨在记录自己在搭建VPS的过程以及遇到的问题;
相关概念
- VPS,虚拟专用服务器(Virtual private server,缩写为 VPS),是将一台服务器分割成多个虚拟专享服务器的服务。实现VPS的技术分为容器技术和虚拟化技术。简单理解VPS就是一台拥有公网IP的服务器。
- VPN,虚拟私人网络(Virtual Private Network,缩写为VPN)是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。
- SS,Shadowsocks,一种安全的socks5代理;
VPS的选择
搬瓦工 VS 亚马逊云(AWS)
什么是AWS?Amazon Web Services,就是亚马逊云服务;
之前写过一篇文章Mac科学搭建VPN,绿色上网,其中的VPS就是搬瓦工提供的,一年最低大概19美元,如果有优惠券的话,可能就16美元,我大概用了快2年,现在还在用,自己用的话,基本没什么问题;但是,我用了另外的亚马逊云提供的EC2服务,搭建好了,测试了一下,突然就得,搬瓦工延迟太大了,跟AWS不是一个数量级;
最上面两个都是AWS的服务,最下面是搬瓦工的服务,对比立马就知道,差距太大了;
AWS 免费试用条件
需要注册信息,并绑定一张信用卡
,需要扣费认证,这个认证的钱会退给你的;
EC2套餐信息
EC2套餐,每个月750h,1G的内存,30G SSD,自己用够用了;
具体的套餐,你可以去官网看看;
账号注册
到AWS进行注册,如下: 注册过程中需要绑定信用卡,会扣$1(预授权)。但需要注意的是,在没有用超的情况下,是免费的,后面可以通过设置超额提醒;另外,在注册的过程中,他们会打电话确认,听到那边说话几秒,反正说的是英语,你就输入屏幕提示的数字即可,官网验证成功; 一步一步按照提示走,就会注册成功;
创建AWS实例
进入官网,可以找到下面这个这个免费套餐;
点进去,就能看到这个套餐的具体信息了;
大概1到2h就能开通成功了;
启动虚拟机
登录进去,就能看到如下的服务了
点击启动虚拟机,开始选择虚拟机类型,包括一些配置信息,总共有以下七个步骤:
选择AMI->选择实例类型->配置实例->添加存储->添加标签->配置安全组->审核启动
选择AMI
选择Amazon 系统映像(AMI),我自己通过实践选择的是Ubuntu
选择实例类型
配置实例
默认配置即可,下一步;
添加存储
默认配置即可,下一步;
添加标签
配置安全组
设置端口流量
注意
:这一步很重要,如果搞错了,SSH客户端或者终端远程登录会连接不上;,这里先设置所有流量
和端口
开放;
生成秘钥对
这个文件是,后缀为 name.pem
形式的文件,可以用这个文件登录服务器;
秘钥对的名称一般是,账户名,注意是账户名,不要搞成登录名或者邮箱了;
点击启动实例,设置账单通知
账单提醒功能(重要)
- 启动状态
- 首选项
保存首选项;
审核
最后一步就是审核,审核之前配置的所有功能,确定没问题,启动;
登录服务器
定制完成后,就可以远程登录了。在实例上右击,点击连接。
点击连接,会弹出一个框,具体的信息框,如下:
cd 到 秘钥文件也就是 name.pem
文件夹,然后输入以下命令,获得读写权限;
chmod 400 name.pem
然后复制,上图的示例,点击回车,就会进去;
登录权限问题
注意,你没有获得 pem
秘钥对的读写权限,就会报错,如下:
成功登录服务器,终端会显示如下:
服务端安装Shadowsocks
依次在终端输入以下命令:
# 获取root权限
sudo -s
# 更新apt-get
apt-get update
# 安装python包管理工具
apt-get install python-setuptools
apt-get install python-pip
# 安装shadowsocks
pip install shadowsocks
注意
:获取root权限后,光标前面的美元符号会变成#,并且最前面的账户就是Root
就是下面这个样子:
服务端配置Shadowsocks
- 查看SSServer位置
which ssserver
会得到这个
/usr/local/bin/ssserver
创建配置文件
mkdir /etc/shadowsocks
vim /etc/shadowsocks/ss.json
配置文件内容
{
"server":"0.0.0.0",
"server_port":443, //ss连接服务器的端口
"local_address":"127.0.0.1",
"local_port":1080,
"password":"111111", // 设置ss连接时的密码
"timeout":300,
"method":"aes-256-cfb",//加密方法,还有好多,这里默认这个
"fast_open":false,
"workers": 1
}
服务端启动Shadowsocks
- 启动:
sudo /usr/local/bin/ssserver -c /etc/shadowsocks/ss.json -d start
- 停止:
sudo /usr/local/bin/ssserver -c /etc/shadowsocks/ss.json -d stop
- 重启:
sudo /usr/local/bin/ssserver -c /etc/shadowsocks/ss.json -d restart
- 设置开机启动
sudo vi /etc/rc.local
在rc.local
文件末尾添加以下代码:
sudo /usr/local/bin/ssserver
-c /etc/shadowsocks/ss.json -d start
配置服务端遇到的问题
- Shadowsocks无法启动,报错
AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup
主要是内置的python中的openssl文件的cleanup函数过期,需要修改;
解决办法
打开openssl文件
用vim打开文件:((以下路径可以根据自己的系统情况自行修改))
vim /usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py
搜索关键字并修改
直接搜索关键字:EVP_CIPHER_CTX_cleanup
,一共有2处;
进入编辑模式将
libcrypto.EVP_CIPHER_CTX_cleanup.argtypes = (c_void_p,)
改为
libcrypto.EVP_CIPHER_CTX_reset.argtypes = (c_void_p,)
其实就是把 cleanup
改为reset
,就可以了;
保存并退出,重新启动就行;
完美解决;
然后,重新启动SS,就成功了; 至此,服务端基本就设置完了;
电脑配置
在shadowsocks下载最新版本;就是一个绿色小飞机;
下载后,打开,然后配置账户和服务信息
密码就是刚才在服务器设置ss.json
中的密码,包括加密方式;不要填错了;
配置完成后,启动客户端,访问goole,就可以了;
基本是秒开google;
手机配置
国内的APP Store VPN配置APP基本都下线了,建议某宝购买一个国外的appleID,下载一下这个哥们;
配置基本跟电脑差不多,如下:
也可以通过扫描电脑SS配置的二维码直接保存;
最后防止AWS到期或者意外扣费
这个知友遇到信用卡被口几千刀,我们得注意一下,到期或者收到账单劲爆及时登录控制台查看信息;
码字不易,喜欢的话,可以赏我一杯咖啡,更多资源,订阅本站即可;