Linode ContoS 6.0上PPTP一键安装包

用Linode VPS有一年多时间了,速度和稳定性还算不错,唯一遗憾的是,自己没能在VPS上安装PPTP,今天又花费了半天的时间折腾这个事情,虽然没有成功,但是依然写下笔记。

从之前搜索国内的教程到现在寻觅老外的教程,始终还是无法搞定iptables,据说Linode Contos 6.0与iptables不兼容。我自己是32位系统的,安装之后,可以启动pptp,但是运行:#service iptables restart时,总会显示:iptables: unrecognized service。

下面推荐一种一键安装方法,来自老外的。适合于ContoS 6.0 32bit。

第一步:检查PPP模块是否已经具备.

cat /dev/ppp

如果你看到以下信息,说明已经具备.
cat: /dev/ppp: No such device or address

wget http://www.rockia.com/dl/pptpd6.sh
chmod +x pptpd6.sh
./pptpd6.sh

yum install nano # if nano is not installed.

编辑 VPN 用户名和密码:

nano /etc/ppp/chap-secrets

如果你安装以后出现以下问题:
iptables: Saving firewall rules to /etc/sysconfig/iptables: /etc/init.d/iptables: line 274: restorecon: command not found [FAILED]
就执行以下命令:

yum install policycoreutils

脚本源代码:

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

arch=`uname -m`
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.$arch.rpm

yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers dkms kernel_ppp_mppe ppp
rpm -Uvh pptpd-1.3.4-2.el6.$arch.rpm

mknod /dev/ppp c 108 0
echo 1 > /proc/sys/net/ipv4/ip_forward
echo “mknod /dev/ppp c 108 0” >> /etc/rc.local
echo “echo 1 > /proc/sys/net/ipv4/ip_forward” >> /etc/rc.local
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

pass=`openssl rand 6 -base64`
if [ “$1” != “” ]
then pass=$1
fi

echo “vpn pptpd ${pass} *” >> /etc/ppp/chap-secrets

iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT –to-source `ifconfig | grep ‘inet addr:’| grep -v ‘127.0.0.1’ | cut -d: -f2 | awk ‘NR==1 { print $1}’`
iptables -A FORWARD -p tcp –syn -s 172.16.36.0/24 -j TCPMSS –set-mss 1356
service iptables save

chkconfig iptables on
chkconfig pptpd on

service iptables start
service pptpd start

echo “VPN service is installed, your VPN username is vpn, VPN password is ${pass}”

文章参考:http://www.maxwhale.com/pptp-vpn-on-centos-6-auto-installer/