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
拨号连接–>安全–>要求数据加密(没有就断开) 前面的勾取消