Cara Mengubah Raspberry Pi Menjadi VPN

Mengapa Menggunakan VPN Untuk Mengakses Rumah Anda

Ada banyak alasan mengapa Anda ingin mengakses jaringan rumah Anda dari jarak jauh, dan cara terbaik untuk melakukannya adalah dengan server VPN. Beberapa router benar-benar memungkinkan Anda mengatur server VPN langsung di dalam router, tetapi dalam banyak kasus, Anda harus mengaturnya sendiri.

A Raspberry Pi adalah cara yang bagus untuk melakukannya. Mereka tidak memerlukan banyak energi untuk menjalankannya, dan mereka memiliki daya yang cukup untuk menjalankan server VPN. Anda dapat mengaturnya di sebelah router Anda dan pada dasarnya melupakannya.

Ketika Anda memiliki akses ke jaringan rumah Anda dari jarak jauh, Anda dapat mengakses file Anda dari mana saja. Anda dapat menjalankan komputer rumah Anda dari jarak jauh. Anda bahkan dapat menggunakan koneksi VPN rumah Anda dari jalan. Pengaturan seperti ini memungkinkan ponsel, tablet, atau laptop Anda bertindak seperti di rumah dari mana saja. Penawaran Terbatas
: GRATIS 3 bulan! Dapatkan ExpressVPN. Aman dan ramah streaming.Jaminan uang kembali 30 hari
Menyiapkan Pi

Sebelum Anda dapat mulai menyiapkan VPN, Anda harus menyetel Raspberry Pi Anda. Yang terbaik adalah mengatur Pi dengan kasing dan kartu memori ukuran yang layak, 16GB harus lebih dari cukup. Jika memungkinkan, sambungkan Pi Anda ke router dengan kabel Ethernet. Ini akan meminimalkan penundaan jaringan.
Install Raspbian

Sistem operasi terbaik untuk digunakan pada Pi Anda adalah Raspbian. Ini adalah pilihan default yang dikeluarkan oleh yayasan Raspberry Pi, dan didasarkan pada Debian, salah satu versi Linux paling aman dan stabil yang tersedia.

Buka halaman unduh Rasbian, dan ambil versi terbaru. Anda dapat menggunakan versi “Lite” di sini, karena Anda sebenarnya tidak memerlukan desktop grafis.
Penawaran Terbatas: GRATIS 3 bulan! Dapatkan ExpressVPN. Aman dan ramah streaming.Jaminan uang kembali 30 hari

Saat mengunduh, dapatkan Etcher versi terbaru untuk sistem operasi Anda. Setelah unduhan selesai, ekstrak gambar Raspbian. Kemudian, buka Etcher. Pilih gambar Raspbian dari tempat Anda mengekstraknya. Pilih kartu SD Anda (Masukkan terlebih dahulu). Terakhir, tulis gambar ke kartu.

Tinggalkan kartu SD di komputer Anda setelah selesai. Buka pengelola file dan telusuri ke kartu. Anda akan melihat beberapa partisi yang berbeda. Cari partisi “boot”. Itu yang memiliki file “kernel.img” di dalamnya. Buat file teks kosong di partisi “boot”, dan beri nama “ssh” tanpa ekstensi file.

Anda akhirnya dapat menghubungkan Pi Anda. Pastikan Anda mencolokkannya terakhir. Anda tidak akan membutuhkan layar, keyboard, atau mouse. Anda akan mengakses Raspberry Pi dari jarak jauh melalui jaringan Anda. Penawaran Terbatas
: GRATIS 3 bulan! Dapatkan ExpressVPN. Aman dan ramah streaming.Jaminan uang kembali 30 hari

Berikan waktu beberapa menit untuk Pi menyiapkan diri. Kemudian, buka browser web dan navigasikan ke layar manajemen router Anda. Temukan Raspberry Pi dan catat alamat IP-nya.

