[转] 使用Amazon EC2搭建自己的VPN服务器

19 January 2011

之前转过一篇关于开通设置Amazon AWS的教程。Amazon的免费AWS服务有一个非常不错的用处就是搭建自己的VPN服务器,这样PC/Android/iPhone上网全都一并解决了。 这里还是转一篇来自@yinhm的EC2一键安装VPN的教程,原文地址: http://yinhm.appspot.com/2010/11/amazon-ec2-tunnel-guide-part-three-vpn

为什么PPTP

VPN常见的有:IPSec, PPTP, L2TP, OpenVPN。OpenVPN运行在用户空间,这需要用户端安装客户端软件,对手机用户来说并不友好。IPSec, L2TP over IPSec则过于繁琐。PPTP的话,从协议上来讲,不够安全,但由于其易用并且安全风险在可以接受的范围,这里选择了 PPTP。

警告:如果您对安全要求非常高,请使用IPSec或者OpenVPN代替。

安装配置PPTP

我在DiaHosting提供的PPTPD一键安装脚本基础上定制了 Amazon AWS EC2的pptpd安装配置脚本

系统要求

需要您的系统为 Amazon Linux AMI。

安装

登陆您的EC2 instance,如果您用使用Tunnier并且按照前文登陆时默认关闭"Open Terminal"的话,需要在Login后,点击左侧Open New Terminal Console进入EC2 instance终端。

进入EC2系统终端后,输入下面的代码:

wget https://gist.github.com/raw/666241/e8f3030a9e7066b8deb0a3d9ec761360e2d94227/pptpd.sh
sudo sh pptpd.sh

安装配置完成后会高亮提示vpn用户名和密码。

VPN用户管理

增加用户,直接编辑 /etc/ppp/chap-secrets 文件,按照相同格式添加用户名和密码即可。

防火墙

如果您使用的不是默认的Security Group,比如按照前文设置的"Security Group",那么还需要调整防火墙规则。

PPTP默认跑1723端口,我设置了没有成功,所以这里我打开了所有的端口只需第一行规则即可,见图:

客户端连接

客户端使用PPTP协议连接您的EC2服务器,服务器地址为您的Public DNS(参见前文),使用安装完成提示您的用户名密码即可连接。

需要注意,Public DNS在EC2 instance重启后会变更,您可以通过动态域名服务或者设置固定IP来解决。其实还有更简单的办法,对于普通用户,不妨不重启EC2 instance,linux系统稳定跑上一年没问题,一年后都收费了。如果你讨厌冗长的Public DNS,不妨ping一下得到您的IP,其实就是Public DNS中间的一串数字。

如果您希望长时间运行不受动态IP地址问题的影响,那么不妨设置一个固定IP。

 


下一篇: 使用Dropbox同步Eclipse项目 →

blog comments powered by Disqus