Konfigurasi Wireguard Server dan Klien

Konfigurasi Wireguard Server dan Klien

Melanjutkan artikel install wireguard. Sekarang saatnya konfigurasi biar bisa dipakai.

Untuk konfiguras akan saya bagi menjadi dua bagian, bagian server dan klien. Masing-masing memiliki konfigurasi sebagai berikut:

Server

  1. OS Centos 7.5 dengan kernel 4.20
  2. Terpasang wireguard
  3. Lokasi: VPS Linode singapura

Klien

  1. OS Manjaro dengan kernel 4.18
  2. Terpasang wireguard
  3. Lokasi: lokal

Konfigurasi

1. Server

Bikin folder untuk menyimpan konfigurasi

Folder ini untuk menyimpan konfigurasi wireguard

mkdir -p /etc/wireguard
cd /etc/wireguard

Generate key-pair

Kita harus generate keypair server dan klien

umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key
wg genkey | tee client_private.key | wg pubkey > client_public.key | wg genpsk > client_psk.key

Bikin konfigurasi untuk server

nano /etc/wireguard/wg0.conf

Isinya sbb:

[Interface]
Address = 10.200.200.4/24
SaveConfig = true
PrivateKey = <insert server_private.key>
ListenPort = 34777

[Peer]
PublicKey = <insert client_public.key>
PresharedKey = <client_psk.key>
AllowedIPs = 10.200.200.5/32

/32 artinya hanya satu ip address.

jalankan wireguard

wg-quick up wg0

enable IP forwarding

echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -p

setting firewall

Saya pakai firewall cmd, pertama bikin masquerade rule

firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.200.200.4/24 masquerade'

Kemudian bikin rule untuk accept forwarding dari wg0 ke eth0

firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i wg0 -o eth0 -j ACCEPT

Selanjutnya kita buka port 34777/udp

firewall-cmd --permanent --zone=public --add-port=34777/udp

Selanjutnya, kita tambahkan interface wg0 ke zone public

firewall-cmd --zone=public --add-interface=wg0 --permanent

Terakhir, reload firewall-cmd

firewall-cmd --reload

2. Klien

Sisi server sudah selesai, selanjutnya konfigurasi klien

Bikin folder untuk menyimpan konfigurasi

Folder ini untuk menyimpan konfigurasi wireguard

mkdir -p /etc/wireguard
cd /etc/wireguard

Bikin konfigurasi untuk klien

nano /etc/wireguard/wg0-client.conf

Isinya sbb:

[Interface]
Address = 10.200.200.5/24
PrivateKey = <insert client_private.key>
DNS = 8.8.8.8

[Peer]
PublicKey = <insert server_public.key>
PresharedKey = <client_psk.key, klien dan server harus sama>
Endpoint = <ip public server>:34777
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21

Start wireguard

wg-quick up wg0-client

Selesai, coba tes ping dari klien ke server pakai ip address wireguard:

[NUC wireguard]# ping -c 5 10.200.200.4
PING 10.200.200.4 (10.200.200.4) 56(84) bytes of data.
64 bytes from 10.200.200.4: icmp_seq=1 ttl=64 time=61.5 ms
64 bytes from 10.200.200.4: icmp_seq=2 ttl=64 time=75.5 ms
64 bytes from 10.200.200.4: icmp_seq=3 ttl=64 time=72.3 ms
64 bytes from 10.200.200.4: icmp_seq=4 ttl=64 time=66.3 ms
64 bytes from 10.200.200.4: icmp_seq=5 ttl=64 time=37.6 ms

--- 10.200.200.4 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 9ms
rtt min/avg/max/mdev = 37.618/62.657/75.464/13.411 ms

Kalau server ke klien?

[sumarsono@vps ~]$ ping -c 5 10.200.200.5
PING 10.200.200.5 (10.200.200.5) 56(84) bytes of data.
64 bytes from 10.200.200.5: icmp_seq=1 ttl=64 time=35.2 ms
64 bytes from 10.200.200.5: icmp_seq=2 ttl=64 time=72.3 ms
64 bytes from 10.200.200.5: icmp_seq=3 ttl=64 time=45.8 ms
64 bytes from 10.200.200.5: icmp_seq=4 ttl=64 time=74.5 ms
64 bytes from 10.200.200.5: icmp_seq=5 ttl=64 time=43.8 ms

--- 10.200.200.5 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 35.290/54.376/74.501/15.978 ms
[sumarsono@vps ~]$ 

Mudah bukan? ada yg keliru? jangan sungkan komentar, gratis. Oh iya, konfigurasi di atas merupakan contoh ya, jadi kalau mau dipakai sesuaikan dulu. Selebihnya silakan merujuk ke wiki wireguard.

Sumber: https://unomind.github.io/2019/01/10/konfigurasi-wireguard-server-dan-klien/

Install Wireguard VPN di VPS Centos 7.5 Linode

Install Wireguard VPN di VPS Centos 7.5 Linode

Wireguard VPN ini merupakan sesuatu yang baru. Menariknya dia lebih gegas dibandingkan dengan pendahulunya, openvpn. Hasil dari benchmark klik disini.

Satu hal yang kurang menarik dari wireguard adalah proses installnya, setidaknya untuk saat ini. Hal tersebut karena harus menyentuh kernel. Nah, Centos 7.5 di Linode masih pakai kernel 3.10, belum support. Yasudah kesempatan bagus upgrade kernel sekalian coba wireguard. Hahaha.

Untuk detail installnya kita butuh:

  1. Menambahkan repo kernel-ml
  2. Menambahkan repo wireguard
  3. Install latest LTS Kernel, beserta kernel-headernya dan paket kernel-develnya (kernel-ml, kernel-ml-headers, kernel-ml-devel).
  4. Install wireguard-tools dan wireguard-dkms.

Baiklah, dimulai saja dengan ssh ke VPS:

Menambahkan repo kernel-ml

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

Menambahkan repo wireguard

curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo

Install kernel LTS terbaru

yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-headers kernel-ml-devel

install wireguard

yum install wireguard-dkms wireguard-tools

Sampai sini, wireguard sudah terinstall. Berikutnya adalah konfigurasi dan ujicoba, akan saya tulis di artikel lain.

Sumber: https://unomind.github.io/2019/01/10/install-wireguard-vpn-di-vps-centos-7.5-linode/

Continue reading Install Wireguard VPN di VPS Centos 7.5 Linode