亚马逊云EC2做PPTP SERVER的笔记
1、在亚马逊控制台上启动实例
2、
3、
4、
5、
6、配置安全组,把你的IP开放所有流量。
7、 用你自己的亚马逊KEY或者生成一个新的KEY来登录EC2
8、开始搭建VPN-PPTP——how to setup VPN server (pptp on CentOS/RedHat/Ubuntu)
9、如果你的系统是CentOS/RedHat 6:
yum install ppp
cd /usr/local/src
wget http:
//poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.x86_64.rpm
rpm -Uhv pptpd-1.4.0-1.el6.x86_64.rpm
如果编译失败,安装下
yum -y install perl
wget
注:如果你没有安装wget请执行 yum -y install wget
刚才用了yum安装了ppp,但是这里有个问题,几乎大部分的人都会在这里遇到ppp和pptpd不兼容的错误。因为yum安装ppp,总是安装最新版本的ppp,而由于安装的ppp的版本不同,那么就需要安装对应版本的pptpd才行。(参考我的文章《ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64的解决办法及原因|大步's blog》)
我们要先查看已经安装的ppp的版本,在去找对应的pptpd版本。我手头刚好有两个vps,一个是前年装的pptp vpn,一个是一年后装的pptp vpn,所以,装的yum install ppp的版本不同。
使用下面的命令查看ppp的版本,前提你是yum安装的ppp。
旧的vps上的ppp版本显示:
#yum list installed ppp
显示:
ppp.i386 2.4.4-2.el5 installed
新的vps上的ppp版本显示;
#yum list installed ppp
显示:
ppp.i686 2.4.5-5.el6 @base
所以,要对根据ppp版本选择对应的pptpd版本。这里我主要列出常用的。
ppp 2.4.4——————>pptpd 1.3.4
ppp 2.4.5——————>pptpd 1.4.0
贴个ppp和pptpd各个版本的下载地址;http://poptop.sourceforge.net/yum/stable/packages/
大家下载的时候注意,分清楚你系统的版本是64位的还是32位的。我个人建议ppp用yum安装,pptpd用rpm的安装,因为如果全都rpm或者源码安装,依赖关系很是烦人。文件名含有数字64的就是64位版本,没有的就是32位版本。可以用下面的命令查看自己的系统是32位还是64位的。
下面假设我这里的ppp是2.4.4版本,然后安装pptpd
第一种安装pptpd的方法是直接用yum安装,让电脑自动选择对应的版本:
先加入yum源:
#rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
然后用yum安装pptpd:
#yum install pptpd
这是最省时间和力气的。余下的和手动安装没什么区别了。
10、修改/etc/pptpd.conf
vi /etc/pptpd.conf
localip 192.168.9.1
remoteip 192.168.9.11-30
localip 本地PPTP SERVER的隧道IP
remoteip 远端PPTP CLIENT的隧道IP
11、添加账号密码至配置文件
vi /etc/ppp/chap-secrets |
格式为:(空格分开,不要引号)
user1 * pwd1 *
user2 * pwd2 *
上门四列数据,user1用户名,*表示任意协议,pwd1代表密码,*表示允许从任何IP访问过来。
四列数据用空格分开。
12、 修改DNS配置
vi /etc/ppp/options.pptpd |
ms-dns 8.8.8.8
ms-dns 114.114。114.114
13、修改/etc/sysctl.conf
vi /etc/sysctl.conf |
net.ipv4.ip_forward = 1
应用所有配置
sysctl -p
14、配置防火墙iptables(这里记得将aws里的1723端口开放,在Security Groups的Inbound开启1723端口,需要开启别的端口的也需要在这里开启。)
防火墙的相关配置可以在我另外一篇文章里看到
vi /etc/sysconfig/iptables
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 192.168.0.0/16 -o eth0 -jMASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p ALL -s 你的IP/29 -jACCEPT
-A FORWARD -p ALL -s 192.168.0.0/16 -jACCEPT
-A INPUT -i eth0 -p tcp --dport 1723 -jACCEPT
-A INPUT -i eth0 -p gre -j ACCEPT
-A FORWARD -i ppp+ -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o ppp+ -j ACCEPT
-A OUTPUT -j ACCEPT
COMMIT
最后重启防火墙设置service iptables restart
15、
将iptables设置为开机自动启动iptables默认开机不启动的,如有需要请设置为开机自动启动,在SSH中执行以下代码即可。 反操作请把“on”改为“off” chkconfig iptables on 16、重启PPTP服务
将pptp服务加入到开机自启动 chkconfig pptpd on 17、添加回头路由表 crontab命令主要有3个参数: -e :编辑用户的crontab。 -l :列出用户的crontab的内容。 -r :删除用户的crontab的内容。 执行crontab -e,将自动打开编辑器,你可以编辑自己的crontab文件,语法和 /etc/crontab 文件一样,不同的只是,不必再指出执行的用户,编辑后保存即可。 crontab -l用来查看自己的crontab文件内能,crontab -r删除自己的crontab。 crontab -e crontab命令 功能说明:设置计时器。 语 法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr] 补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。其配置文件格式如下: 参 数: 2,crontab 格式 基本格式 : 第1列表示分钟1~59 每分钟用*或者 */1表示 crontab文件的一些例子: 30 21 * * * /usr/local/etc/rc.d/lighttpd restart 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart * */1 * * * /usr/local/etc/rc.d/lighttpd restart * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart */30 * * * * /usr/sbin/ntpdate 210.72.145.44 每半小时同步一下时间 |
最新文章
- 个人作业-Week2
- 【ZJOI2007】棋盘制作 BZOJ1057
- awk的涂鸦
- Mongoose简单的连表查询
- Android_程序结构分析
- Scala 编程(一)Scala 编程总览
- JS中的的Url传递中文参数乱码,如何获取Url中参数问题
- 模板应用--UI线程与worker线程同步 模仿c# invoke
- Codeforces 479E Riding in a Lift(dp)
- Mongodb_基本操作UCRD
- Mybatis解决jdbc编程的问题
- sqlserver 知识点
- php签名认证
- 入门项目 A4 db_handler 数据操作文件
- Python——collections模块
- You Don&#39;t Know JS: this &; Object Prototypes( 第2章 this)
- win10系统更新不了,总出现错误0xc8000442
- 获取IOS屏幕尺寸大小
- 解决win10下git闪退
- Toxophily-数论以及二分三分