本实战为手动安装,一键安装请到:Centos6.5一键安装VPN
1、准备环境
PPTPD要求Linux内核支持mppe,一般来说CentOS安装时已经包含了;下面安装ppp与iptables:
yum install ppp iptables
2、安装PPTPD
对于32位CentOS,执行
wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
对于64位CentOS,执行
wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm
上面两个是el5内核的rpm包,如果是el6,执行
rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/i386/pptpd-1.3.4-2.el6.i686.rpm
3、修改配置
编辑PPTP配置文件 /etc/ppp/options.pptpd 如内容下:
name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 proxyarp lock nobsdcomp novj novjccomp nologfd idle 2592000 ms-dns 8.8.8.8 ms-dns 8.8.4.4
编辑配置文件 /etc/pptpd.conf ,内容如下:
option /etc/ppp/options.pptpd logwtmp localip 192.168.254.1 remoteip 192.168.254.100-254
* 其中localip与remoteip定义了客户端连接VPN服务器后被分配到的内网IP地址,可根据需要自己修改。
现在对用户认证文件 /etc/ppp/chap-secrets 进行配置,内容如下:
testuser pptpd testpwd *
* testuser、testpwd对应修改为自己希望的VPN登录用户名和密码
将 /etc/sysctl.conf 文件中net.ipv4.ip_forward设置为 1 (如果没有,则按照格式新建一行):
net.ipv4.ip_forward = 1
同时在“net.ipv4.tcp_syncookies = 1”前面加# 变成:
# net.ipv4.tcp_syncookies = 1
保存退出。执行
/sbin/sysctl -p
使之生效。
4、设置iptables转发
/etc/init.d/iptables start /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.254.0/24 -j MASQUERADE /etc/init.d/iptables save /etc/init.d/iptables restart
* 注意,上面的192.168.254.0应该与之前设置的网段对应。
5、去除加密(部分VPS不支持加密)
编辑/etc/ppp/options.pptpd(vim /etc/ppp/options.pptpd),在require-mppe-128前面加个#(# require-mppe-128);
VPN连接属性里,加密方式选择为可选加密,并允许未加密的密码。
最后重启下PPTPD即可:
6、设置开机启动
chkconfig pptpd on chkconfig iptables on
重启计算机即可进行连接,并且能够正常上网。
如果重启服务器后,无法连接VPN,首先检查服务器的PPTP服务1723端口是否已打开(注意设置防火墙允许此端口);如果可以连接VPN,但是无法正常上网,则检查iptables是否正常转发。
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1723 -j ACCEPT service iptables save service iptables restart
如果不行,重启下VPN :
/etc/init.d/pptpd restart