EC2 Ubuntu服务器上的PPTPD安装和配置

最近花了点精力,在ec2上配置了PPTP VPN.

之所以选择PPTP,最主要还是因为其简单,很多路由器也都支持PPTP.

方案上参考了 http://blog.lifeclaw.com/articles/how-to-install-pptp-vpn-service-on-ubuntu/

向该文作者表示一下感谢。

安装:

sudo apt-get -y install pptpd  

配置:

pptpd.conf

sudo vi /etc/pptpd.conf
#确保如下选项的配置
option /etc/ppp/pptpd-option        #指定PPP选项文件的位置
debug                                            #启用调试模式(这个可以不开启,我最终使用后还是关闭的。因为ec2空间有限。但是一开始用来查问题很有用))
localip 10.90.0.1                            #VPN服务器的虚拟ip.  不需要和你的实际ip对应。 你可以任意指定
remoteip 10.90.0.2-100                #分配给VPN客户端的虚拟ip。 自己用,这些足够了

pptpd-options

sudo vi /etc/ppp/pptpd-options
#确保如下选项的配置
name pptpd                      #pptpd服务的名称
refuse-pap                        #拒绝pap身份认证模式
refuse-chap                       #拒绝chap身份认证模式
refuse-mschap                   #拒绝mschap身份认证模式
require-mschap-v2               #允许mschap-v2身份认证模式
require-mppe-128                #允许mppe 128位加密身份认证模式
ms-dns 8.8.8.8                  #使用Google DNS. 这个DNS你可以自己指定。
ms-dns 8.8.4.4                  #使用Google DNS
proxyarp                        #arp代理
debug                            #调试模式. 一样,该项目在最终使用时被我关闭。这里临时开启
dump                             #服务启动时打印出所有配置信息
lock                                #锁定TTY设备
nobsdcomp                       #禁用BSD压缩模式

认证信息配置:

sudo vi /etc/ppp/chap-secrets
#格式:用户名   服务类型   密码   分配的ip地址
allen    *    xxxxxxx    *
#第一个*代表服务可以是PPTPD也可以是L2TPD,第二个*代表随机分配ip  

这里特别说明一下日志问题。 默认的debug日志是通过syslog 输出的。不过ubuntu已经用rsyslog替代了syslog. 如果想要看到日志文件,必须做额外配置:

sudo vi /etc/rsyslog.conf
#添加
daemon.debug /var/log/pptpd.log  

重新启动rsyslog:

sudo service rsyslog stop
sudo service rsyslog start 

重启pptpd服务:

sudo /etc/init.d/pptpd restart  

此时可以尝试vpn拨号连接了。如果有问题可以在/var/log/pptpd.log中查看。

此时拨号以后还不能上网。必须做NAT转发。

sudo sed -i ‘s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g‘ /etc/sysctl.conf  

sudo sysctl -p  

iptables:

#注意这里eth0代表你的外网网卡,请用ifconfig查看或者咨询网络管理员
sudo iptables -t nat -A POSTROUTING -s 10.90.0.1/24 -o eth0 -j MASQUERADE   

#如果上面的命令报错,那么可以尝试以下的命令,其中xxx.xxx.xxx.xxx代表你的VPS外网ip地址
sudo iptables -t nat -A POSTROUTING -s 10.90.0.1/24 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx   

#设置MTU来确保过大的包不会被丢弃(据说有人举到过某些网站不能访问问题。因此做了此项设置。但是本人没有遇到。因此这步本人跳过. mss的大小请根据各人实际情况调整)
sudo iptables -I FORWARD -s 10.90.0.1/24 -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1300 

以上iptable可以写入/etc/rc.local,确保启动时候加载。

好了,收工。

时间: 2024-11-06 21:46:14

EC2 Ubuntu服务器上的PPTPD安装和配置的相关文章

MySQL在阿里云服务器上的在线安装及配置

