CARI
KATEGORI
KATEGORI
Home / FORUM / All / Tech / Computer Stuff /
Cara membuat VPN dari RaspberryPi
KASKUS
51
244
https://www.kaskus.co.id/thread/5e37da944601cf01d45f4d87/cara-membuat-vpn-dari-raspberrypi

Cara membuat VPN dari RaspberryPi

Pada artikel kali ini kita akan membahas bagaimana Cara membuat VPN dari RaspberryPi

pertama-tama pasti ada yang bertanya,apa sih RaspberryPi?
Apa itu VPN? RaspberryPi adalah sebuah perangkat elektronika yang memang di rancang seperti komputer atau sebut saja komputer mini.

Dan apakah itu VPN? singkatan dari Virtual Private Network sesuai namanya,jaringan pribadi virtual,dimana akan memberi kita akses internet dalam sebuah jaringan pribadi/rahasia dengan cara meng-enkapsulasi paket jaringan yang kita gunakan.

Nah,dalam kasus ini,fungsi terbesar kita adalah menggunakan wireguard 

Apa itu wireguard? Wireguard adalah sebuah software berbasis open source yang memiliki protokol komunikasi yang dapat mengimplementasikan VPN yang menjadikan sebuah jaringan p2p (point-to-point) melalui koneksi yang di konfigurasi secara routing maupun bridge (virtual).

Nah,pada linux kerenel 5.6.x wireguard sudah include secara default
Di sini,penulis menggunakan RaspberryPi 3 dengan RAM 4Gbyang akan kita integrasikan dengan LTE-Router atau APN yang dari Raspberry juga.

Skenario

Jadi,skenarionya begini,Raspberry Pi 3 dengan LTE system, menggunakan public IP Address. yang akan jadi VPN Server,di postingan ini kita kasih nama 'koneksi'
Dan yang HP Android akan di haruskan menggunakan VPN untuk online

Setiap perangkat yang terhubung ke VPN harus bisa konek ke semua perangkat lain
contoh,hp saya harus bisa konek ke web server yang running di laptop
selama dua-duanya juga pakai vpn

Tadinya sempat berpikir,kalau instalasinya mudah,kayaknya seru,kalau tambahin desktop konek ke lan (Ethernet) ke VPN juga.

Mengingat bahwa koneksi lan dan wifi ini kayaknya jadi lebih gak aman lama kelamaan (biasanya di sesuaikan dengan serangan CRACK terhadap WPA2 atau metode hacking Dragonblood terhadap WPA3) 

Jadinya mulai mensiasati buat pakai wireguard buat semua perangkat internet ini,terlepas di platform mana mereka running.

Install Paket Software

WireGuard menyediakan paket software yang sudah di compile untuk sebagian besar Distribusi Linux, Windows dan MacOS.

Aplikasi Android dan iOS disediakan melalui berbagai apps store (google play store/apple store dll) Di sini saya pakai Fedora 31 secara virtual yang kemudian menggunakan wireguard lalu di install

Note :
Bahwaa paket wireguard-dkms (driver yang ada networknya)
tidak secara default ada di paket distribusi repositori.

Jadi cara nginstallnya begini
sudo dnf copr enable jdoss/wireguard
sudo dnf install wireguard-dkms wireguard-tools

Nah,pada Raspberry Pi saya pakai Raspbian Buster, distribusi ini sudah termasuk paket wireguard 

Cara install :
apt install wireguard

Kalau di Hp android, tinggal dari Google Store buat instal Aplikasi VPN WireGuard.

Key Setup

Pada dasarnya wireguard di buat menggunakan skema private/public key sederhana buat autentikasi vpn client.

Anda dapat dengan mudah membuat kunci VPN dengan perintah berikut:

wg genkey | tee wg-laptop-private.key |  wg pubkey > wg-laptop-public.key
wg genkey | tee wg-server-private.key |  wg pubkey > wg-server-public.key
wg genkey | tee wg-mobile-private.key |  wg pubkey > wg-mobile-public.key

Di sini memberi kita tiga keypairs (dan karenanya enam file sama sekali).
Kita sebagai pengguna tidak bisa merujuk ke file-file di dalam file konfigurasi mengkopi isinya  (yang hanya satu baris yang merupakan kunci base64-encoded) di file konfigurasi.

