Skip to end of metadata
Go to start of metadata

CentOS provides an PPTP solutions in the repository, 

STEP 1. Install PPTP

sudo yum update
sudo yum -y install pptp
sudo modprobe nf_conntrack_pptp
sudo modprobe ppp_mppe


STEP 2. Run sudo vi /etc/ppp/chap-secrets to edit the chap-secret file as shown below:


# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
vpnusername PPTP vpnpassword *

Note that you should put space or tab between elements listed above.


STEP 3. Run sudo vi /etc/ppp/peers/linuxconfig and enter the following information. You can create your own name whatever instead of linuxconfig.

pty "pptp us-ded-6.dns2use.com -nolaunchpppd"
name yourVPNusername
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam linuxconfig


STEP 4. Run sudo vi /etc/ppp/options.pptp to be sure there is no # sign before these lines.

lock
noauth
refuse-pap
refuse-eap
refuse-chap
nobsdcomp
nodeflate
require-mppe-128


STEP 5. Run sudo vi /etc/ppp/ip-up.local and add the following line. By doing so, it will set the default to ppp0.

/sbin/route add default ppp0

In order to execute the file, run

sudo chmod 755 /etc/ppp/ip-up.local


STEP 6. Allow pptp to your firewall policy


firewall-cmd --permanent --zone=public --add-port=1723/tcp
firewall-cmd --permanent --zone=public --add-port=1723/udp
firewall-cmd --reload



STEP 6. Connect to the VPN by running


sudo pppd call linuxconfig


STEP 7. How do I check the accuracy of your VPN IP and location?

curl ipinfo.io


If there is no change, please check your network interface by ifconfig - for example) ppp0 with the assigned IP address


STEP 8. How to disconnect the VPN

sudo pkill pppd


STEP 9. Trouble shooting

If you are unable to connect, please check your connection logs by running

sudo cat /var/log/messages | grep pppd


If you use firewalld with pptp, you will need to call following commands to add rules to firewalld

sudo firewall-cmd --permanent --zone=public --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
sudo firewall-cmd --permanent --zone=public --direct --add-rule ipv6 filter INPUT 0 -p gre -j ACCEPT
sudo firewall-cmd --permanent --zone=public --add-masquerade
sudo firewall-cmd --reload


https://www.lightning-ashe.com/develop/setup-pptp-server-on-centos/

https://linuxconfig.org/how-to-establish-pptp-vpn-client-connection-on-centos-rhel-7-linux