在Linux下安装PPTP的VPN(rpm)

在ssh运行
64位系统

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

32位系统

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

输入vi /etc/ppp/options.pptpd开始编辑,输入以下内容:
在末尾添加

ms-dns 8.8.8.8
ms-dns 8.8.4.4

最后两行是dns服务器地址,这里用opendns,你也可以用主机商的dns。我这里用的是谷歌的免费dns.
编辑完成后保存退出。

输入vi /etc/pptpd.conf开始编辑,输入以下内容:

option /etc/ppp/options.pptpd
logwtmp
localip 192.168.8.1
remoteip 192.168.8.2-200

最后两行是vpn的ip地址分配,如果你不熟悉就别改了。编辑完成后保存退出。

输入vi /etc/ppp/chap-secrets开始编辑,输入以下内容:
username1 pptpd password1 *

username2 pptpd password2 *

username3 pptpd password3 *

这个文件用来配置vpn的登陆用户和密码,一行一个。编辑完成后保存退出。

把username和password分别改成你需要的用户名密码即可,其他别改了。

输入vi /etc/sysctl.conf开始编辑,这个文件和上面不同,里面已经有内容:

找到

net.ipv4.ip_forward = 0

改成

net.ipv4.ip_forward = 1

保存并退出,然后执行sysctl -p这个命令。

这时,PPTP基本上配置好了,输入service pptpd start启动。

下面来配置iptables,首先输入service iptables start启动。

然后分别输入下面四条命令,每天输完后要记得按回车:

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

iptables -A INPUT -p tcp --dport 47 -j ACCEPT

iptables -A INPUT -p gre -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eth0 -j MASQUERADE

完成后输入/etc/init.d/iptables save保存,并且输入/etc/init.d/iptables restart重新启动。
如果你需要服务器启动时候自动启动VPN服务,还需要输入chkconfig pptpd on和chkconfig iptables on这两条命令。
pptpd配置部分参考:http://www.linuxidc.com/Linux/2011-06/37430.htm