Episode ini membawa kalian dari nol hingga koneksi PPTP pertama: menginstall pptpd di server, mengonfigurasi /etc/pptpd.conf minimal, membuat user di /etc/ppp/chap-secrets, lalu menghubungkan client pptp-linux dan menguji dengan Windows built-in client.

Arsitektur sudah kalian pahami di episode 2. Sekarang waktunya kotor: menginstall, mengonfigurasi, dan membuat koneksi PPTP pertama yang benar-benar bekerja. Episode ini fokus pada jalur paling sederhana agar kalian melihat tunnel hidup.
Sepanjang episode, kita memakai dua VM dari episode 0: server dengan pptpd dan client dengan pptp-linux. Semua file konfigurasi yang kita ubah adalah file nyata yang dipakai PoPToP, jadi hasilnya bisa langsung kalian terapkan di lab masing-masing.
Pada distro Debian/Ubuntu, PoPToP tersedia di repositori resmi. Install cukup satu perintah:
sudo apt update
sudo apt install -y pptpd pppPaket ppp adalah dependency penting karena menyediakan pppd, mesin PPP yang menangani autentikasi dan alamat IP. Setelah install selesai, service pptpd sudah terdaftar di systemd meskipun belum aktif.
File utama server adalah /etc/pptpd.conf. Kita hanya perlu menetapkan dua hal: alamat IP yang dipakai server di dalam tunnel (localip) dan pool alamat untuk klien (remoteip).
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.1.10
remoteip 192.168.1.100-110Baris option /etc/ppp/options.pptpd memberitahu pptpd file opsi PPP mana yang dipakai. localip adalah alamat server di dalam tunnel, dan remoteip adalah rentang alamat yang dibagikan ke klien. Baca file ini dulu sebelum mengubah apapun, karena banyak direktif sudah ada dalam keadaan dikomentari.
Setelah konfigurasi tersimpan, restart service:
sudo systemctl restart pptpd
sudo systemctl status pptpdJika systemctl status pptpd menampilkan status active (running), daemon mendengarkan di port 1723. Lanjutkan dengan membuat user.
Akun dial-up PPTP disimpan di /etc/ppp/chap-secrets. Format setiap baris adalah: nama client, nama server, password, dan alamat IP yang boleh dipakai.
budi pptpd "S3curePassw0rd" *Baris di atas berarti user budi boleh terhubung ke server bernama pptpd (nilai direktif name di options.pptpd) dengan password yang ditentukan, dan boleh mendapatkan IP apa pun dari pool. Jangan pernah memakai password lemah untuk lab yang menyentuh jaringan nyata.
pppd membaca chap-secrets setiap kali sesi baru, jadi tidak perlu restart:
sudo grep -v "^#" /etc/ppp/chap-secretsGunakan grep -v "^#" /etc/ppp/chap-secrets untuk melihat baris aktif tanpa komentar dan pastikan user kalian ada di sana.
Di client, install pptp-linux, lalu buat profil koneksi dengan pptpsetup:
sudo apt install -y pptp-linux
sudo pptpsetup --create vpn-kerja --server 192.168.1.10 --username budi --password "S3curePassw0rd" --encrypt
sudo pptpsetup --connect vpn-kerjaOpsi --encrypt memberitahu client untuk menuntut enkripsi MPPE. Setelah --connect, cek interface tunnel:
ip addr show ppp0Jika ip addr show ppp0 menampilkan alamat 192.168.1.100 (atau alamat pertama pool), koneksi PPTP pertama kalian berhasil. Uji dengan ping ke alamat lokal server di dalam tunnel.
Untuk menguji dari Windows, buka Settings lalu bagian Network dan VPN. Tambah VPN dengan alamat server 192.168.1.10, jenis koneksi PPTP, dan masukkan kredensial budi. Windows menangani client PPTP bawaan tanpa software tambahan.
Catatan penting: di Windows 11 terbaru dan versi yang lebih baru, Microsoft sudah menghapus dukungan PPTP. Jika perangkat kalian tidak lagi menampilkan opsi PPTP, gunakan client Linux sebagai alternatif — dan jadikan ini pertimbangan untuk migrasi yang akan kita bahas di episode 19.
Episode 3 menyelesaikan tujuan paling praktis: server PPTP yang menerima koneksi, user yang valid, client Linux yang terhubung, dan uji koneksi dari Windows. Mulai dari sini, kalian punya lab PPTP yang hidup untuk dieksplorasi di episode-episode berikutnya.
Inti yang harus dibawa pulang:
pptpd dan ppp di server; pptp-linux di client./etc/pptpd.conf butuh localip, remoteip, dan option./etc/ppp/chap-secrets dengan format client server password IP.pptpsetup --create membuat profil, --connect menghubungkan.ppp0 muncul ketika sesi PPP berhasil.Di episode 4 selanjutnya kita akan membahas PPP dan mekanisme autentikasi — fase LCP dan NCP, perbedaan PAP, CHAP, dan MS-CHAPv2, serta mengapa MS-CHAPv2 yang dipakai PPTP sudah dapat dipecahkan.