A virtual private network (VPN) is network that extends a private network (i.e. LAN) across a public network, such as the Internet. It enables a communications between computers and devices across shared or public networks as if it were directly connected to the private network, while benefiting from the functionality, security and management policies of the private network.
This is done by establishing a virtual point-to-point connection through the use of dedicated connections, encryption, or a combination of the two. Basically, if two computers are connected through a VPN, they can communicate directly the same way as if they were in local network. Although the two computers could be physically very distant, the other computers on the internet are not able to intercept their communication.
First install pptpd
yum install ppp iptables nano
#For 64bit OS
#For 32bit os
rmp -Uhv pptpd-1.4.0-1.el6.i686.rpm
Edit IP setttings in /etc/pptpd.conf:
localip 192.168.0.1 # your VPS/Dedicated Server IP address
And the following settings to /etc/ppp/options.pptpd:
Create user to access the VPN server
Add user account in/etc/ppp/chap-secrets (assign username and password):
vpn pptpd vpnpassword *
Enable network forwarding in /etc/sysctl.conf
net.ipv4.ip_forward = 1
#To make the changes to sysctl.conf take effect, use the following command.
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
Start PPTP VPN server
service pptpd restart
chkconfig pptpd on
Congratulation’s! You have successfully installed PPTP VPN