一.在线安装MySQL 购买好阿里云服务器后,使用相关的shell命令就能实现MySQL的在线安装 1.下载MySQL软件包 wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 2.安装软件包 rpm -ivh mysql-community-release-el7-5.noarch.rpm 3.安装MySQL服务程序 yum install mysql-community-server 注意,安装过程中出

Flask+Nginx+uWSGI在Ubuntu服务器上的配置

Flask+Nginx+uWSGI在Ubuntu服务器上的配置 Step1 安装系统环境 Ubuntu服务器选择是阿里云的ECS服务,ECS提供单独的内存\CPU\带宽\存储规格可以选择,并且提供合适的镜像可以安装.安装镜像后通过ssh进行远程管理,配置.配置的自由程度非常高,也适合进行远程的编程和调试,作为编程调试的服务器和测试服务器非常棒. 服务器的环境: * 确认系统版本 cat /proc/version Linux version 3.13.0-95-generic ([email p

在CentOs服务器上源码安装python3.5

在CentOs服务器上源码安装python3.5 作者:尹正杰 1.系统环境介绍 2.安装依赖包 [[email protected] packages]# yum -y groupinstall "Development tools" [[email protected] packages]# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk

Ubuntu下Mac主题的安装与配置(上篇)

1.安装gnome经典桌面 sudo apt-get install gnome-session-fallback 没有安装桌面的可安装 gnome 桌面: sudo apt-get install gnome-core 2.下载安装http://sourceforge.net/projects/macbuntu/ ,macbuntu 主题是高仿的(90%)!同样适用 10.10 以后的版本,但要简单设置一下:将 install.sh 和 uninstall.sh 中的UBUVER="10.10

asp.net 开发问题:Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。

"Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值." 这个问题在开发需要上传文件的时候可能会遇到,今天遇到这个问题,百度过也有挺多的修改方法. 方法1: 修改IIS的applicationhost.config文件位置: %windir%/system32/inetsrv/config/applicationhost.config                    或                   %windir%\system32\inetsrv\c

配置SSH隧道访问Ubuntu服务器上的MongoDB

为了数据安全,在MongoDB的配置文件里,一般会把默认的27017端口port改为自定义的端口号,然后把允许访问的IP设为127.0.0.1(即主机本身).但是这样就会在开发的过程查看数据时带来麻烦,必须去服务器端或调用部署在服务器的API接口才能很好地可视化地查询数据.为了能在客户端也能使用可视化工具,可以建立一条SSH隧道,直接在客户端访问远程服务器的数据库. 本文例子基于以下开发环境: 服务器端:Ubuntu 16.04 x86_64,MongoDB 3.4.6 客户端:Windows1

CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查

一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程 centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7 centos6安装gitlab:https://www.gitlab.cc/downloads/#centos6 如下方法按照官网来操作,手工安装过于麻烦.当前测试平台为小鸟云的三个月centos 7测试机. 1. 安装配置依赖项 如想使用Postfix来发送邮件,在安装期间请选择'Internet Site

Linux服务器上手工编译安装WEB服务

实验 实验要求:  手工编译安装WEB服务,实现客户机访问.   由于下载的源码包在win7系统目录中,通过samba服务实现源码包共享到linux服务器:           Win7上将文件夹LAMP共享,在linux服务器上通过smbclient访问: 创建名为lamp目录,通过RPM方式安装命令cifs,实现共享目录挂载: 使用mount命令挂载并进入目录lamp查看: 将httpd的tar包解压缩到指定目录/opt目录下: 为了降低并发连接数,将apr的tar包同样解压缩到指定目录/o

在ubuntu服务器上配置tomcat

Tomcat版本:我用的是tomcat8.5.34,下面只是展示tomcat下载地址,什么版本可以自己选择. 1.到官网下载tomcat,选择格式为tar.gz,如下图所示: 2.远程连接到服务器上,在本地终端上传前面下载的tomcat压缩包到服务器上面 1.首先在本地把tomcat压缩包上传到服务器上 scp /Users/zhe/Desktop/ServerEnvironment/apache-tomcat-8.5.34.tar.gz [email protected]**.**:~/ 2.