搭建自己的VPN服务器实现科学上网
搭建自己的VPN服务器实现科学上网
最近不知道怎么了,自己原先够买的VPN服务莫名其妙的无法使用了,自己部署在github上的网站也无
法访问了,这日子真的过不下去了,VPN不断地被墙也不是一天两天的事了。因此自己便一直想着能否搭建
自己的VPN服务,只供自己使用被墙的风险不就是大大降低了嘛!
在写这篇博客之前,自己也想到一个笑话,在Git问世之前,Linux社区的开发人员由于私自破解由
BitMover开发的版本控制软件,致使BitMover公司收回了Linux社区对版本控制软件的使用权。本来觉
得由Linux之父Linus之父向BitMover公司道个谦,这事就过去了,可实际上是不可能的。大神终究是大神
,Linus自己花了两周的时间就用C写了一个分布式的版本控制系统,就是Git,之后Linux的内核代码已经
开始由Git进行管理了。所以对于技术领域而言,哪里有压迫,哪里就有反抗
好了,废话少说,进入正题
一、前期准备
要想搭建一个专属VPN服务来实现翻墙,首先必须要有一台海外的服务器(香港的也可以),否则你服
务的流量也出不去啊!那么问题来了,国内的云服务商对于海外的服务器卖的还都是挺贵的,恐怕经济上
难以承受。那有没有白嫖的海外服务器呢,有!请看下图
百度的广告有时还是挺好的,让我发现了AWS还提供免费的云主机服务,但是哪有天上掉馅饼的,提供免费
服务的前提是你要先注册吧,注册的时候竟然需要VISA或者Master的卡号(就是那种能付美元的银行卡了),这
种卡我还真的没有。然后发现某宝上有卖卡号的,自己就去买了一个(大概30元,相比于VPN的费用算是便宜了)
。注册使用银行卡号不是需要扣费,而是需要检测银行卡中是否有剩余的1$,从而验证卡号的可用性
在这里简要说明一下,AWS为每个用户提供了每月750小时的运行实例时间,持续12个月。也就是说我们
在一个账户上可以运行多个虚拟机的实例,总共时间不能超过750个小时,这足够我们持续使用一年的了
二、创建虚拟主机
1.切换地理区域
在具体创建实例之前,需要将区域设置为东京(推荐,网络延迟最小),当然也可以设置为其他的地区
2.创建实例
选择EC2服务后就可以开始创建实例了,可以看到免费套餐中可选的系统类型是比较多的,Linux的各种
版本、Windows Server等,这里我们就选用推荐的第一个吧(放在第一个肯定有它的理由)。选择第一个进
入即可
然后是选择一个实例类型,审核并启动即可,其他的先不需要配置
点击启动后,会有一个创建密钥对的界面,这里选择创建新的密钥对即可,再输入密钥对名称后一定注意要
下载保存密钥对(非常重要,不然你用客户端就登不上去了),之后选择启动实例即可;
启动完成后点击实例号即可进入虚拟机控制台界面,注意这时我们需要关注的虚拟机信息: 公有DNS,
这个就相当于这台虚拟机的公网地址,由于IP地址经常会变动,所以可以用公有DNS来指向IP地址,实现
一个动态的绑定
那么这时我们可以ping通这个ip地址吗?来试一下,可以发现是ping不同的
具体原因就是我们还未对虚拟机的安全策略配置,它是拒绝被ping的。我们进入安全组,编辑入栈规则,
添加一条放通规则保存即可
这时我们再进行ping测试,就发现可以ping通了
三、连接虚拟主机
这里我们使用MobaXterm客户端连接虚拟机,其他工具像Xshell、Putty客户端均可,在新建会话中,将刚才
看到的公有DNS填入Remote host,用户名为默认的 ec2-user,端口即为22(SSH服务),其次在高级设置中 ,
导入刚才下载的密钥,即可连接;连接上后就相当于一个Linux了
连接配置信息:
连接成功后的界面:
四、部署shadowsocks
关于shadowsocks我就不用多说了,这里需要将其部署在Linux虚拟机上,实现VPN服务。具体的部署过程
比较简单,安装shadowsocks需要依赖python环境,并且用pip install 安装比较方便。安装好的Linux是自带
python2环境的,这对于安装shadowsocks支持足够了。具体的部署命令总结如下,比较简单
pip install shadowsocks #pip安装 一条龙
mkdir /etc/shadowsocks #创建配置文件目录
cd /etc/shadowsocks #进入到当前目录
vim conf.json #编辑配置文件,写入以下内容
#conf.json文件的内容
{
"server":"0.0.0.0", #服务端地址,需要做VPN写0.0.0.0即可
"local_address": "127.0.0.1", #本地地址
"local_port":1080, #本地端口 默认为1080
"port_password":{
"port1":"**********", #配置多用户的端口和密码 端口不能重复
"port2":"**********"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
#用配置文件启动服务即可
ssserver -c /etc/shadowsocks/conf.json -d start
到此为止,大功告成,你也可以使用netstat -anp来查看服务端是否已经监听了设置的端口
五、连接测试
下载好shadowsocks客户端软件,打开配置服务器信息,进行连接即可
连接成功后,打开Google进行测试,开心到飞起
到此VPN服务部署完成,就可以进行科学上网了,服务器很稳定,
网速也比较快