Apakah Anda menggunakan Windows, Linux, atau Mac, buka OpenSSH. Hubungkan ke Raspberry Pi dengan SSH.

$ ssh [email protected]

Jelas, gunakan alamat IP sebenarnya dari Pi. Nama pengguna selalupi, dan kata sandinya adalah raspberry.
Menyetel OpenVPN

OpenVPN tidak sepenuhnya sederhana untuk disiapkan sebagai server. Kabar baiknya, Anda hanya perlu melakukannya sekali. Jadi, sebelum Anda menggali, pastikan bahwa Raspbian benar-benar mutakhir.

$ sudo apt update $ sudo apt upgrade

Setelah pembaruan selesai, Anda dapat menginstal OpenVPN dan utilitas sertifikat yang Anda butuhkan.

$ sudo apt install openvpn easy- rsa

Certificate Authority

Untuk mengautentikasi perangkat Anda saat mencoba menyambung ke server, Anda perlu menyiapkan otoritas sertifikat untuk membuat kunci penandatangan. Kunci ini akan memastikan bahwa hanya perangkat Anda yang dapat terhubung ke jaringan rumah Anda.

Pertama, buat direktori untuk sertifikat Anda. Pindah ke direktori tersebut.

$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs

Cari file konfigurasi OpenSSL. Kemudian, tautkan yang terbaru dengan openssl.cnf.

$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf

Dalam folder “certs” yang sama itu ada file bernama “vars.” Buka file itu dengan editor teks Anda. Nano adalah default, tetapi jangan ragu untuk menginstal Vim, jika Anda lebih nyaman dengannya.

Temukan variabel KEY_SIZE terlebih dahulu. Ini diatur ke 2048 secara default. Ubah ke 4096.

export KEY_SIZE=4096

Blok utama yang perlu Anda tangani menetapkan informasi tentang otoritas sertifikat Anda. Akan membantu jika info ini akurat, tetapi apa pun yang Anda ingat baik-baik saja.

export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Fort-Funston" export KEY_EMAIL="[email protected ]" export KEY_OU="MyOrganizationalUnit" export KEY_NAME="HomeVPN"

Jika Anda memiliki semuanya, simpan dan keluar.

Paket Easy-RSA yang Anda instal sebelumnya berisi banyak skrip yang membantu menyiapkan semua yang Anda butuhkan. Anda hanya perlu menjalankannya. Mulailah dengan menambahkan file “vars” sebagai sumber. Itu akan memuat semua variabel yang baru saja Anda atur.

$ sudo source ./vars

Selanjutnya, bersihkan kuncinya. Anda tidak memilikinya, jadi jangan khawatir tentang pesan yang memberi tahu Anda bahwa kunci Anda akan dihapus.

$ sudo ./clean-installl

Terakhir, bangun otoritas sertifikat Anda. Anda sudah mengatur default, jadi Anda bisa menerima default yang disajikan. Ingatlah untuk mengatur kata sandi yang kuat dan jawab “ya” untuk dua pertanyaan terakhir, dengan mengikuti kata sandi.

$ sudo ./build-ca

Make Some Keys

Anda mengalami semua kesulitan itu untuk menyiapkan otoritas sertifikat sehingga Anda dapat menandatangani kunci. Sekarang, saatnya untuk membuat beberapa. Mulailah dengan membuat kunci untuk server.

$ Anda sudo ./build-key-server server

Selanjutnya, buat PEM Diffie-Hellman. Itulah yang digunakan OpenVPN untuk mengamankan koneksi klien Anda ke server.

$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem

Kunci terakhir yang Anda perlukan mulai sekarang disebut kunci HMAC. OpenVPN menggunakan kunci ini untuk menandatangani setiap paket informasi yang dipertukarkan antara klien dan server. Ini membantu untuk mencegah jenis serangan tertentu pada koneksi.

$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key

Server Configuration

