GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur VPN WireGuard di Ubuntu 20.04

WireGuard adalah jaringan pribadi virtual sumber terbuka dan berfokus pada keamanan yang dirancang untuk kesederhanaan dan kemudahan penggunaan. Ini mendukung sistem operasi yang berbeda termasuk, Linux, macOS, Windows, BSD dan Android. Ini adalah VPN tujuan umum dan sederhana yang dapat dengan mudah digunakan pada perangkat kecil ke server kelas atas. Ini adalah titik ke titik server VPN bukan model client-server. Ini menggunakan mekanisme pertukaran kunci publik untuk mengautentikasi klien.

Jika Anda mencari VPN yang ringan dan cepat, maka WireGuard VPN adalah pilihan terbaik untuk Anda. Dalam tutorial ini, kami akan menunjukkan cara menginstal server dan klien WireGuard VPN di Ubuntu 20.04.

Prasyarat

  • Dua server menjalankan server Ubuntu 20.04.
  • Kata sandi root dikonfigurasi di kedua server.

Memulai

Pertama, disarankan untuk memperbarui paket sistem Anda ke versi terbaru. Anda dapat memperbaruinya dengan perintah berikut:

apt-get update -y

Setelah semua paket diperbarui, Anda perlu menginstal Iptables di sistem Anda. Anda dapat menginstalnya dengan perintah berikut:

apt-get install iptables -y

Setelah penginstalan selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal Server VPN WireGuard

Secara default, paket WireGuard tersedia di repositori default Ubuntu 20.04. Anda dapat menginstalnya dengan menjalankan perintah berikut:

apt-get install wireguard -y

Setelah paket WireGuard diinstal, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Server WireGuard

WireGuard bekerja dengan menukar kunci publik antara setiap perangkat di jaringan WireGuard. Jadi, Anda perlu membuat kunci publik dan pribadi di server.

WireGuard menyediakan utilitas baris perintah wg dan wg-quick untuk membuat kunci dan mengelola antarmuka.

Anda dapat membuat kunci publik dan pribadi menggunakan perintah berikut:

wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

Setelah kedua kunci dibuat, Anda dapat memeriksanya dengan perintah berikut:

ls /etc/wireguard

Anda akan melihat output berikut:

privatekey  publickey

Anda dapat menampilkan konten kunci pribadi dengan perintah berikut:

cat /etc/wireguard/privatekey

Anda akan melihat output berikut:

4M1l65NIaoR2+fQ6xVnIdwj6iVjsSPDkEMuzVnbFh3A=

Anda dapat menampilkan konten kunci publik dengan perintah berikut:

cat /etc/wireguard/publickey

Anda akan melihat output berikut:

00Jsbppv/gVMy6oHMfFZ+T/eEFBAWVbiZo33HjQBSU4=

Selanjutnya, Anda perlu membuat antarmuka jaringan untuk WireGuard. Anda dapat membuatnya dengan perintah berikut:

nano /etc/wireguard/wg0.conf

Tambahkan baris berikut:

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = server-private-key
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Simpan dan tutup file setelah Anda selesai.

Di mana :

  • Alamat : Alamat IP pribadi untuk antarmuka wg0.
  • ListenPort : Tentukan port mendengarkan WireGuard.
  • Kunci Pribadi : Kunci pribadi yang disimpan dalam file /etc/wireguard/privatekey.
  • PostUp : Tentukan perintah yang memungkinkan lalu lintas meninggalkan server dan memberikan akses klien VPN ke Internet. Ganti juga eth0 dengan nama antarmuka jaringan Anda.

Selanjutnya, atur izin yang tepat ke kunci pribadi dan file wg0.

chmod 600 /etc/wireguard/{privatekey,wg0.conf}

Selanjutnya, aktifkan antarmuka wg0 dengan menjalankan perintah berikut:

wg-quick up wg0

Anda akan mendapatkan output berikut:

[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.0.0.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Anda juga dapat memulai layanan WireGuard menggunakan systemd seperti yang ditunjukkan di bawah ini:

systemctl start [email protected]

Selanjutnya, aktifkan layanan WireGuard untuk memulai pada sistem reboot dengan perintah berikut:

systemctl enable [email protected]

Selanjutnya, verifikasi status layanan WireGuard dengan perintah berikut:

systemctl status [email protected]

Anda akan mendapatkan output berikut:

? [email protected] - WireGuard via wg-quick(8) for wg0
     Loaded: loaded (/lib/systemd/system/[email protected]; disabled; vendor preset: enabled)
     Active: active (exited) since Thu 2020-12-10 11:42:14 UTC; 7s ago
       Docs: man:wg-quick(8)
             man:wg(8)
             https://www.wireguard.com/
             https://www.wireguard.com/quickstart/
             https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
             https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
    Process: 2173 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCESS)
   Main PID: 2173 (code=exited, status=0/SUCCESS)

