Wireguard merupakan VPN yang sedang naik daun karena telah resmi masuk ke kernel 5.6. Instalasi dan konfigurasinya juga sederhana, yang perlu di perhatikan adalah penggunaan PublicKey dan PrivateKey antara client dan server, karena bila tertukar tidak akan bisa terhubung.
Ijinkan IP Forward
Agar client wireguard bisa mengakses client di server wireguard aktifkan ip forward.
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p
Disarankan untuk mengupdate system, karena wireguard dibuild dengan DKMS, saat ini kernel terbaru di Debian 9 adalah 4.9.0-12-amd64
apt update; apt upgrade -y
bila ada perubahan/update kernel, reboot server anda agar kernel paling baru yang digunakan.
Install kernel header
Install kernel header dari kernal yang sedang digunakan.
apt-get install linux-headers-$(uname -r)
Install Wireguard di Server dan Client
Karena saya menggunakan server dan client Debian 9, maka saya akan menjalankan perintah ini di keduanya.
echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable-wireguard.list printf 'Package: *\nPin: release a=unstable\nPin-Priority: 150\n' > /etc/apt/preferences.d/limit-unstable apt update apt install wireguard -y
Konfigurasi Wireguard
Generate private dan public key di server
umask 077 wg genkey | tee privatekey | wg pubkey > publickey
lihat privatekey dan publickey server
cat privatekey publickey # output 0B9+RC9UTi0ZCihnsqwh96fGFfo/saA7UJEzLG7qxlo= SF8vFdQintWc7au59VD+/5iHt6nTO6dKu0dcn/VBclM=
Wireguard Server
Buat file /etc/wireguard/wg0.conf
[Interface] # PrivateKey Server PrivateKey = 0B9+RC9UTi0ZCihnsqwh96fGFfo/saA7UJEzLG7qxlo= Address = 192.168.50.1/24 ListenPort = 51820 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE SaveConfig = true [Peer] # PublicKey Client PublicKey = BKHIXw8RSOOjXGwirXYmjZSudRKgr2xs/RgZCbc9/AA= AllowedIPs = 192.168.50.2/32
jalankan wireguard server
wg-quick up wg0
wg0
diambil dari nama file konfig wg0.conf
. Bila anda menggunakan nama lain, contoh keong.conf
gunakan wg-quick up keong
Wireguard Client
Generate private dan public key di client
umask 077 wg genkey | tee privatekey | wg pubkey > publickey
lihat privatekey dan publickey server
cat privatekey publickey # output UMNRL2fLBTvh6XdaSJG2WDt6Au4/X1GU1CrxGB1Lb2A= 9ikiSvRiX4u28VnGik8ZZqv6/1xTE3nTr2LIHtnXQnk=
Di client saya menggunakan Debian 9. Buat file /etc/wireguard/wg0c.conf
[Interface] # PrivateKey client PrivateKey = UMNRL2fLBTvh6XdaSJG2WDt6Au4/X1GU1CrxGB1Lb2A= Address = 192.168.50.2/32 [Peer] # PublicKey Server PublicKey = SF8vFdQintWc7au59VD+/5iHt6nTO6dKu0dcn/VBclM= Endpoint = 200.200.200.200:51820 AllowedIPs = 0.0.0.0/0
jalankan wireguard client
wg-quick up wg0c
dengan konfigurasi diatas, akses internet anda otomatis menggunakan IP server Wireguard, koneksi ditunnel ke server.