一、检查服务器是否有必要的支持.如果检查结果没有这些支持的话,是不能安装pptp的,执行指令:
#modprobe ppp-compress-18 && echo ok
这条执行执行后,显示”ok”则表明通过.不过接下来还需要做另一个检查,输入指令:
#cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state
上述两条均通过,才能安装pptp.否则就只能考虑openvpn,或者请你的服务商来解决这个问题.
二、
安装ppp和iptables(iptables可选).默认情况下,完整的CentOS是带有这两个组件的,但是精简版的系统可能没有.我们输入下面的命令来确认,如果没有则进行安装,有的话系统不会做任何动作:
yum update
三、
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
osyunweivpnuser01 pptpd 123456 *
osyunweivpnuser02 pptpd 1234 *
osyunweivpnuser03 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 #使设置立刻生效
六、设置防火墙转发规则
一般我都是iptables -F清楚规则
yum install iptables #安装防火墙
service iptables start #启动防火墙
iptables -t nat -A POSTROUTING -s 172.16.36.0/255.255.255.0 -j SNAT --to-source 192.168.21.128 #添加规则
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! #保存,退出
备注:
#192.168.21.128为服务器IP地址
#172.16.36.0/255.255.255.0是第四步中设置的pptp虚拟拨号服务器IP地址段
/etc/init.d/iptables restart #重启防火墙
chkconfig iptables on #设置开机启动