一. 安装PPTP
pptp是(Point to Point Tunneling Protocol),即点对点隧道协议。该协议是在ppp协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网(VPN),可以通过密码验证协议(PAP)、可扩展认证协议(EAP)等方法增强安全性。pptpd是指运行在服务器上提供上述协议服务的软件。
首先我们需要安装pptpd,centos服务器用以下命令:
# yum install pptpd
Ubuntu服务器使用以下命令:
# sudo apt-get install pptpd
本文档使用ubuntu服务器,pptp协议和pptpd版本如下:
二. 配置pptpd
2.1 配置IP地址
编辑/etc/pptpd.conf,首先我们配置IP地址,找到以下内容并将注释符#去掉,这里采用默认设置:
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
localip为pptp虚拟的局域网中服务器的本机IP,remoteip为客户机连上后分配的IP地址范围,这里我们设置了6个可分配的IP地址。
上面的IP地址是可以随便填的,ABC三类的内网地址都可以,主要兼顾其他地方的IP配置,不要出现IP冲突就可以了。
2.2 配置客户端DNS
要配置客户端的dns,首先要确定配置文件,查看/etc/pptpd.conf中指定的option文件,如果没有指定,那就默认是/etc/ppp/pptpd-options。
这里指定好了配置文件尾pptpd-options,因此修改/etc/ppp/pptpd-options,找到ms-dns并修改为自己需要配置的DNS服务器地址:
2.3 配置VPN账号
接下来创建VPN账号,账号保存在/etc/ppp/chap-secrets,我们打开编辑这个文件,按下面的格式加入自己的账号以及密码,依次为:账号,协议,密码,IP地址:
这里IP填*表示动态分配,任何使用对应账号的IP都可以连上;如果填上IP则表示指定IP才能使用该账号登录,IP之间用逗号或空格隔开。
2.4 配置系统转发
完成上述配置后VPN服务可以连上,但是不能通过VPN实现转发,也就是不能上网或者访问其他服务器,只能局限在局域网内,需要开启系统转发和NAT。首先开启系统转发,编辑配置文件/etc/sysctl.conf,设置如下:
下面的设置是IPV6,如果有需要也可以开启。重新加载sysctl.conf:
2.5 配置防火墙转发
# sudo iptables –t nat –A POSTROUTING –s 192.168.0.0/24 –o eth0 –j SNAT –to 192.168.1.206
这里是进行了SNAT转发配置,将内网IP的数据包通过eth0转发出去。其中,192.168.0.0/24位VPN虚拟内网,也就是之前配置的remoteip,而192.168.1.206代表外网地址,可以通过ifconfig命令查询。
如果VNP服务器是用来代理上网的,仅有上面的配置会出现访问网站缓慢的情况,需要手动修改一下转发包的mss:
# sudo iptables –A FORWARD –p tcp –syn –s 192.168.0.0/24 –j TCPMSS –set-mss 1356
最后可以保存一下防火墙:
# sudo iptables-save
三. 启动pptpd服务
# sudo service pptpd restart
# sudo service pppd-dns restart
可以通过tail /var/log/syslog命令来查看启动日志看是否有错误:
正常的启动应该和上述截图差不多。
四. 测试pptp服务
4.1 单个客户机测试
这里用的win10做测试,其他系统请自行寻找对应方法。首先打开网络设置,选择VPN,添加新的VPN连接:
连接名称任填,VPN类型必须选择PPTP,服务器地址为架设PPTP服务的服务器IP地址,而不是上述设置的localip,登录账户和密码同之前的设置。保存后登录信息后连接VPN,是否成功可以在服务器端输入ifconfig查看:
可以看到出现了一张ppp0的虚拟网卡,连接方式为点对点协议,说明PPTP成功连接。然后打开cmd输入ipconfig /all查看:
然后再看能不能正常上网,一般来说是没有什么问题的,如果存在不能正常上网的问题,可以ping一下各个ip看是哪里不通或者trace一下地址看看数据是从哪条路由出去的。
4.2 多个客户机测试
我们选择了另外一台电脑通过PPTP创建VPN连接到服务器,连接方法同上。服务器端用ifconfig查看:
我们在客户机2上查看ipconfig /all:
我们让两台电脑互ping,看看是否能够连通:
正常来说客户机2也是可以上网的。