云服务器是免费的亚马逊EC2,系统是RedHat7,折腾了几天才搞定,记录下。。。

一、检查服务器系统环境是否支持安装pptp vpn


1、检查系统内核是否支持MPPE补丁


modprobe ppp-compress-18 &&echo success


显示success说明系统支持MPPE补丁,如果不支持,需要先安装kernel-devel


yum 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 vpn

二、安装依赖包及pptpd

1、安装依赖ppp,简单,一句话yum install

2、安装pptpd,版本为1.4.0-3,切记不要安装1.4.0-14以上的,那些需要依赖ppp2.4.7及perl-interpreter,大坑。同时yum install pptpd也不行,要到网上下载。下载地址是:http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/p/pptpd-1.4.0-3.el6.x86_64.rpm。

三、配置pptpd

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


user1       pptpd   12345                  *


user2       pptpd   1234                      *


user3       pptpd   12345678              *


格式:用户名 pptpd 密码 *


其中*表示为客户端自动分配IP地址


:wq!  #保存,退出


3、vi /etc/pptpd.conf  #设置pptp服务器IP地址,设置vpn拨入客户端ip地址池


option /etc/ppp/options.pptpd


logwtmp


localip 172.16.36.1  #设置pptp虚拟拨号服务器IP地址(注意:不是服务器本身的IP地址)


remoteip 172.16.36.2-254  #为拨入vpn的用户动态分配172.16.36.2~172.16.36.254之间的IP地址


:wq!  #保存,退出


/sbin/service pptpd start #启动pptp


/etc/init.d/pptpd stop #关闭


service pptpd restart #重启


chkconfig pptpd on  #设置开机启动


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


vi /etc/sysctl.conf  #编辑


net.ipv4.ip_forward = 1  #设置为1


#net.ipv4.tcp_syncookies = 1  #注释掉


:wq!  #保存,退出


/sbin/sysctl -p  #使设置立刻生效


六、设置防火墙转发规则


yum install iptables  #安装防火墙,已经安装提示出错


service iptables start  #启动防火墙


iptables -t nat -A POSTROUTING -s 172.16.36.0/255.255.255.0 -j SNAT --to-source *.*.*.*  #添加规则


iptables -A FORWARD -p tcp --syn -s 172.16.36.0/255.255.255.0 -j TCPMSS --set-mss 1356  #添加规则


/etc/init.d/iptables save  #保存防火墙设置


七、开启pptp服务端口tcp 1723,设置vpn拨入客户端ip地址池172.16.36.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 172.16.36.0/255.255.255.0 -j ACCEPT


:wq!  #保存,退出


备注:


#*.*.*.*为服务器IP地址,公网IP


#172.16.36.0/255.255.255.0是第四步中设置的pptp虚拟拨号服务器IP地址段


/etc/init.d/iptables restart  #重启防火墙


chkconfig iptables on  #设置开机启动


cat /etc/sysconfig/iptables  #查看防火墙配置文件