Membuat file konfigurasi untuk Server VPN (Raspberry Pi)
Konfignya relatif, saya baru saja membuat file berikut di /etc/wireguard/wg0.conf
Dan isinya seperti ini :

[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = <copy private key from wg-server-private.key>
PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wwan0 -j MASQUERADE

[Peer]
# laptop
PublicKey = <copy public key from wg-laptop-public.key>
AllowedIPs = 10.200.200.2/32

[Peer]
# mobile phone
PublicKey = <copy public key from wg-mobile-public.key>
AllowedIPs = 10.200.200.3/32

Beberapa catatan:

Silakan isi nilai dari file kunci yang dibuat Saya buat jaringan VPN yang pakai 10.200.200.0/24 untuk rentang IP internal server saya pakai wwan0 buat Network Interface Eksternal di PostUp / PostDown-Commands tinggal di sesuaikan dengan kebutuhan anda bisa jadi eth0

commandnya :

sudo wg-quick up wg0

Catatan :

Di sini saya pakai dnsmasq sebagai server DNS dan sudah ter aplikasikan ke antarmuka jaringan br0.  yang akan melimitasi request DNS dari device yang terhubung vpn jadinya saya memberikan izin ke perangkat Ethernet wg0 wireguard ke daftar perangkat yang diizinkan. 

Di dnsmasq,pembaca dapat melakukan ini dengan menambahkan baris config baru ke /etc/dnsmasq.conf dengan network interface misal :

interface=br0
interface=wg0

Selain itu, saya tambahkan juga beberapa rules iptable untuk membiarkan ada traffic ke port UDP yang LISTEN di port 51280:

sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT

Setelah semuanya berfungsi, kita bisa menggunakan systemd untuk secara otomatis jadi startup VPN tunnel:

sudo systemctl enable wg-quick@wg0.service

Konfigurasi klien di Laptop

Sebagian besar pengaturan Laptop terdiri dari make file konfigurasi laptop yang 

biasanya ada di /etc/wireguard/wg0.conf :

[Interface]
Address = 10.200.200.2/24
PrivateKey = <copy private key from wg-laptop-private.key>

[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 10.200.200.0/24
Endpoint = koneksi:51820

Beberapa catatan:

VPN Server ini harus berupa alamat IP publik atau host name publik dari server VPN
Dengan mengatur AllowedIPS ke 10.200.200.0/24 kita hanya memakai VPN untuk mengakses jaringan VPN internal. 

Semua traffic yang mengarah ke keseluruhan IPs/server lain masih akan menggunakan internet publik "normal".

yang mana DNS-Server nya juga yang dikonfigurasi pada Laptop yang akan digunakan.

Kita bisa pakai command wg-quick dan systemd yang sama untuk testing serta untuk pengaturan koneksi otomatis:

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0.service

Konfigurasi klien di Ponsel Android

Kita juga pakai file konfigurasi yang mirip dengan ponsel Android
Isinya adalah (kita kasih nama mobile.conf) di server melalui ssh:

[Interface]
Address = 10.200.200.3/24
PrivateKey = <copy private key from wg-mobile-private.key>
DNS = 10.200.200.1
       
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 0.0.0.0/0
Endpoint = koneksi:51820

Beda sekali dengan settingan di laptop kita memaksa perangkat seluler untuk menggunakan server VPN kami sebagai server DNS 

(yang mana itu buat settingan DNS) serta menggunakan VPN Tunnel yang baru
buat semua traffic (dengan menggunakan 0.0.0.0/0 sebagai wildcard untuk AllowedIPs) .

ketikkan lagi perintah :

sudo apt install qrencode
qrencode -t ansiutf8 < mobile.conf

yang akan menghasilkan ASCII QRCode di terminal/shell linux
setelah jadi barcode,tinggal di scan aja pakai aplikasi android
yang akan otomatis jadi VPN Tunnel.


Selamat Mencoba. 

Sumber : http://mcd.co.id/news/cara-membuat-v...ri-RaspberryPi


GDP Network
© 2020 KASKUS, PT Darta Media Indonesia. All rights reserved
Ikuti KASKUS di