亚马逊云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/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 如果编译失败,安装下 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 每半小时同步一下时间 |
亚马逊云EC2做PPTP SERVER的笔记的更多相关文章
- 亚马逊云储存器S3 BCUKET安全性学习笔记
亚马逊云储存器S3 BCUKET安全性学习笔记 Bugs_Bunny CTF – Walk walk CTF 昨天玩了会这个比赛,碰到这题是知识盲点,来记录一下. 先从题目看起吧. http://ww ...
- 使用亚马逊云服务器EC2做深度学习(一)申请竞价实例
这是<使用亚马逊云服务器EC2做深度学习>系列的第一篇文章. (一)申请竞价实例 (二)配置Jupyter Notebook服务器 (三)配置TensorFlow (四)配置好的系统 ...
- 使用亚马逊云服务器EC2做深度学习(四)配置好的系统镜像
这是<使用亚马逊云服务器EC2做深度学习>系列的第四篇文章. (一)申请竞价实例 (二)配置Jupyter Notebook服务器 (三)配置TensorFlow (四)配置好的系统 ...
- 使用亚马逊云服务器EC2做深度学习(三)配置TensorFlow
这是<使用亚马逊云服务器EC2做深度学习>系列的第三篇文章. (一)申请竞价实例 (二)配置Jupyter Notebook服务器 (三)配置TensorFlow (四)配置好的系统 ...
- 使用亚马逊云服务器EC2做深度学习(二)配置Jupyter Notebook服务器
这是<使用亚马逊云服务器EC2做深度学习>系列的第二篇文章. (一)申请竞价实例 (二)配置Jupyter Notebook服务器 (三)配置TensorFlow (四)配置好的系统 ...
- 亚马逊云服务器VPS Amazon EC2 免费VPS主机配置CentOS及其它内容
Amazon目前提供为期一年的免费VPS服务,可到地址http://aws.amazon.com 进行申请. 现在对账号申请成功后,对VPS主机配置CentOS的过程做个图文介绍 1.创建实例(Ins ...
- 亚马逊AWS EC2云实例AMI安装LNMP环境(3)——Mysql5.5
概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...
- 亚马逊AWS EC2云实例AMI安装LNMP环境(2)——PHP5.6
概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...
- 亚马逊AWS EC2云实例AMI安装LNMP环境(1)——Nginx安装
概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...
随机推荐
- mysql_query — 发送一条 MySQL 查询
仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回 一个资源标识符,如果查询执行不正确则返回 FALSE.对于 其它类型的 SQL 语句,在执行成功时返回 TRUE,出错时返 ...
- Python 字典的遍历
dic = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟" ...
- HAWQ + MADlib 玩转数据挖掘之(六)——主成分分析与主成分投影
一.主成分分析(Principal Component Analysis,PCA)简介 在数据挖掘中经常会遇到多个变量的问题,而且在多数情况下,多个变量之间常常存在一定的相关性.例如,网站的" ...
- E - An Awful Problem 求两段时间内满足条件的天数//lxm
In order to encourage Hiqivenfin to study math, his mother gave him a sweet candy when the day of th ...
- Redis缓存系统-Java-Jedis操作Redis,基本操作以及 实现对象保存
源代码下载: http://download.csdn.net/detail/jiangtao_st/7623113 1.Maven配置 <dependency> <groupI ...
- 算法训练 P1102
算法训练 P1102 时间限制:1.0s 内存限制:256.0MB 定义一个学生结构体类型student,包括4个字段,姓名.性别.年龄和成绩.然后在主函数中定义一个结构体数组( ...
- mysql命令小结
MySQL 数据库常用命令 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删 ...
- java反射机制的作用与优点
java的反射机制就是增加程序的灵活性,避免将程序写死到代码里,例如: 实例化一个 person()对象, 不使用反射, new person(); 如果想变成 实例化 其他类, 那么必须修改源代码, ...
- 拒绝了对对象 '****'(数据库 '******',所有者 '***')的 SELECT 权限
数据库(xxx) --->安全性---->架构---->dbo(属性)--->权限--->添加--->浏览-->public 添加 select 等您需要的权 ...
- JQuery输入框获取/失去焦点行为
//搜索框获取焦点清除内容 $(function() { $("input").focus(function() { //获取焦点,清空默认内容 $(this).css('colo ...