AWS EC2的VPN-PPTP搭建教程(on aws redhat6.5 X64 centOS 6.5)
前些日子收到amazon的邮件通知,一年前申请的ec2到期了,一年免费的free tier没有了,放在上面的2个站已经欠费了十几美元了,不过我也不打算用了,准备重新注册账号(请不要鄙视我。。)
1、注册开通过程就不详述了,之前的文章已经说过了,这里要说的是:AWS需要填写的信用卡可以用财付通的境外国际账号,(现在好像没有开通渠道了,不过网上有神秘链接可以开通,自己去搜吧,我也忘记是哪个链接了。)然后财付通账号里面需要充值2美元,不是1美元切记,建议往里面充值20元,省得不够AWS的验证扣费会导致验证失败,甚至会反复扣费。如果AWS验证失败,最好先删除AWS里的付款方式后,重新添加信用卡验证,要不然你会发现点“编辑”信用卡账号,点“更新”根本就是没反应的。
当然你也可以直接输入自己的信用卡,验证会比较方便,不过要注意平常使用不要超额,否则会有扣费,具体参考官方说明。
2、如果在My Account的控制面板里没有提示付款方式无效,就证明验证通过。
3、之后可能要等20-30分钟后,你才可以建立实例。(让系统有处理时间,不然直接点EC2的面板会提示你付款方式不完善之类信息的。。)
4、然后直接建立实例,我这里选择的是redhat(RHEL-6.5_GA_HVM-20140929-x86_64),一直按着向导下一步即可。
PS:主机环境我使用了WDCP来搭建的,如果你也准备用wdcp来建站,ec2就不要使用Amazon Linux AMI的镜像,否则wdcp里php会无法安装编译。(如果不准备建站,此步可跳过)
5、至此,一年免费主机且无需备案的EC2有了,网速ping大约在80-100左右,还是不错的。
开始搭建VPN-PPTP——how to setup VPN server (pptp on CentOS/RedHat/Ubuntu)
查系统位数 getconfig LONG_BIT,查系统版本 cat /etc/issue ,cat /proc/version,按对应版本下载,ppp/pptp汇总地址
步骤一:
如果你的系统是CentOS/RedHat 5:
|
1
2
3
4
|
yum install pppcd /usr/local/srcwget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.rhel5.x86_64.rpmrpm -Uhv pptpd-1.4.0-1.rhel5.x86_64.rpm |
如果你的系统是CentOS/RedHat 6:
|
1
2
3
4
|
yum install pppcd /usr/local/srcwget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.x86_64.rpmrpm -Uhv pptpd-1.4.0-1.el6.x86_64.rpm |
如果你的系统是Ubuntu:
|
1
|
apt-get install pptpd |
步骤二:
修改/etc/pptpd.conf
|
1
|
vi /etc/pptpd.conf |
localip 192.168.9.1
remoteip 192.168.9.11-30
这上面的IP可以自己定义的,不一定非要这样设置,下面的11-30表示允许连接20个IP
步骤三:
添加账号密码至配置文件
|
1
|
vi /etc/ppp/chap-secrets |
格式为:(空格分开,不要引号)
user1 * pwd1 *
user2 * pwd2 *
步骤四:
修改DNS配置
|
1
|
vi /etc/ppp/options.pptpd |
ms-dns 8.8.8.8
ms-dns 4.4.4.4
步骤五:
修改/etc/sysctl.conf
|
1
|
vi /etc/sysctl.conf |
net.ipv4.ip_forward = 1
应用所有配置
|
1
|
sysctl -p |
步骤六:
配置防火墙iptables(这里记得将aws里的1723端口开放,在Security Groups的Inbound开启1723端口,需要开启别的端口的也需要在这里开启。)
|
1
2
3
4
5
6
7
|
iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPTiptables -A INPUT -i eth0 -p gre -j ACCEPTiptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEiptables -A FORWARD -i ppp+ -o eth0 -j ACCEPTiptables -A FORWARD -i eth0 -o ppp+ -j ACCEPTservice iptables saveservice iptables restart |
备注,如果为linode机房,此处重启会提示service iptables restart
Setting chains to policy ACCEPT: security raw nat[FAILED]filter,是因为Linode官方在iptables里加了一个security的规则链,但Centos不支持。
解决方法:vi /etc/init.d/iptables
|
1
2
3
4
5
6
7
8
|
for i in $tables; do echo -n "$i " case "$i" in raw) $IPTABLES -t raw -P PREROUTING $policy \ && $IPTABLES -t raw -P OUTPUT $policy \ || let ret+=1 ;; |
加入以下内容到“case “$i” in”下面:
|
1
2
3
4
5
6
|
security) $IPTABLES -t filter -P INPUT $policy \ && $IPTABLES -t filter -P OUTPUT $policy \ && $IPTABLES -t filter -P FORWARD $policy \ || let ret+=1 ;; |
最终效果为:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
for i in $tables; do echo -n "$i " case "$i" in security) $IPTABLES -t filter -P INPUT $policy \ && $IPTABLES -t filter -P OUTPUT $policy \ && $IPTABLES -t filter -P FORWARD $policy \ || let ret+=1 ;; raw) $IPTABLES -t raw -P PREROUTING $policy \ && $IPTABLES -t raw -P OUTPUT $policy \ || let ret+=1 ;; |
之后重启服务即可。
步骤七:
重启PPTP服务
|
1
|
service pptpd restart |
将pptp服务加入到开机自启动
|
1
|
chkconfig pptpd on |
如果你的系统是Ubuntu乌班图,重启reboot即可。
如果一切OK的话,专属于你自己的VPN便诞生了。。此时可以通过电脑的网络连接-新建连接VPN输入账号密码即可连接该网络。当然android,IOS,OSX,windows均可通过设置连接该网络。
访问国外站点还是很顺畅的,看youtube视频略有点卡。
如图所示:
该IP即为remote里的第一个IP

