How To Install PPTP VPN on CentOS 6

Install PPTP VPN on CentOS 6

The Point-to-Point Tunneling Protocol (PPTP) is a method for implementing virtual private networks. PPTP uses a control channel over TCP and a GRE tunnel operating to encapsulate PPP packets. The PPTP specification does not describe encryption or authentication features and relies on the Point-to-Point Protocol being tunneled to implement security functionality. We use PPTP because it is supported natively on almost all devices, Windows, Linux, Android, iOS and Mac OS.

This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple. Here is the steps to install PPTP VPN on CentOS 6.

In this tutorial we will show you how to install and configuration of PPTP VPN on your CentOS 6 server.

Install PPTP VPN on CentOS 6

Step 1. First install pptpd

yum install ppp iptables nano
cd /usr/local/src

#For 64bit OS
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.x86_64.rpm
rpm -Uhvpptpd-1.4.0-1.el6.x86_64.rpm

#For 32bit os
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.i686.rpm
rmp -Uhv pptpd-1.4.0-1.el6.i686.rpm

Step 2. Setup pptpd

Edit IP setttings in /etc/pptpd.conf:

#nano /etc/pptpd.conf

localip 192.168.0.1 # your VPS/Dedicated Server IP address 
remoteip 192.168.0.101-200

And the following settings to /etc/ppp/options.pptpd:

ms-dns 8.8.8.8
ms-dns 4.4.4.4

Step 3. Create user to access the VPN server

Add user account in/etc/ppp/chap-secrets (assign username and password):

#nano /etc/ppp/chap-secrets

vpn pptpd vpnpassword *

Step 4. Enable network forwarding in /etc/sysctl.conf

#nano /etc/sysctl.conf

net.ipv4.ip_forward = 1

#To make the changes to sysctl.conf take effect, use the following command.

sysctl -p

Step 5. Setup iptables

You need to add the following iptables rules in order to open the correct ports and properly forward the data packets:

iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -i eth0 -p gre -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Step 6. Start PPTP VPN server

service pptpd restart
chkconfig pptpd on

Congratulation’s! You have successfully installed PPTP VPN. Thanks for using this tutorial for installing PPTP VPN on CentOS 6 system. For additional help or useful information, we recommend you to check the official PPTP VPN web site.