Topik ini menjelaskan cara menyiapkan Point-to-Point Tunneling Protocol (PPTP) VPN pada instans Elastic Compute Service (ECS) yang menjalankan Ubuntu.
Prasyarat
Topik ini berlaku untuk Ubuntu 18.04, Ubuntu 20.04, dan Ubuntu 22.04.
Topik ini menggunakan contoh instans ECS yang menjalankan Ubuntu 18.04. Untuk informasi selengkapnya tentang cara membuat instans ECS, lihat Create an instance using the wizard.
Aturan inbound ditambahkan ke security group instans untuk mengizinkan lalu lintas pada port 1723 dan melalui protokol Generic Routing Encapsulation (GRE) dari alamat IP publik klien VPN. Untuk informasi selengkapnya, lihat Add a security group rule.
Konfigurasikan server VPN
Login ke instans ECS yang berfungsi sebagai server PPTP dan konfigurasikan server PPTP pada Ubuntu. Untuk informasi selengkapnya tentang cara login secara remote ke instans ECS, lihat Connect to a Linux instance.
Konfigurasikan layanan PPTP
Jalankan perintah berikut untuk menginstal pptpd.
sudo apt-get update sudo apt-get -y install pptpdKonfigurasikan file pptpd. File ini menetapkan rentang alamat IP untuk klien yang terhubung ke server PPTP, sehingga setiap perangkat yang terhubung menerima alamat IP unik.
Jalankan perintah
sudo vim /etc/pptpd.confdan tambahkan konfigurasi berikut:localip 192.168.0.1 remoteip 192.168.0.234-238Catatanlocalip menentukan alamat server VPN yang dihubungi oleh klien. Tetapkan nilai ini ke Alamat IP pribadi server dan sesuaikan sesuai kebutuhan.
remoteip menentukan rentang alamat IP yang dialokasikan untuk klien PPTP. Pastikan tidak ada perangkat lain yang menggunakan alamat IP ini untuk menghindari konflik, dan sesuaikan nilainya sesuai kebutuhan.
Setelah menambahkan konfigurasi, isi file akan tampak seperti pada gambar berikut:

Konfigurasikan DNS.
Jalankan perintah
sudo vim /etc/ppp/pptpd-optionsdan tambahkan konfigurasi berikut:ms-dns 223.5.5.5 ms-dns 223.6.6.6CatatanAlamat IP 223.5.5.5 dan 223.6.6.6 adalah server DNS publik Alibaba Cloud. Anda dapat menggantinya dengan server DNS publik lain sesuai kebutuhan.
Setelah menambahkan konfigurasi, isi file akan tampak seperti pada gambar berikut:

Buat pengguna. Pengguna ini digunakan untuk verifikasi identitas saat menghubungkan ke server PPTP, sehingga hanya pengguna yang berwenang yang dapat mengakses sistem melalui koneksi dial-up atau jaringan.
Jalankan perintah
sudo vim /etc/ppp/chap-secretsuntuk menambahkan username dan password untuk pptpd. Tambahkan akun dalam formatusername pptpd password IP_address. Pastikan setiap item dipisahkan oleh spasi dan hanya tambahkan satu akun pengguna per baris.CatatanContoh: test pptpd 123456 *. Tanda bintang (*) menunjukkan semua alamat IP.
test pptpd 123456 *Setelah menambahkan konfigurasi, isi file akan tampak seperti pada gambar berikut:

Aktifkan IP forwarding
Jalankan perintah berikut untuk mengaktifkan forwarding.
sudo echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.confJalankan perintah berikut untuk memuat parameter sistem.
sudo sysctl -p "/etc/sysctl.conf"
Konfigurasikan aturan pengalihan firewall iptables
Di Ubuntu, aturan yang dijalankan langsung menggunakan iptables bersifat sementara dan akan hilang setelah instans ECS restart. Gunakan paket iptables-persistent untuk menyimpan aturan iptables dan memuatnya secara otomatis saat sistem dinyalakan.
Jalankan perintah berikut untuk menginstal
iptables-persistent.sudo apt-get install iptables-persistent -ySelama instalasi, Anda akan diminta apakah ingin menyimpan aturan saat ini. Pilih
yes.Tambahkan aturan iptables.
sudo iptables -A INPUT -p gre -j ACCEPT sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 47 -j ACCEPT sudo iptables -t nat -A POSTROUTING -s 192.168.0.234/29 -o eth0 -j SNAT --to-source XXX.XXX.XXX.XXXCatatan192.168.0.234/29menentukan rentang alamat IP pribadi klien VPN. Ubah sesuai kebutuhan. XXX.XXX.XXX.XXX adalah alamat IP publik instans ECS Anda.Simpan aturan iptables.
sudo netfilter-persistent save(Opsional) Lihat aturan iptables.
# View detailed rules. sudo iptables -L -v # View the rules in the nat table. sudo iptables -t nat -L -v
Restart layanan PPTP
sudo /etc/init.d/pptpd restart
sudo systemctl enable pptpd.serviceKonfigurasikan klien VPN
Jalankan perintah berikut untuk menginstal perangkat lunak klien PPTP.
sudo apt-get update sudo apt-get -y install pptp-linuxJalankan perintah berikut untuk menginisialisasi saluran koneksi VPN bernama test.
sudo pptpsetup --create test --server [$IP] --username [$User] --password [$Password] --encrypt --startCatatan[$IP] adalah alamat IP publik instans ECS yang berfungsi sebagai server PPTP.
[$User] adalah username pengguna yang dibuat di server PPTP. Untuk informasi selengkapnya tentang cara mendapatkan username, lihat Create a user.
[$Password] adalah password pengguna yang dibuat di server PPTP. Untuk informasi selengkapnya tentang cara mendapatkan password, lihat Create a user.
Jika koneksi berhasil, output berikut dikembalikan:
Using interface ppp0 Connect: ppp0 <--> /dev/pts/1 CHAP authentication succeeded MPPE 128-bit stateless compression enabled local IP address 192.168.0.234 remote IP address 192.168.0.1