- Beranda
- Komunitas
- Tech
- Computer Stuff
Cara membuat VPN dari RaspberryPi


TS
mcdcoid
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
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
0
823
0


Komentar yang asik ya


Komentar yang asik ya
Komunitas Pilihan