红联Linux门户
Linux帮助

ubuntu搭建PPTP VPN服务器

发布时间:2016-05-10 10:42:48来源:linux网站作者:诸葛孔明没灯

上一篇文章介绍了如何在Ubuntu服务器上搭建IPSEC L2TP VPN服务器(http://www.linuxdiyf.com/linux/20152.html)。继续介绍如何在Ubuntu服务器上搭建PPTP VPN服务器。


首先安装以下所需包

#apt-get install pptpd ufw


打开所需端口

#ufw allow 1723/tcp
#ufw allow 22
#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 192.168.111.2-100

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=1

然后执行命令

#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 47 -j ACCEPT

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

iptables -t nat -A POSTROUTING -s 192.168.111.0/24 -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 for pppd version 2.4.5, this is 2.4.6

BUG内容详细:https://bugs.launchpad.net/ubuntu/+source/pptpd/+bug/1451419


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

#logwtmp


调试

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

$tail -f /var/log/syslog


本文永久更新地址:http://www.linuxdiyf.com/linux/20497.html