PERINGATAN: PPTP ADALAH PROTOKOL KEAMANAN! Enkripsi tidak hanya dilanggar, tetapi mengirimkan otentikasi Anda dalam teks yang jelas dan mudah dicegat. Diperkirakan bahwa jumlah waktu yang diperlukan untuk brute-force kata sandi kira-kira sama dengan waktu yang diperlukan untuk brute-force satu kunci DES. Pertimbangkan untuk menggunakan OpenVPN atau arsitektur VPN lain sebagai ganti PPTP!
Saya menggunakan panduan ini untuk mengatur server PPTP VPN di server Ubuntu 12.04 saya.
Untuk meringkas poin utama dalam tautan, meskipun:
1: Instal pptpd
dan ufw
. iptables
dapat digunakan sebagai pengganti ufw, tetapi demi kemudahan, ufw
lebih baik jika Anda tidak tahu iptables
.
sudo apt-get install pptpd ufw
2: Buka port yang dibutuhkan. Panduan ini menyarankan 22 (SSH) dan 1723 untuk pptp vpn.
sudo ufw izinkan 22
sudo ufw izinkan 1723
sudo ufw aktifkan
3: Edit /etc/ppp/pptpd-options
. Buka file dengan editor favorit Anda (nano milik saya, jadi perintah untuk saya adalah sudo nano /etc/ppp/pptpd-options
), dan beri komentar pada baris-baris ini dengan meletakkan #
sebelum mereka, jika Anda ingin ini bekerja secara universal pada semua OS:
menolak-pap
menolak-chap
menolak-mschap
Anda dapat mengomentari baris ini jika Anda ingin menonaktifkan enkripsi: require-mppe-128
4: Saat mengedit /etc/ppp/pptpd-options
, tambahkan server DNS untuk VPN. Contoh ini menggunakan server OpenDNS:
ms-dns 208.67.222.222
ms-dns 208.67.220.220
5: Edit /etc/pptpd.conf
. Buka file dengan editor favorit Anda (nano milik saya, jadi perintah untuk saya adalah sudo nano /etc/pptpd.conf
). Anda perlu menambahkan IP VPN lokal untuk sistem, jadi tambahkan:
localip 10.99.99.99
remoteip 10.99.99.100-199
Jika sistem Anda adalah VPS, gunakan IP publik untuk "localip". Jika tidak dan berada di jaringan lokal, gunakan IP jaringan komputer Anda. Gunakan IP dan rentang yang berbeda jika IP ini ada di subnet Anda! Jika Anda tidak tahu IP publik VPS Anda, temukan dengan menjalankandig +short myip.opendns.com @resolver1.opendns.com
6: Edit /etc/ppp/chap-secrets
. Buka file dengan editor favorit Anda (nano milik saya, jadi perintah untuk saya adalah sudo nano /etc/ppp/chap-secrets
), dan tambahkan data auth.
Format untuk /etc/ppp/chap-secrets
adalah:
[Nama Pengguna] [Layanan] [Kata Sandi] [Alamat IP yang Diizinkan]
Contohnya adalah: sampleuser pptpd samplepassword *
7: Mulai ulang pptpd. Jalankan perintah ini di terminal:sudo /etc/init.d/pptpd restart
8: Edit /etc/sysctl.conf
. Buka file dengan editor favorit Anda (nano milik saya, jadi perintah untuk saya adalah sudo nano /etc/sysctl.conf
). Hapus komentar pada baris berikut (dengan menghapusnya #
di awal) di /etc/sysctl.conf
: net.ipv4.ip_forward=1
Muat ulang konfigurasi: sudo sysctl -p
9: Langkah ini mengasumsikan Anda memiliki ufw.
Edit /etc/default/ufw
dan ubah opsi DEFAULT_FORWARD_POLICY
dari DROP
menjadiACCEPT
10: Langkah ini mengasumsikan Anda memiliki ufw.
Edit /etc/ufw/before.rules
, dan tambahkan berikut ini baik di awal /etc/ufw/before.rules
atau tepat sebelum *filter
aturan (disarankan):
# Aturan tabel NAT
* nat
: PENERIMAAN POSTROUTING [0: 0]
# Izinkan penerusan lalu lintas ke eth0
-Sebuah POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE
# Memproses aturan tabel NAT
MELAKUKAN
Jika Anda memiliki kernel versi 3.18 dan yang lebih baru (Anda dapat memeriksanya dengan menjalankan uname -r
), tambahkan juga baris berikut sebelum # drop INVALID packets ...
baris:
-A ufw-before-input -p 47 -j ACCEPT
11: Mulai ulang firewall, untuk menyegarkan set aturan dan untuk menerapkan aturan yang kami tambahkan ke /etc/ufw/*.rules
file: sudo ufw disable && sudo ufw enable
Peringatan: Jika Anda memiliki port lain yang perlu Anda buka, seperti untuk HTTPS jika server Anda meng-host situs web, Anda perlu menambahkan masing-masing port tersebut ke daftar yang diizinkan dengansudo ufw allow <PORT>