ubuntu 搭建PPTP VPN服务器

时间:2024-09-01 15:32:56

上一篇文章介绍了如何在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