本文转自:http://blog.csdn.net/ownfire/article/details/8051349

PPTP VPN 一键安装包

wget http://soft.kwx.gd/vpn/pptpd.sh

sh pptpd.sh

自行安装流程

 

1、检查服务器是否有必要的支持。如果检查结果没有这些支持的话,是不能安装pptp的。命令:

modprobe ppp-compress-18 && echo ok

这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令:

cat /dev/net/tun

如果显示如下信息,说明通过,如果不支持,可以给vps商发ticket开通tun,大部分美国vps商都可以支持:

cat: /dev/net/tun: File descriptor in bad state

上面的两个只要一条通过,就能安装VPN(pptp)

1、准备环境

PPTPD要求Linux内核支持mppe,一般来说CentOS安装时已经包含了;下面安装ppp与iptables:

1 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 进行配置,内容如下:

1 testuser pptpd testpwd *

* testuser、testpwd对应修改为自己希望的VPN登录用户名和密码

将 /etc/sysctl.conf 文件中net.ipv4.ip_forward设置为 1 (如果没有,则按照格式新建一行):

1 net.ipv4.ip_forward = 1

同时在“net.ipv4.tcp_syncookies = 1”前面加# 变成:

# net.ipv4.tcp_syncookies = 1

保存退出。执行

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、设置开机启动

1 chkconfig pptpd on
2 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