上一篇文章介绍了如何在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. Python基础篇【第6篇】: Python模块subprocess

    subprocess Python中可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen*          --废弃 popen2.*         ...

  2. hmtl弹出框样式

    @model Web.Manager.Models.SendMessage @{ ViewBag.Title = "消息发布"; Layout = null;} <link ...

  3. Business Unit Lookup in Form

    Just add the below code in lookup() of StringEdit control in Form to get the Business Unit Lookup: p ...

  4. eclispe 无法启动调试 cannot connect to VM

    eclispe中,点击调试运行java项目,出现 cannot connect to VM 正常的运行项目,没问题: 以为是jdk的安装路径等的问题,还有杀毒软件等等,都没有正常: 后来找到是wins ...

  5. Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)

    Oracle 11.2.4.0 ADG 单实例安装(COPY创建备库) 规划: 主: OS: Linux Centos 6.5 X64 hostname:ORA11G-DG1 ipaddress:19 ...

  6. centos7 下修改时区

    #timedatectl status //显示当前设置 #timedatectl list-timezones //列出时区 #timedatectl set-timezone Asia/Shang ...

  7. Android常用控件及对应Robotium API

    最近发现Android控件不熟悉,看Robotium的API都费劲. 常用Android控件: 控件类型 描述 相关类 Button 按钮,可以被用户按下或点击,以执行⼀个动作 Button Text ...

  8. [转载]SVN-主干/分支

    一个大项目在开发中可能会拆分成几个小项目,分别分去,同时共通的部分再由人做,做完后再统一合并.同时,在开发中,共通的部分修改后,其它人要保持同步. 这种情况反应到SVN的分支/合并功能上,再贴切不过了 ...

  9. windows脚本配置ip地址

    背景:工作上经常涉及到要调试设备,每次都要手动配置静态ip地址,配置完之后还要重新改回来,有时候为了连续调试多台设备,来回手动更改ip,实在麻烦. 思考:想到windows有脚本,可以利用脚本文件达到 ...

  10. 常用到的git,mvn,postgres,vim命令总结

    mvn: 打包: mvn package 如果想在打包的时候跳过测试: mvn package -Dmaven.test.skip=true 使用的junit测试框架, 测试: mvn test 如果 ...