说明:  
服务器操作系统:CentOS 64位    
服务器IP地址:192.168.1.100    
实现目的:服务器安装配置pptp软件,对外提供***拨号服务

具体操作:  
(1)、安装包下载    
1、ppp  #安装pptpd需要此软件包    
http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.5-33.0.rhel6.x86_64.rpm    
2、pptpd  #目前最新版本    
http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.rhel5.x86_64.rpm    
下载好之后上传到/usr/local/src目录,或者直接进入服务器该目录使用wget下载

(2)、检查服务器系统环境是否支持安装pptp ***  
1、检查系统内核是否支持MPPE补丁    
modprobe ppp-compress-18 &&echo success    
显示success说明系统支持MPPE补丁,如果不支持,需要先安装kernel-devel    
yum -y install kernel-devel    
2、检查系统是否开启TUN/TAP支持    
cat /dev/net/tun    
如果这条指令显示结果为下面的文本,则表明通过:    
cat: /dev/net/tun: File descriptor in bad state    
3、检查系统是否开启ppp支持    
cat /dev/ppp    
如果这条指令显示结果为下面的文本,则表明通过:    
cat: /dev/ppp: No such device or address    
上面三条必须同时满足,否则不能安装pptp ***

(3)、安装pptp  
cd  /usr/local/src    
rpm -ivh ppp-2.4.4-14.1.rhel5.x86_64.rpm    
#安装ppp    
rpm -ivh pptpd-1.4.0-1.rhel5.x86_64.rpm    
#安装pptp

(4)、配置pptp  
1、vi /etc/ppp/options.pptpd    

#编辑,添加、修改以下参数    
name pptpd    
refuse-pap    
refuse-chap    
refuse-mschap    
require-mschap-v2    
require-mppe-128    
proxyarp    
lock    
nobsdcomp    
novj    
novjccomp    
nologfd    
ms-dns 8.8.8.8    
#添加主DNS服务器地址    
ms-dns 8.8.4.4    
#添加备DNS服务器地址    
:wq!    
#保存,退出


2、vi /etc/ppp/chap-secrets    
#设置pptp拨号用户和密码(可以设置多个用户,每行一个)    
# client        server  secret                  IP addresses    
osgnu01       pptpd   123456                  *    
osgnu02       pptpd   1234                      *    
osgnu03       pptpd   12345678              *    
格式:用户名 pptpd 密码 *    
其中*表示为客户端自动分配IP地址    
:wq!  #保存,退出    
3、vi /etc/pptpd.conf    

#设置pptp服务器IP地址,设置***拨入客户端ip地址池    
option /etc/ppp/options.pptpd    
logwtmp    
localip 192.168.1.1    
#设置pptp虚拟拨号服务器IP地址(注意:不是服务器本身的IP地址)    
remoteip 192.168.2-15    
#为拨入***的用户动态分配192.168.1.2~192.168.1.15之间的IP地址    
:wq!    
#保存,退出    
/sbin/service pptpd start    
#启动pptp    
/etc/init.d/pptpd stop    
#关闭    
service pptpd restart    
#重启    
chkconfig pptpd on    
#设置开机启动

(5)、开启服务器系统路由模式,支持包转发  

vi /etc/sysctl.conf    
#编辑    
net.ipv4.ip_forward = 1    
#设置为1    
#net.ipv4.tcp_syncookies = 1    
#注释掉    
:wq!    
#保存,退出    
/sbin/sysctl -p    
#使设置立刻生效

(6)、设置防火墙转发规则  

yum install iptables    
#安装防火墙    
service iptables start    
#启动防火墙    
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -j SNAT --to-source 192.168.1.100    
#添加规则    
iptables -A FORWARD -p tcp --syn -s 192.168.1.0/255.255.255.0 -j TCPMSS --set-mss 1356    
#添加规则    
/etc/init.d/iptables save    
#保存防火墙设置

(7)、开启pptp服务端口tcp 1723,设置***拨入客户端ip地址池192.168.1.0/255.255.255.0通过防火墙  

vi /etc/sysconfig/iptables    
#编辑,添加以下代码    
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT    
-A RH-Firewall-1-INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT    
:wq!  #保存,退出


备注:    

#192.168.1.100为服务器IP地址    
#192.168.1.0/255.255.255.0是第四步中设置的pptp虚拟拨号服务器IP地址段    
/etc/init.d/iptables restart    
#重启防火墙    
chkconfig iptables on    
#设置开机启动    
cat /etc/sysconfig/iptables    
#查看防火墙配置文件    
# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013    
*nat    
: PREROUTING ACCEPT [60:4680]    
: POSTROUTING ACCEPT [4:258]    
:OUTPUT ACCEPT [4:258]    
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -j SNAT --to-source 192.168.1.100    
COMMIT-    
# Completed on Wed Dec 11 20:21:08 2013-    
# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013-    
*filter-    
:INPUT ACCEPT [0:0]-    
:FORWARD ACCEPT [0:0]-    
:OUTPUT ACCEPT [94:16159]-    
:RH-Firewall-1-INPUT - [0:0]-    
-A INPUT -j RH-Firewall-1-INPUT-    
-A FORWARD -j RH-Firewall-1-INPUT-    
-A FORWARD -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356-    
-A RH-Firewall-1-INPUT -i lo -j ACCEPT    
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT    
-A RH-Firewall-1-INPUT -p esp -j ACCEPT    
-A RH-Firewall-1-INPUT -p ah -j ACCEPT    
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT    
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT    
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT    
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT    
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT    
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT    
-A RH-Firewall-1-INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT    
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited    
COMMIT    
# Completed on Mon Jun 07 20:21:08 2015

八、设置开机自动建立ppp设备节点(系统重新启动后有可能会丢失此文件,导致pptp客户端拨号出现错误619)  

vi /etc/rc.d/rc.local #编辑    
mknod /dev/ppp c 108 0  #在文件最后添加此行代码    
:wq!  #保存,退出


转载于:https://blog.51cto.com/brucez/1659723