上一篇文章介绍了如何在Ubuntu服务器上搭建IPSEC L2TP VPN服务器。继续介绍如何在Ubuntu服务器上搭建PPTP VPN服务器。

首先安装以下所需包

#apt-get install pptpd ufw

打开所需端口

#ufw allow /tcp
#ufw allow
#ufw enable

配置防火墙转发规则

编辑 /etc/ufw/before.rules, 添加以下内容

-A ufw-before-input -p  -j ACCEPT
-A ufw-before-output -p  -j ACCEPT

然后重启ufw

#ufw disable && ufw enable

配置文件

配置DNS,用习惯的编辑器打开 /etc/ppp/pptpd-options 文件,添加以下两行

ms-dns 8.8.8.8
ms-dns 8.8.4.4

!注!一定要添加主机能够连接上的DNS服务器。上面只是个例子。

配置IP地址,编辑 /etc/pptpd.conf ,注释掉以下两行,并添加自己的内容

localip 192.168.11.10
remoteip 

localip 为本地主机的IP地址。如果使用的是VPS的话填写公网IP。其他情况直接填写本地IP地址即可。

remoteip 为分配给客户端用户的IP地址范围

配置用户名和密码,编辑 /etc/ppp/chap-secrets 按照以下格式添加

[Username] [Service] [Password] [Allowed IP Address]

例如

sampleuser pptpd samplepassword *

配置转发规则,编辑 /etc/sysctl.conf 文件,注释掉下列行

net.ipv4.ip_forward=

然后执行命令

#sysctl -p

配置防火墙

编辑 /etc/default/ufw 文件,将下列行的DROP改为ACCEPT

DEFAULT_FORWARD_POLICY="ACCEPT"

如果主机的内核版本高于3.18, 编辑 /etc/ufw/before.rules,在 *filter 那一行前添加以下内容(允许GRE协议,协议号47)

-A ufw-before-input -p  -j ACCEPT

编辑 /etc/rc.local,添加以下内容,允许防火墙默认转发

iptables -t nat -A POSTROUTING -s  -o enp3s0 -j MASQUERADE

192.168.111.0/24 为分配给连接过来的客户端的IP地址。enp3s0为网卡名称。根据自己的主机来进行设置。

完成

重启主机后,执行以下命令启动 pptpd 服务

#/etc/init.d/pptpd start

问题

以上步骤在Ubuntu 14.10版本以前可以正常使用。更新到Ubuntu 15.04以后出现客户端无法连接的问题。

查看日志发现以下问题

/usr/sbin/pppd: Plugin /usr/lib/pptpd/pptpd-logwtmp.so is , this is 

BUG内容详细

解决方法为(不推荐):编辑 /etc/pptpd.conf,注释掉下面一行后重启 pptpd 服务

#logwtmp

调试

在链接过程中可以通过查看以下日志文件来定位问题

$tail -f /var/log/syslog

ubuntu 搭建PPTP VPN服务器的更多相关文章

  1. CentOS 6.5搭建PPTP VPN服务器

    VPN是虚拟专用网络(Virtual Private Network)的缩写,VPN有多种分类方式,包括PPTP.L2TP.IPSec等,本文配置的VPN服务器是采用PPTP协议的,PPTP是在PPP ...

  2. Centos6一键搭建L2TP VPN服务器

    用VPS在墙上打洞还有一种叫L2TP,也是常见的一种方式.本脚本结合了L2TP(Layer Tunneling Protocol)和IPSec(Internet Protocol Security), ...

  3. 在 Vultr VPS 中 以 Debian 8 i386 (jessie) 为 操作系统 平台 手动 搭建 PPTP VPN 全过程

    更新服务器并安装 PPTP 服务  apt-get update apt-get upgrade apt-get install pptpd 编辑 /etc/pptpd.conf 找到 #locali ...

  4. 【已解决】新搭建的VPN服务器客户端无法正常连接

    昨天花了一天的时间,终于把VPN服务器搭建好了.但是客户端却一直提示无法拨号成功.查看VPN日志如下:[root@localhost log]# tail -f messages Jun 13 14: ...

  5. 搬瓦工VPS搭建PPTP VPN

    之前一直在用神器Lantern和Nydus(20元一个月),感觉还不错,但是各有各的不足! 于是开始自己动手折腾用VPS搭建VPN... 上网逛了一圈,最后选择了搬瓦工的VPS:512RAM,10G ...

  6. CentOS 6.3上搭建PPTP VPN

    系统版本:CentOS 6.3_x86_64 eth0:172.16.10.72(实验环境当公网IP使用) eth1:192.168.100.50 1.检测是否支持ppp模块 # cat /dev/p ...

  7. fedora 搭建pptp vpn server

    1 首先去sourceforge上下载pptpd的源码 http://sourceforge.net/projects/poptop/files/?source=navbar 2 对源码进行编译 ./ ...

  8. 在CentOS 5.8上搭建PPTP VPN服务

    在天朝上网,vpn已经是必备之物了,我也记录一下搭建vpn服务的方法. 1. 确认内核是否支持MPPE模块MPPE用来支持Microsoft Point to Point Encryption, 包括 ...

  9. Ubuntu搭建solr搜索服务器

    参考:http://blog.csdn.net/makang110/article/details/50971705 一:搭建solr服务器 1:安装jdk1.7,并配置环境变量 2:下载tomcat ...

随机推荐

  1. git usage:常用git命令

    最近在改TV media相关的测试用例,需要在git上维护相关的脚本,把常用命令总结如下,方便以后使用. 1. 从已有git服务器上clone到本地, 首先进入用户根目录: cd ~ 然后进行clon ...

  2. [手机取证] “神器”IP-BOX的一些问题

    网上最近传的纷纷扬扬的iOS密码破解神器IP-BOX,很多人感兴趣,作为一个该产品的老用户,来破除一下迷信,顺便做个普及~ Q1:这东西好神奇,是不是所有都能破解? A1:支持简单密码的穷举,有条件的 ...

  3. win10 下runtime error 解决办法

    下载http://120.52.73.50/download.microsoft.com/download/5/2/1/5212066c-5f48-4b16-a059-ed84b505a65d/vcr ...

  4. delphi.数据结构.链表

    链表作为一种基础的数据结构,用途甚广,估计大家都用过.链表有几种,常用的是:单链表及双链表,还有N链表,本文着重单/双链表,至于N链表...不经常用,没法说出一二三来. 在D里面,可能会用Contnr ...

  5. Android 软引用

    2013-08-13 13:56 佚名 eoe Android开发者社区 字号:T | T   可能对于Android开发者来说,软引用这个词有的会不是很熟悉,软引用在Java开发中用的比较多,但是, ...

  6. Openlayers简介

    OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的 JavaScript包,目前的最高版本是2.5 V,通过BSD License 发行.它实现访问地理空间数据的方法都符 ...

  7. IOS 解析crashlog

    1.需要log.crash. dSYM和xcode自带的symbolicatecrash 放到一个文件夹下面 2.终端cd 到文件夹下面 运行命令 export DEVELOPER_DIR=/Appl ...

  8. 【Python】pip国内安装源

    豆瓣安装源 pip install packages -i http://pypi.doubanio.com/simple --upgrade --trusted-host pypi.doubanio ...

  9. 使用es6的set和map实现数组去重复

    var set = new Set();var arr = [1, 2, 3, 3, 2, 1];arr.map(val => set.add(val));// arr.map(function ...

  10. centos6.5 用户管理

    linux 用户管理 命令:useradd 选项: -c comment 备注信息 -d 用户目录 usr/test 不存在 则 -m test 创建 -s shell文件,指定用户的登录Shell. ...