Learn PPTP - Pre-Requisites Skill & Setup Environment
Series/Learn PPTP/Episode 0
Episode 0 of 23

Learn PPTP - Pre-Requisites Skill & Setup Environment

Before building a PPTP tunnel, you need to master networking fundamentals such as IP routing, NAT, and firewalls, plus Linux experience with systemd and package managers. In this episode you set up two Linux VMs, install pptpd and pptp-linux, and verify that the GRE module is available in the kernel.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Introduction

Welcome to the Learn PPTP series! This series takes you deep into PPTP (Point-to-Point Tunneling Protocol) — from its architecture, configuration, and security weaknesses to its legacy context — so you are ready to troubleshoot old environments and decide when it is time to move to a modern VPN.

PPTP is a protocol more than two decades old that Microsoft, NIST, and the security community now consider insecure. Yet a huge number of enterprise networks still run it. Understanding how it works is just as important as understanding how to turn it off, because legacy devices are not going to disappear overnight.

Episode 0 is the roadmap: you will confirm your foundational skills, set up two Linux VMs, install the pptpd server and pptp-linux client, and run your first verification. Once this episode is done, you can follow the rest of the series comfortably.

Networking Skills You Must Master

IP Addressing and Routing

PPTP is a tunneling protocol that works on top of IP. You must understand IP addresses, subnet masks, gateways, and routing tables. When the tunnel is active, two networks are involved at once: the original physical network and the virtual PPTP network that uses addresses from the remoteip pool.

Get used to reading the routing table to confirm the direction of traffic:

Melihat tabel routing
ip route show
ip addr show

The output of ip route show shows the default gateway, while ip addr show lists the IP addresses of all interfaces. You will use both constantly when verifying the tunnel in episode 7.

NAT and Firewalls

PPTP has two paths that must be open on the firewall: TCP 1723 for the control channel and GRE protocol 47 for the data channel. You should be comfortable with at least iptables or nftables, because the most common mistake is opening TCP 1723 while forgetting to open GRE.

NAT matters too. A PPTP server behind a NAT router requires special configuration, because GRE does not play well with NAT. We will cover this topic fully in episode 16.

Linux and PPP Skills

systemd and Package Managers

You will work with the pptpd service, managed by systemd. Make sure basic commands such as systemctl start, systemctl enable, and journalctl feel familiar. On the package manager side, this series uses Debian/Ubuntu-based distributions, so apt is the main tool.

PPP Concepts

PPP (Point-to-Point Protocol) is the foundation of PPTP. Understand that a PPTP tunnel is really a PPP session wrapped in GRE. Concepts you must master: the authentication phase, LCP (Link Control Protocol) options, and NCP (Network Control Protocol). Full details are in episode 4.

What You Need to Prepare

Two Linux VMs

You need two Linux VMs on the same network:

  • Server VM: runs pptpd, acting as the VPN server.
  • Client VM: runs pptp-linux, acting as the client.

In addition, keep one device with the built-in Windows PPTP client as an alternative test target. Note: Microsoft has already removed PPTP support from the latest Windows 11, so for modern environments you can use a Linux or macOS client instead.

Verifying GRE Kernel Support

Before installing anything, make sure the kernel supports GRE (Generic Routing Encapsulation), which the PPTP data channel uses:

Cek modul GRE di kernel
sudo modprobe ip_gre
lsmod | grep gre

If lsmod | grep gre shows a line containing ip_gre, GRE support is available. If not, your kernel needs an additional module — this is rare on modern distributions, but worth checking first.

Environment Setup

Installing Packages on Server and Client

On both VMs, update the package index and install the required packages:

Install pptpd di server dan pptp-linux di client
sudo apt update
sudo apt install -y pptpd ppp
sudo apt install -y pptp-linux

On the server, pptpd brings the PoPToP daemon plus pppd as the PPP engine. On the client, pptp-linux provides the pptp binary and the pptpsetup helper for managing connections.

Setting Up Network Identity

To make things easy to recognize, assign static IP addresses to both VMs. For example: the server uses 192.168.1.10 and the client uses 192.168.1.20, both on the same subnet.

Verifikasi konektivitas antar VM
ping -c 3 192.168.1.10

Test connectivity with ping -c 3 192.168.1.10 before moving on. If packets reach each other, your network foundation is ready.

Readiness Check

Before closing episode 0, run this verification checklist:

  • Both VMs can ping each other using static IP addresses.
  • pptpd is installed on the server and pptp-linux is installed on the client.
  • The ip_gre module is loaded in the kernel on both server and client.
  • You can read routing tables and basic firewall rules.

If everything checks out, your environment is ready for the episodes that follow.

Closing

In episode 0 you prepared the entire foundation: the networking and Linux skills you need, two VMs that can reach each other, the pptpd and pptp-linux packages installed, and verified GRE support in the kernel.

Key takeaways:

  • PPTP runs over TCP 1723 for the control channel and GRE protocol 47 for the data channel.
  • You must understand IP addressing, routing, NAT, firewalls, and PPP concepts.
  • Set up two Linux VMs that can ping each other using static IPs.
  • Verify ip_gre module support before installing anything.
  • pptpd is installed on the server; pptp-linux is installed on the client.
  • Additional testing with the built-in Windows PPTP client is highly recommended.

In the next episode, episode 1, we will discuss the history, background, and why PPTP was created — from Microsoft's remote access needs in the 1990s, the birth of RFC 2637, to its massive adoption on Windows and in enterprise environments through the 2000s. Make sure both VMs are ready, because the Learn PPTP journey has only just begun!

Learn PPTP - Pre-Requisites Skill & Setup Environment | Learn PPTP