CentOS 安装配置 PPTP

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最大分段值