本文主要介绍使用云服务器加Shadowsocks搭建属于自己的VPN。之前使用各种商用的VPN,一段时间后要么服务不稳定要么就服务提供商请去喝茶了。前一段时间所有商用VPN都不可以使用了,就想着自己搭建一个专属VPN。在网上找了一些资料以后就开始动手搭建属于自己的VPN。
选择云服务器
服务器的选择非常关键,一定要选择国外的提供商。国内的服务提供商很容易受到政策的影响。我这里根据[1]推荐使用以下服务器提供商:
- 首推三家知名服务商:
- DigitalOcean: https://www.digitalocean.com/ 欢迎大家使用我的推荐链接注册:
- Vultr: https://www.vultr.com
- Linode: https://www.linode.com
- 日本的服务商:
- 维基百科地址: https://romanrm.net/vps/japan
- 美国的服务商:
- CloudWays: www.cloudways.com
本人亲测,DigitalOcean服务稳定性良好持续运行一个多月未出问题,界面操作相对简单。接下来就介绍如配置DigitalOcean。
DigitalOcean配置
首先需要注册一个账号,激活邮箱一个,首次使用有奖励金。其次,需要准备一张信用卡或者向账号内充值5$才能创建虚拟机。账号安装官网的操作流程注册,账号注册完以后,就开始搭建环境。
虚拟服务器配置
首先在Droplets选项下点击Create按钮开始创建虚拟服务器(Droplets)。服务器系统建议选用Ubuntu 16.0x.xx,服务选用标准版里面最低配置一般就能够满足需求,虚拟服务地址(根据自己常访问网站所在地选择),选择支持IPv6,如果前面个人设置中已经添加了ssh-key就选择已经添加的,建议先在个人设置中配置ssh(否则暂时忽略),最后为自己的服务器选择一个名字,至此已经创建好虚拟服务器。接下来我将讲解通过ssh如何远程登录这台虚拟机。远程登录这台虚拟机需要完成以下两个步骤:一、生产属于自己的公钥和私钥;二、将公钥放到网站的设置中。
ssh配置
SSH key[2]是一个简单而又安全地连接到你的远端设备的方式,通过它你不需要在网络上传输你的密码。SSH key 有 public 和 private 两部分,其中 private 部分存储在你的设备本地,而 public 部分则需要上传到远程设备上。当你通过 ssh 连接到远程设备上时,只有私钥和公钥匹配上才能登陆。
创建ssh key
第一步:先查看以下 ~/.ssh目录下是否已经有\*.pub文件,如果有请直接跳转到第三步;
第二步:运行如下命令,生成key
第三步:将~/.ssh/id_rsa.pub 文件里面的内容copy到DigitalOcean上。操作路径:点击个人->settings->Security->ssh-key->Add SSH Key。添加完成就可以远程通过访问虚拟服务器了。
第四步:访问远程服务器的方式
注:ipv4的地址为虚拟服务器地址,可以在虚拟服务器的首页查看到,用户名默认为root。
配置shadowsocks
一、在远程服务器上安装shadowsocks
二、启动服务器上的shadowsocks服务,通过运行如下命令:
但上面的方法很不方便,我还是推荐使用配置文件的方法。首先创建一个文件:/etc/shadowsocks.json,示例如下:
接下来你就可以使用下面这个指令启动服务
三、使用shadowsocks客户端
shadowsocks的客户端支持各大主流平台,而且客户端的配置一般都很简单,只需要配置一下服务器的ip地址和之前设置好的连接密码即可。
shadowsocks下载地址1
shadowsocks下载地址2
window/os X
Android/iOS
注意事项:
1、 端口记得打开:https://www.micronbot.com/Linux/13.html
iptables -I INPUT -p tcp –dport 8858 -j ACCEPT
iptables-save
2、 安装shadowsocks报错
docker安装
最近又捣鼓了一下用Docker,想尝试在一台服务器上搭建连个shadowsocks服务,现分享给大家。如果对docker容易不了解的请参考文献[4]
- 服务器申请,参考上面的方法;
- 在服务器上安装docker,具体方案参考官网docker的安装直达地址。
- 启动 docker -> 获取他人做好的shadowsocks镜像 -> 启动服务 -> 检查是否正常启动
- 12345service docker start # 启动docker search shadowsocks # 查找shadowsocks镜像,选这最前面的,通常是比较好用得(具体使用方法查看对应的提供方的git),也可以直接在文献[7]查找。docker pull oddrationale/docker-shadowsocks # 获取oddrationale/docker-shadowsocks镜像,使用参考文献[6]docker run -d -p 2008:1993 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 1993 -k 0000 -m aes-256-cfb # 运行下载好的docker,注意点:2008是客户端配置的端口号(如果不行,三个端口号保持一致),地址不需要改0.0.0.0docker ps # 查看docker是否启动正常
参考文献:
[1] 科学上网的最终秘籍
[2] ssh官网
[3] 手把手教你用digitalocean和shadowsocks科学上网
[4] Docker —— 从入门到实践
[5] 基于 Docker 的 shadowsocks 容器最佳实践
[6] oddrationale/docker-shadowsocks
[7] doucker镜像查到地址
谨记不要为他人提供VPN服务和从中谋取利益,只供查阅外文文献和科研工作使用