Pendahuluan
Di era di mana Deep Packet Inspection (DPI) semakin canggih, banyak protokol VPN seperti WireGuard yang dapat diblokir oleh ISP atau pemerintah. WireGuard sendiri menggunakan protokol UDP yang mudah dideteksi karena pola paketnya yang khas. Untuk mengatasi hal ini, UDP2Raw dapat digunakan untuk mengenkapsulasi lalu lintas WireGuard agar terlihat seperti koneksi biasa (misalnya TCP atau ICMP), sehingga lebih sulit dideteksi oleh sistem DPI.
Dalam artikel ini, kita akan membahas cara mengimplementasikan UDP2Raw bersama WireGuard untuk membypass DPI.
Apa Itu UDP2Raw?
UDP2Raw adalah tool yang memungkinkan pengguna untuk mengubah paket UDP menjadi paket TCP, ICMP, atau UDP dengan enkripsi tambahan. Ini berguna untuk:
-
Menyembunyikan VPN (WireGuard) dari DPI.
-
Mengurangi risiko pemblokiran oleh ISP.
-
Menambahkan lapisan obfuscation (pengaburan) untuk lalu lintas jaringan.
Persyaratan
Sebelum memulai, pastikan Anda memiliki:
-
Server Linux (misalnya VPS dengan Ubuntu/Debian).
-
Client Linux/Windows (untuk koneksi ke server).
-
WireGuard sudah terinstal dan terkonfigurasi di server dan client.
-
UDP2Raw terinstal di kedua sisi (server & client).
Langkah 1: Instalasi UDP2Raw
Di Server dan Client (Linux)
# Clone repositori UDP2Raw git clone https://github.com/wangyu-/udp2raw.git cd udp2raw # Kompilasi dari source make # Install dependensi jika diperlukan sudo apt update && sudo apt install -y libnetfilter-queue-dev
Di Windows (Client)
Unduh binary UDP2Raw dari sini dan ekstrak.
Langkah 2: Konfigurasi WireGuard
Pastikan WireGuard sudah berjalan normal di server dan client. Contoh konfigurasi WireGuard (/etc/wireguard/wg0.conf
):
Server
[Interface] PrivateKey = [SERVER_PRIVATE_KEY] Address = 10.0.0.1/24 ListenPort = 51820 [Peer] PublicKey = [CLIENT_PUBLIC_KEY] AllowedIPs = 10.0.0.2/32
Client
[Interface] PrivateKey = [CLIENT_PRIVATE_KEY] Address = 10.0.0.2/24 [Peer] PublicKey = [SERVER_PUBLIC_KEY] Endpoint = 127.0.0.1:51820 # Akan di-forward oleh UDP2Raw AllowedIPs = 0.0.0.0/0
Langkah 3: Menjalankan UDP2Raw
Di Server
sudo ./udp2raw_amd64 -s -l0.0.0.0:50000 -r 127.0.0.1:51820 -k "passwordkuat" --raw-mode faketcp -a
Penjelasan Flag:
-
-s
= Mode server. -
-l0.0.0.0:50000
= Dengarkan di port 50000. -
-r127.0.0.1:51820
= Forward ke WireGuard di port lokal 51820. -
-k "passwordkuat"
= Password untuk enkripsi. -
--raw-mode faketcp
= Paket UDP dikemas seperti TCP. -
-a
= Auto-mengatasi perubahan MTU.
Di Client
sudo ./udp2raw_amd64 -c -l0.0.0.0:51820 -r[SERVER_IP]:50000 -k "passwordkuat" --raw-mode faketcp -a
Penjelasan Flag:
-
-c
= Mode client. -
-l0.0.0.0:51820
= WireGuard client akan konek ke localhost:51820. -
-r[SERVER_IP]:50000
= Server UDP2Raw tujuan. -
-k "passwordkuat"
= Harus sama dengan server.
Langkah 4: Menghubungkan WireGuard ke UDP2Raw
-
Di client, ubah
Endpoint
di konfigurasi WireGuard menjadi127.0.0.1:51820
karena UDP2Raw akan meneruskan koneksi. -
Mulai ulang WireGuard:
sudo wg-quick down wg0 && sudo wg-quick up wg0
Verifikasi Koneksi
-
Cek status WireGuard:
sudo wg
-
Pantau lalu lintas UDP2Raw:
sudo tcpdump -i eth0 'port 50000'
Jika berhasil, paket akan terlihat seperti koneksi TCP biasa.
Keuntungan Menggunakan UDP2Raw + WireGuard
-
Anti DPI: Lalu lintas WireGuard tidak terdeteksi sebagai VPN.
-
Enkripsi Tambahan: UDP2Raw menambahkan lapisan enkripsi sendiri.
-
Fleksibel: Bisa menggunakan mode
faketcp
,udp
, atauicmp
.
Kesimpulan
Dengan UDP2Raw, kita bisa membuat koneksi WireGuard lebih sulit dideteksi oleh sistem DPI. Solusi ini sangat berguna di negara dengan pembatasan internet ketat. Jika diimplementasikan dengan benar, kombinasi WireGuard + UDP2Raw memberikan kecepatan dan keamanan tanpa mudah diblokir.
Catatan: Pastikan untuk menggunakan password yang kuat dan mengganti port default untuk keamanan tambahan.
Selamat mencoba! 🚀