一、运行环境
系统:
CentOS Linux release 7.2.1511 (Core)
软件包:
ppp-2.4.5-33.el7.x86_64
pptpd-1.4.0-2.el7.x86_64
iptables-1.4.21-17.el7.x86_64
iptables-services-1.4.21-17.el7.x86_64
二、安装方式
使用yum安装
yum install -y ppp pptpd iptables
三、安装完毕后配置pptp
1、配置DNS参数
vim /etc/ppp/options.pptpd (根据网上资料提示,此文件最后需留出一行空行做结尾)
找到ms-dns两行,将注释#去掉,并改为如下
ms-dns 8.8.8.8 ##外网DNS、可以使用114、8等通用DNS
ms-dns 8.8.4.4
logfile /data/logs/pptpd.log ##定义日志文件位置
2、配置VPN客户端所获取IP范围参数
vim /etc/pptpd.conf
找到localip,去掉#注释
localip 172.16.8.1
remoteip 172.16.8.100-199
#Localip这行是给vpn服务器设置一个隧道ip,pptpd服务启动后会生成一个虚拟网卡ppp0,ip地址便是这个
#Remoteip是自动分配给客户端的ip地址范围
3、添加pptp拨号用户和密码(可以设置多个用户,每行一个)
vim /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
fanjp pptpd sti458 * ( * 表示允许客户端从任何IP地址登录 )
4、启动pptpd服务
systemctl start pptpd.service
设置开机启动
systemctl enable pptpd.service
四、设置linux系统允许NAT转发
vim /etc/sysctl.conf
更改这两项,保存退出
net.ipv4.ip_forward=1
#net.ipv4.tcp_syncookies=1
sysctl -p
五、设置iptables防火墙允许VPN服务通过
1、本机有两块网卡,外网em1,ip为120.132.19.10;内网em2,ip为192.168.10.9
为了能正常涉及所有的网络,iptables配置文件修改如下
vim /etc/sysconfig/iptables
2、iptables启动时默认是不加载pptp模块的,这样就会导致连接时报619无法验证密码的错误
vim /etc/sysconfig/iptables-config
修改如下
IPTABLES_MODULES="ip_conntrack_pptp ip_nat_pptp ip_conntrack_ftp"
修改完毕重启iptables
systemctl restart iptables.service
六、客户端连接,以iphone手机为例,添加vpn配置文件,保存后点击连接即可
客户端连接成功后,出口IP将自动更改为vpn服务器的外网IP,即上面的 120.132.19.10
此时再进VPN服务器查看pptpd运行状态,可详细看到客户端获取到的IP地址信息
至此,pptp vpn服务器配置完毕!!