Install and deploy a PPTP VPN on CentOS 5 x86 (32-bit)

2 min read June 28, 2013 at 8:05pm on Tutorials

If you are having issues manually installing and configuring a PPTP VPN from scratch, you can take advantage of this script that will handle the installation for you. This has been tested to work on CentOS 5.X x86 (32-bit).

Copy and past the following code into a new file and save it as

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


yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers
rpm -ivh dkms-
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
rpm -qa kernel_ppp_mppe
rpm -Uvh ppp-2.4.4-9.0.rhel5.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.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" >> /etc/pptpd.conf
echo "remoteip" >> /etc/pptpd.conf
echo "ms-dns" >> /etc/ppp/options.pptpd
echo "ms-dns" >> /etc/ppp/options.pptpd

pass=`openssl rand 6 -base64`
if [ "$1" != "" ]
then pass=$1

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

iptables -t nat -A POSTROUTING -s -j SNAT --to-source `ifconfig | grep 'inet addr:'| grep -v '' | cut -d: -f2 | awk 'NR==1 { print $1}'`
iptables -A FORWARD -p tcp --syn -s -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}"

Then change the permissions:

chmod 755

Run the file as root:


After the installation is complete, the script will display a randomly generated username and password. You may change these details by editing the /etc/ppp/chap-secrets file and restarting PPTP:

/etc/init.d/pptpd restart

Get started today. SIGN UP



Copyright Kazila 2017 © All Rights Reserved