总体测试还是很快的,能达到2M带宽。
下载速度能够保持在300-400K左右。
相关链接:
1、How to setup VPN server (PPTP on CentOS, RedHat and Ubuntu)?
http://www.photonvps.com/billing/knowledgebase.php?action=displayarticle&id=58
2、PPTP VPN on Amazon EC2
http://www.yzhang.net/blog/2013-03-07-pptp-vpn-ec2.html
3、利用AWS免费账户搭建PPTP VPN
http://blog.banban.me/blog/2014/06/09/li-yong-awsmian-fei-zhang-hu-da-jian-vpn/
AWS EC2的VPN-PPTP搭建教程(on aws redhat6.5 X64 centOS 6.5)的更多相关文章
- AWS EC2笔记
朋友想搭一个境外网站,找我帮忙,希望服务器.域名都在境外.我没有在境外建站的经历,只能先尝试.于是上网搜索了一下境外服务器,大家比较常用的是Digital Ocean和AWS,我索性打开这两家的官网, ...
- AWS EC2中部署Apache服务器(LAMP)
关键词: 1.新建aws ec2实例 2.使用putty连接到aws ec2 实例(SSH协议) 3.使用filezilla连接到aws ec2实例(SFTP协议) 4.在aws ec2上部署apac ...
- Amazon AWS EC2开启Web服务器配置
在Amazon AWS EC2申请了一年的免费使用权,安装了CentOS + Mono + Jexus环境做一个Web Server使用. 在上述系统安装好之后,把TCP 80端口开启(iptable ...
- AWS ec2 vpn 搭建(20161014更新http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm)
1.原来的SoftEther VPN Server在pc端不可用了,没找到原因,因此有搜索到了一个新方法,转自http://blog.csdn.net/henryng1994/article/deta ...
- AWS EC2 搭建 Hadoop 和 Spark 集群
前言 本篇演示如何使用 AWS EC2 云服务搭建集群.当然在只有一台计算机的情况下搭建完全分布式集群,还有另外几种方法:一种是本地搭建多台虚拟机,好处是免费易操控,坏处是虚拟机对宿主机配置要求较高, ...
- linux 搭建vpn (pptp)
一.VPN服务器环境说明 操作系统:CentOS release 6.4 (Final) 本地网卡: 复制代码 代码如下: # ifconfig em1 Link encap:Ethernet HWa ...
- 使用AWS亚马逊云搭建Gmail转发服务(一)
title: 使用AWS亚马逊云搭建Gmail转发服务(一) author:青南 date: 2014-12-30 15:41:35 categories: Python tags: [Gmail,A ...
- ROS之VPN服务器设置教程.
关于ROS系统的安装此处将不再累述,可以自行谷歌,百度搜索“ROS 安装配置教程”. (安装方法可以使用光盘安装,USB引导安装,硬盘写入.) 好了,演示创建VPN服务器的方法: 1.使用WinBox ...
- 免费服务器AWS免费使用一年详细教程
AWS免费使用详细教程 福利,亚马逊AWS免费试用一年,简直是爽歪歪.无论是搭建网站,还是自建**,都是不错的选择.详细如下: 开始准备:信用卡一张. 详细视频教程见:http://v.youku.c ...
随机推荐
- magento 备份
magento 备份分为“文件备份”和“数据备份” 我们先来讲下“数据备份” 数据备份的方法有 通过数据库软件直接导出magento使用的数据库,使用mysql命名或者phpmyadmin,导出来就好 ...
- docker images之间相互通信 link
同一个host上的两个container 首先启动一个nginx. container起名叫netease_nginx docker run --detach --name netease_nginx ...
- asp.net mvc4 System.Web.Optimization找不到引用
在MVC4的开发中,如果创建的项目为空MVC项目,那么在App_Start目录下没有BundleConfig.cs项的内容,在手动添加时在整个库中都找不到:System.Web.Optimizatio ...
- CAS无锁算法与ConcurrentLinkedQueue
CAS:Compare and Swap 比较并交换 java.util.concurrent包完全建立在CAS之上的,没有CAS就没有并发包.并发包借助了CAS无锁算法实现了区别于synchroni ...
- Boost源码剖析之:泛型指针类any
C++是强类型语言,所有强类型语言对型别的要求都是苛刻的,型别一有不合编译器就会抱怨说不能将某某型别转换为某某型别,当然如果在型别之间提供了转换操作符或是标准所允许的一定程度的隐式转换(如经过非exp ...
- SSIS Error The Execute method on the task returned error code 0x80131621
Error Message: The Execute method on the task returned error code 0x80131621 (Mixed mode assembly is ...
- Dynamics AX 2012 R2 创建一个带有负载均衡的服务器集群
安装额外AOS的主要目的,是将它添加到集群,或用于创建批处理服务器. 1.创建集群服务器 这里,Reinhard使用上节Install An Additional AOS 中创建的AOS,来创建集群. ...
- servlet定义
. 运行在服务器上的java类
- string类find函数返回值判定
string类find函数返回值判定 代码示例 #include<iostream> #include<cstring> using namespace std; int m ...
- JAVA线程锁lock下Condition的使用
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.uti ...