VPS操作系统:CentOS5.X 32bit

操作前的准备操作:

执行如下命令:

 yum remove -y pptpd ppp
iptables –flush POSTROUTING –table nat
iptables –flush FORWARD
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp

一、检测VPS是否支持TUN和PPP

 cat /dev/net/tun    

返回:cat: /dev/net/tun: File descriptor in bad state,表示通过

cat /dev/ppp

 cat: /dev/ppp: No such device or address,表示通过

 返回:“Permission denied”则不通过。可以尝试联系vps客服,是否可以开通TUN和PPP功能

 

二、安装ppp、iptables、pptp

yum install -y ppp iptables
rpm -ivh http://soft.mengzhiyi.info/pptp/pptpd-1.3.4-1.rhel5.1.i386.rpm

mknod /dev/ppp c 108 0
echo “mknod /dev/ppp c 108 0″ >> /etc/rc.local

 

64bit则执行:rpm -ivh http://soft.mengzhiyi.info/pptp/pptpd-1.3.4-1.rhel5.1.x86_64.rpm

三、编辑配置文件

echo “localip 172.16.36.1″ >> /etc/pptpd.conf
echo “remoteip 172.16.36.2-254″ >> /etc/pptpd.conf
echo “ms-dns 8.8.8.8″ >> /etc/ppp/options.pptpd
echo “ms-dns 8.8.4.4″ >> /etc/ppp/options.pptpd
vim /etc/sysctl.conf
找到net.ipv4.ip_forward,把值编辑为1
找到net.ipv4.tcp_syncookies,前面加上注释符 #
sysctl -p /etc/sysctl.conf  (使修改立即生效)


iptables规则

iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT –to-source vps公网ip
iptables -A FORWARD -p tcp –syn -s 172.16.36.0/24 -j TCPMSS –set-mss 1356
/etc/init.d/iptables save
/etc/init.d/iptables restart
/etc/init.d/pptpd restart

 

编辑用户

vim /etc/ppp/chap-secrets
用户、密码例:mengzhiyi pptpd 123456  * 

设置开机运行:

 

chkconfig pptpd on
chkconfig iptables on

 

相关问题:

 

1.如果VPN客户端能连接成功但还是不能上外网,可能是因为VPS开启了SELinux认证。对于默认开启了SELinux认证:需执行以下命令使pppd与pptp穿透SELinux
 # setsebool pppd_disable_trans 1

 

也可关闭SELinux认证,方法:
编辑vi /etc/sysconfig/selinux文件,配置以下选项
  SELINUX=disabled
如果不重启生效就执行以下命令使修改生效
# setenforce 0

2.在Windows下新建一个VPN连接,输入服务器ip、用户名和密码,如无意外就能连上去了。如果VPN连接出现619错误,使用以下命令修复:

rm /dev/ppp mknod /dev/ppp c 108 0

 

 

3.vps建立pptp的vpn出现错误734

 

解决的方法是:

vi /etc/ppp/options.pptpd
require-mppe-128 -> # require-mppe-128
拨号连接–>安全–>要求数据加密(没有就断开) 前面的勾取消

 

 


 

 

 

OpenVZ VPS配置PPTP VPN实战记录
Tagged on:     

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.