Dec 10 11:42:14 ubuntu2004 systemd[1]: Starting WireGuard via wg-quick(8) for wg0...
Dec 10 11:42:14 ubuntu2004 wg-quick[2173]: [#] ip link add wg0 type wireguard
Dec 10 11:42:14 ubuntu2004 wg-quick[2173]: [#] wg setconf wg0 /dev/fd/63
Dec 10 11:42:14 ubuntu2004 wg-quick[2173]: [#] ip -4 address add 10.0.0.1/24 dev wg0
Dec 10 11:42:14 ubuntu2004 wg-quick[2173]: [#] ip link set mtu 1420 up dev wg0
Dec 10 11:42:14 ubuntu2004 wg-quick[2173]: [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Dec 10 11:42:14 ubuntu2004 systemd[1]: Finished WireGuard via wg-quick(8) for wg0.

Anda juga dapat memeriksa status antarmuka wg0 dengan perintah berikut:

wg show wg0

Anda akan mendapatkan output berikut:

interface: wg0
  public key: 00Jsbppv/gVMy6oHMfFZ+T/eEFBAWVbiZo33HjQBSU4=
  private key: (hidden)
  listening port: 51820

Anda bisa mendapatkan status alamat IP dari antarmuka wg0 dengan perintah berikut:

ip a show wg0

Anda akan mendapatkan output berikut:

13: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none 
    inet 10.0.0.1/24 scope global wg0
       valid_lft forever preferred_lft forever

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Aktifkan Penerusan IP

Selanjutnya, Anda harus mengaktifkan penerusan IP di server Anda untuk merutekan paket antara klien VPN dan Internet. Anda dapat mengaktifkannya dengan mengedit file /etc/sysctl.conf:

nano /etc/sysctl.conf

Ubah baris berikut:

net.ipv4.ip_forward=1

Simpan dan tutup file kemudian jalankan perintah berikut untuk menerapkan perubahan konfigurasi:

sysctl -p

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal dan Konfigurasikan Klien WireGuard

Pertama, Anda perlu menginstal paket WireGuard pada mesin klien. Anda dapat menginstalnya dengan perintah berikut:

apt-get install wireguard -y

Setelah menginstal paket WireGuard, buat privatekey dan publickey dengan perintah berikut:

wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

Setelah kedua kunci dibuat, Anda perlu membuat file konfigurasi baru.

Anda dapat membuatnya dengan perintah berikut:

nano /etc/wireguard/wg0.conf

Tambahkan baris berikut:

[Interface]
PrivateKey = client-private-key
Address = 10.0.0.2/24

[Peer]
PublicKey = server-public-key
Endpoint = server-ip-address:51820
AllowedIPs = 0.0.0.0/0

Simpan dan tutup file setelah Anda selesai.

Di mana :

  • Alamat : Alamat IP pribadi untuk antarmuka wg0.
  • Kunci Pribadi : Tentukan kunci pribadi pada mesin klien.
  • Kunci Publik : Tentukan kunci publik pada mesin server.
  • Titik akhir : Tentukan alamat IP server.
  • IP yang Diizinkan : Tentukan daftar alamat IP yang diizinkan.

Selanjutnya, Anda perlu menambahkan kunci publik klien dan alamat IP pada mesin server.

Pada mesin server, jalankan perintah berikut untuk menambahkan keduanya:

wg set wg0 peer client-public-key allowed-ips 10.0.0.2

Selanjutnya, Anda perlu membuka antarmuka wg0 pada mesin klien.

Pada mesin klien, jalankan perintah berikut untuk membuka antarmuka:

wg-quick up wg0

Anda akan mendapatkan output berikut:

[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.0.0.2/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] wg set wg0 fwmark 51820

Pada titik ini, mesin klien Anda terhubung ke server VPN WireGuard. Anda dapat memeriksa status koneksi dengan perintah berikut:

wg

Anda akan mendapatkan output berikut:

interface: wg0
  public key: 3FXBDpAO4Vado1tDjLtVQt+JnOCa+W2piLeFYQ8KyB4=
  private key: (hidden)
  listening port: 38830
  fwmark: 0xca6c

peer: 00Jsbppv/gVMy6oHMfFZ+T/eEFBAWVbiZo33HjQBSU4=
  endpoint: 69.87.216.36:51820
  allowed ips: 0.0.0.0/0
  latest handshake: 41 seconds ago
  transfer: 5.27 KiB received, 12.97 KiB sent

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengkonfigurasi server dan klien WireGuard VPN di server Ubuntu 20.04. Sekarang, lalu lintas dari mesin klien Anda harus dialihkan melalui mesin server Anda. Sekarang Anda dapat menjelajahi internet secara anonim dan menjaga kerahasiaan data Anda.


Ubuntu
  1. Cara Mengatur VPN WireGuard di Ubuntu (Panduan Langkah-demi-Langkah)

  2. Cara Mengatur WireGuard di Ubuntu 22.04

  3. Bagaimana cara menginstal dan mengatur Git di Ubuntu?

  1. Cara mengatur VPN Wireguard di CentOS 8

  2. Ubuntu – Bagaimana Cara Mengatur Ip Statis Di Ubuntu?

  3. Cara Mengatur VPN WireGuard di CentOS 8

  1. Cara Menginstal Redis di Ubuntu 20.04 / 18.04

  2. Cara membuat VPN di Ubuntu 20.04 menggunakan Wireguard

  3. Cara Mengatur Server OpenVPN di Ubuntu 18.04