Anda memiliki kuncinya. Bagian selanjutnya dalam menyiapkan OpenVPN adalah konfigurasi server itu sendiri. Untungnya, tidak banyak yang perlu Anda lakukan di sini. Debian menyediakan konfigurasi dasar yang dapat Anda gunakan untuk memulai. Jadi, mulailah dengan mendapatkan file konfigurasi itu.

$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

Gunakan teks Anda editor lagi untuk membuka /etc/openvpn/server.conf. Hal pertama yang perlu Anda temukan adalah file ca, cert, dan key. Anda perlu mengaturnya agar sesuai dengan lokasi sebenarnya dari file yang Anda buat, yang semuanya ada di /etc/openvpn/certs/keys.

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs /keys/server.crt key /etc/openvpn/certs/keys/server.key # File ini harus disimpan secara rahasia

Temukan pengaturan dh, dan ubah agar sesuai dengan Diffie-Hellman .pem yang Anda buat.

dh dh4096.pem

Setel jalur untuk kunci HMAC Anda juga.

tls-auth /etc/openvpn/certs/keys/ta.key 0

Temukan sandi dan pastikan cocok dengan contoh di bawah ini.

cipher AES-256-CBC

Beberapa opsi berikutnya ada di sana, tetapi mereka’ kembali dikomentari dengan ;. Hapus titik koma di depan setiap opsi untuk mengaktifkannya.

push "redirect-gateway def1 bypass-dhcp" tekan "dhcp-option DNS 208.67.222.222" tekan "dhcp-option DNS 208.67.220.220"

Cari opsi pengguna dan grup. Batalkan komentar mereka, dan ubah pengguna menjadi “openvpn.”

user openvpn group nogroup

Terakhir, dua baris terakhir ini tidak dalam konfigurasi default. Anda harus menambahkannya di akhir file.

Mengatur intisari otentikasi untuk menentukan enkripsi yang lebih kuat untuk otentikasi pengguna.

# Ringkasan Otentikasi auth SHA512

Kemudian, batasi ciper yang dapat digunakan OpenVPN hanya untuk yang lebih kuat. Ini membantu membatasi kemungkinan serangan pada ciphers.

# Batas Ciphers tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS- DHE-RSA-DENGAN-AES-256-CBC-SHA:TLS-DHE-RSA-DENGAN-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE- RSA-DENGAN-CAMELLIA-128-CBC-SHA

Itu saja untuk konfigurasi. Simpan file dan exit.
Start Server

Sebelum Anda dapat memulai server, Anda harus membuat pengguna openvpn yang Anda tentukan.

$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn

Ini adalah pengguna khusus hanya untuk menjalankan OpenVPN, dan itu tidak akan melakukan hal lain.

Sekarang, mulai server.

$ sudo systemctl start openvpn $ sudo systemctl start [email protected]

Periksa apakah keduanya menjalankan

$ sudo systemctl status openvpn*.service

Jika semuanya terlihat baik, aktifkan di startup.

$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]

Client Setup

Server Anda telah disiapkan dan dijalankan. Selanjutnya, Anda perlu mengatur konfigurasi klien Anda. Ini adalah konfigurasi yang akan Anda gunakan untuk menghubungkan perangkat Anda ke server Anda. Kembali ke folder certs dan bersiaplah untuk membuat kunci klien. Anda dapat memilih untuk membuat kunci terpisah untuk setiap klien atau satu kunci untuk semua klien. Untuk penggunaan di rumah, satu kunci harus fine.

$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client

Prosesnya hampir identik dengan server satu, jadi ikuti prosedur yang sama.
Client Configuration

The konfigurasi untuk klien sangat mirip dengan yang untuk server. Sekali lagi, Anda memiliki template yang sudah jadi untuk mendasarkan konfigurasi Anda. Anda hanya perlu memodifikasinya agar sesuai dengan server.

Change ke direktori klien. Kemudian, buka paket sample configuration.

$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn

