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.