上一篇文章介绍了如何在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
解决方法为(不推荐):编辑 /etc/pptpd.conf,注释掉下面一行后重启 pptpd 服务
#logwtmp
调试
在链接过程中可以通过查看以下日志文件来定位问题
$tail -f /var/log/syslog