PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网(VPN),可以通过密码验证协议(PAP)、可扩展认证协议(EAP)等方法增强安全性。可以使远程用户通过拨入ISP、通过直接连接Internet或其他网络安全地访问企业网。
安装ppp
# yum -y install ppp
安装pptpd
# yum -y install pptpd
配置pptp
# vim /etc/pptpd.conf
找到localip和remoteip,讲前面的注释去掉,如下:
localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
修改DNS
# vim /etc/ppp/options.pptpd
在最下面添加
ms-dns 8.8.8.8 ms-dns 8.8.4.4
不配置的话,客户端连接到pptp上不能浏览网页
配置账号
# vim /etc/ppp/chap-secrets
如下示例
user pptpd password *
或者
user pptpd password 192.168.0.234
这两个区别在于,第一个是自动分配ip,第二个是固定ip
修改内核配置,使其支持转发
# vim /etc/sysctl.conf
将 net.ipv4.ip_forward = 0修改为1
net.ipv4.ip_forward = 1
然后运行sysctl -p使之生效
设置pptpd开机启动
# chkconfig pptpd on
启动pptpd
# service pptpd start
iptables开启NAT转发
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
由于重启服务器,该配置会失效,所以需要保存配置
# service iptables save
或者将此命令加到开机启动项中
# echo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE >> /etc/rc.local
但是不建议采取这种方式,因为你有时候会修改iptables,重启iptables的话,就失效了,建议采用第一种。
防火墙添加如下规则
打开1723端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT
打开gre协议
-A INPUT -p gre -j ACCEPT
另外,默认的centos 6自带的防火墙规则中以下规则需要注释掉,不然连接上pptp上不了网
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
重启防火墙
# service iptables restart
配置客户端连接此pptp服务器
如果配置完成拨入后,访问外网速度很慢,可以运行如下指令
# iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356 改变TCP最大分段值