Buka file client.ovpn dengan editor teks Anda. Kemudian, temukan opsi jarak jauh. Dengan asumsi Anda belum menggunakan VPN, pencarian Google “Apa IP saya.” Ambil alamat yang ditampilkannya, dan atur alamat IP jarak jauhnya. Tinggalkan nomor port.

remote 107.150.28.83 1194 #Ironisnya IP itu adalah VPN

Ubah sertifikat untuk mencerminkan yang Anda buat, seperti yang Anda lakukan dengan server.

ca ca.crt cert client.crt key client.key

Temukan opsi pengguna dan batalkan komentar mereka. Tidak apa-apa untuk menjalankan klien sebagai none.

user none group nogroup

Uncomment opsi tls-auth untuk HMAC.

tls-auth ta.key 1

Selanjutnya, cari opsi cipher dan pastikan bahwa itu cocok dengan server.

cipher AES tambahkan saja intisari otentikasi dan batasan sandi di bagian bawah file.
# Authentication Digest auth SHA512 # Pembatasan Cipher tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH -AES-128-GCM-SHA256:TLS-DHE-RSA-DENGAN-AES-256-CBC-SHA:TLS-DHE-RSA-DENGAN-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-DENGAN-AES -128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

Ketika semuanya terlihat benar, simpan file dan keluar. Gunakan tar untuk mengemas konfigurasi dan sertifikat, sehingga Anda dapat mengirimkannya ke client.

$ sudo tar cJf /etc/openvpn/clients/client.tar.xz -C /etc/openvpn/certs/keys ca. crt client.crt client.key ta.key -C /etc/openvpn/clients/client.ovpn

Transfer paket itu ke klien sesuka Anda. SFTP, FTP, dan drive USB adalah opsi yang bagus. Penerusan Port

Agar semua ini berfungsi, Anda perlu mengonfigurasi router untuk meneruskan lalu lintas VPN yang masuk ke Pi. Jika Anda sudah menggunakan VPN, Anda perlu memastikan bahwa Anda tidak terhubung pada port yang sama. Jika ya, ubah port pada konfigurasi klien dan server Anda.

Hubungkan ke antarmuka web router Anda dengan mengetikkan alamat IP-nya di browser Anda.

Setiap router berbeda. Meski begitu, mereka semua harus memiliki beberapa bentuk fungsi ini. Temukan di router Anda.

Pengaturan pada dasarnya sama di setiap router. Masukkan port awal dan akhir. Mereka harus sama satu sama lain dan yang Anda atur dalam konfigurasi Anda. Kemudian, untuk alamat IP, setel ke IP Raspberry Pi Anda. Simpan perubahan Anda.
Hubungkan Ke Klien

Setiap klien berbeda, jadi tidak ada solusi universal. Jika Anda menggunakan Windows, Anda memerlukan klien Windows OpenVPN.

Di Android, Anda dapat membuka tarball Anda, dan mentransfer kunci ke ponsel Anda. Kemudian, instal aplikasi OpenVPN. Buka aplikasi, dan masukkan informasi dari file konfigurasi Anda. Kemudian pilih keys.

Di Linux, Anda perlu menginstal OpenVPN seperti yang Anda lakukan untuk server.

$ sudo apt install openvpn

Kemudian, ubah ke /etc/openvpn, dan buka paket tarball yang Anda kirim.

$ cd /etc /openvpn $ sudo tar xJf /path/to/client.tar.xz

Ganti nama file klien.

$ sudo mv client.ovpn client.conf

Jangan memulai klien. Ini akan gagal. Anda harus mengaktifkan penerusan porta pada router Anda terlebih dahulu.
Closing Thoughts

Anda sekarang harus memiliki pengaturan yang berfungsi. Klien Anda akan terhubung langsung melalui router Anda ke Pi. Dari sana, Anda dapat berbagi dan terhubung melalui jaringan virtual Anda, selama semua perangkat terhubung ke VPN. Tidak ada batasan, jadi Anda selalu dapat menghubungkan semua komputer Anda ke Pi VPN.