Cara Install Wireguard pada Ubiquiti EdgeRouter 4 | UNIX LINUX EXPLORE
Edit

Cara Install Wireguard pada Ubiquiti EdgeRouter 4

Wireguard adalah salah satu VPN baru yang paling populer saat ini, dan dengan cepat diadopsi sebagai penerus OpenVPN. Dengan diperkenalkannya ke kernel Linux utama, Wireguard berjanji untuk menyediakan cara yang lebih sederhana, lebih cepat, dan lebih aman untuk menyiapkan VPN tanpa perlu berurusan dengan solusi tradisional seperti OpenVPN dan L2TP/IPSEC, yang dapat merepotkan dan lambat.

Ubiquiti EdgeRouter adalah router kabel yang luar biasa dan berkinerja tinggi, yang juga dilengkapi dengan firewall dan fungsionalitas vpn. EdgeRouters memiliki dukungan bawaan untuk OpenVPN, IPsec, GRE, L2TP, dan beberapa protokol VPN dan tunneling lainnya. Jika Anda ingin menggunakan salah satunya, lihat artikel bantuan VPN EdgeRouter Ubiquiti. Artikel tersebut membahas banyak hal mendasar tentang VPN dan beberapa pengaturan situs-ke-situs berbasis rute atau berbasis kebijakan tingkat lanjut.



Meskipun opsi bawaan akan berfungsi untuk sebagian besar, Wireguard adalah alternatif yang lebih modern. Wireguard mengungguli IPsec dan OpenVPN, dan dapat menjadi VPN akses situs-ke-situs atau akses jarak jauh yang baik, tergantung pada cara Anda mengkonfigurasinya. Ia tidak terpasang di EdgeOS, tetapi dengan beberapa perintah Anda dapat menginstal paket Wireguard dari Github.

Panduan ini mengasumsikan beberapa hal, termasuk bahwa EdgeRouter memiliki IP publik pada port WAN, dan tidak berada di belakang CGNAT. Jika Anda tidak memiliki alamat IP publik statis, sebaiknya gunakan layanan DNS dinamis, dan arahkan klien Anda ke nama host tersebut.

Artikel ini akan memandu Anda untuk melakukan pengaturan cepat wireguard pada EdgeRouter 4.


1. MENYIAPKAN ROUTER

Langkah pertama untuk menginstal Wireguard di EdgeOS adalah dengan melakukan SSH ke router Anda. Jika SSH belum disiapkan di router Anda, Anda dapat mengaktifkannya dengan mengikuti panduan ini.

Setelah Anda dapat melakukan remote SSH ke router Anda, kemudian download file *.deb yang tepat untuk EdgeRouter Anda. Lihat repo ini, pastikan untuk mengunduh versi yang tepat untuk perangkat keras Anda. Versi router sangat menentukan jenis file *.deb yang sesuai dengan EdgeRouter anda. File master *.deb dapat anda download dari repositori Github "https://github.com/WireGuard/wireguard-vyatta-ubnt", dan instal melalui dpkg.


dan alertmanager yang menangani peringatan.

download dan install file *.deb wireguard
# Download .deb
curl -OL https://github.com/WireGuard/wireguard-vyatta-ubnt/releases/download/1.0.20211208-1/e300-v2-v1.0.20211208-v1.0.20210914.deb

# Install deb
dpkg -i e300-v2-v1.0.20211208-v1.0.20210914.deb
Setelah Wireguard terinstal di router Anda, Wireguard dapat dikonfigurasi melalui antarmuka Vyatta standar.

Perlu diketahui bahwa karena Wireguard bukan perangkat lunak yang dibundel dengan firmware EdgeOS, pemutakhiran firmware mengharuskan penginstalan ulang paket Wireguard Debian. Setelah paket Wireguard diinstal ulang, penerapan ulang berkas konfigurasi Vyatta yang ada, atau melakukan boot ulang akan memulihkan antarmuka Anda.

Langkah pertama Anda adalah membuat kunci pribadi untuk router Anda, dan membuat kunci publik yang dapat Anda distribusikan ke klien.

Buat kunci private dan publik
$ wg genkey | tee /dev/tty | wg pubkey
Perintah di atas akan menghasil dua baris kunci, kunci pertama adalah kunci private dan kunci ke dua adalah kunci publik.


0GbmWkPkYB9y2s5aIwtqdrAPoSnsDFnuhHjRnujE1g7=
MsVzrtWPGWDbuCLPUyTsTL6pQOfiS+96VOXsMnPo+PI=
Selanjutnya, menggunakan alat konfigurasi Vyatta standar, kita akan menyiapkan Wireguard.


configure

# Adjust the address route as necessary
set interfaces wireguard wg0 address 192.168.33.1/24
set interfaces wireguard wg0 listen-port 51820
set interfaces wireguard wg0 route-allowed-ips true

set interfaces wireguard wg0 private-key <private_key>

commit
Perintah ini akan membuat jaringan wireguard pada 192.168.33.1/24, dan akan mengarahkan semua lalu lintas pada 192.168.33.1/24 melalui antarmuka wireguard baru.

Buat kunci private dan publik
$ wg genkey | tee /dev/tty | wg pubkey


2. Menyiapkan Client

Setelah router kita siap, selanjutnya kita perlu mengulangi proses pembuatan kunci pada klien kita dan bertukar kunci publik untuk membuat koneksi.

Pertama, kita perlu menginstal Wireguard pada klien kita. Pada Ubuntu, ini dapat dilakukan dengan menjalankan perintah berikut.


$ sudo add-apt-repository ppa:wireguard/wireguard
$ sudo apt-get update
$ sudo apt-get install wireguard
Petunjuk untuk platform tambahan tersedia di wiki wireguard. Pada perangkat klien Anda (Mac atau Linux), ulangi perintah pembuatan kunci:

Buat kunci private dan publik
$ wg genkey | tee /dev/tty | wg pubkey
eFzrSu/yJMgDjZDNXL9dJsDcT9n00hySFYUOCFulO1Y=
aWLc3A6WnKtVpTYPki3TRrKGDg8JUS0HephzxpnP8js=
Sekarang, kita perlu membuat antarmuka wireguard pada klien kita dengan membuat /etc/wireguard/wg0.conf.


# touch /etc/wireguard/wg0.conf
# chown root:root /etc/wireguard/wg0.conf
# chmod 600 /etc/wireguard/wg0.conf
Kemudian kita perlu mengisi berkas ini dengan informasi antarmuka, dan informasi untuk router kita.


[Interface]
Address = 192.168.33.2/32
PrivateKey = eFzrSu/yJMgDjZDNXL9dJsDcT9n00hySFYUOCFulO1Y=

[Peer]
PublicKey = KsVzrtWPGWDbuCLPUyTsTL6pQOfiS+96VOXsMnPo+SI=
AllowedIPs = 192.168.33.0/24
Endpoint = public_ip_of_router:51820
Karena berkas ini merupakan bagian Wireguard yang paling membingungkan, mari kita luangkan waktu sejenak untuk menguraikan secara rinci apa yang dilakukan setiap blok.


3. Client Interface

Blok [Antarmuka] menentukan kunci pribadi klien, dan alamat IP yang harus digunakan antarmuka untuk menghubungkan ke rekan mana pun. Alamat IP harus dalam format CIDR/32, karena kita hanya akan memiliki satu alamat IP.


[Interface]
Address = 192.168.33.2/32
PrivateKey = eFzrSu/yJMgDjZDNXL9dJsDcT9n00hySFYUOCFulO1Y=

PEER

The [Peer] block defines who we’re connecting to, and what routes we want to Wireguard to send over the previously created interface.


[Peer]
PublicKey = KsVzrtWPGWDbuCLPUyTsTL6pQOfiS+96VOXsMnPo+SI=
AllowedIPs = 192.168.33.0/24
Endpoint = public_ip_of_router:51820
Baris PublicKey adalah kunci publik router kita, dan Endpoint menentukan lokasi router kita di internet publik.

Baris AllowedIPs memberi tahu antarmuka wg0 rute apa yang ingin kita kirim melalui antarmuka tersebut. Dalam contoh ini, Wireguard akan merutekan semua lalu lintas ke 192.168.33.0/24 melalui antarmuka Wireguard dan ke router kita.

Meskipun ini memberi kita konektivitas ke router kita, ini tidak memungkinkan kita mengakses perangkat lain di LAN kita di belakang router kita. Untuk melakukannya, kita hanya perlu memperbarui bagian AllowedIPs dengan rentang IP LAN kita. Misalnya, jika perangkat di jaringan Anda memiliki IP dalam 192.168.0.0/24, kita cukup memperbarui baris AllowedIPs kita agar terlihat seperti berikut.


AllowedIPs 192.168.33.0/24, 192.168.0.0/24
Sekarang lalu lintas melalui VPN kita, dan ke LAN kita akan diarahkan melalui antarmuka Wireguard dan ke router kita, yang akan menangani penerusan ke klien di LAN kita dengan lancar.


Peering Router

Sekarang setelah kita memiliki kunci publik klien kita, kita perlu memperbarui konfigurasi router kita.


set interfaces wireguard wg0 peer aWLc3A6WnKtVpTYPki3TRrKGDg8JUS0HephzxpnP8js= allowed-ips 192.168.33.2/32

commit
save
Perintah ini memberi tahu router kita untuk menerima lalu lintas dari klien kita dengan kunci publik aWLc3A6WnKtVpTYPki3TRrKGDg8JUS0HephzxpnP8js= (yang kita buat sebelumnya), dan hanya meneruskan dan menerima lalu lintas dari alamat IP klien kita, 192.168.33.2/32.

Saat mengonfigurasi router Anda dengan beberapa rekan, penting bagi Anda untuk tidak membuat entri yang tumpang tindih untuk baris ip yang diizinkan, karena router tidak akan dapat merutekan lalu lintas dengan tepat.

Kita kembali ke klien, kita sekarang dapat memunculkan antarmuka wg0 dengan menjalankan.


sudo wg-quick up wg0
Kita dapat memverifikasi konektivitas dengan menjalankan sudo wg, yang akan memberi kita informasi tentang rekan yang terhubung dengan kita.


interface: wg0
  public key: QLpJ0XIWAgPtC+8P2ctmmRITv1SufXOzRqKIdlzcd1I=
  private key: (hidden)
  listening port: 55972

peer: aWLc3A6WnKtVpTYPki3TRrKGDg8JUS0HephzxpnP8js=
  endpoint: ip_of_router:51820
  allowed ips: 192.168.33.0/24, 192.168.0.0/24
  latest handshake: 49 minutes, 26 seconds ago
  transfer: 472 B received, 6.01 KiB sent
Kita dapat mengulang perintah sudo wg pada router kita untuk memverifikasi konektivitas juga.

Setelah mengonfirmasi bahwa Wireguard menganggapnya terhubung, kita dapat menggunakan salah satu alat jaringan standar kita untuk terhubung ke host di balik LAN kita, seperti ping, SSH, dan lain lain.

Menampilkan antarmuka secara otomatis di Linux

Di Linux, Wireguard menyediakan perintah systemd yang dapat digunakan untuk menampilkan antarmuka secara otomatis saat boot. Perintah ini dapat diaktifkan dengan menjalankan:


$ sudo systemctl enable wg-quick@wg0.service
$ sudo systemctl start wg-quick@wg0.service
Wireguard adalah VPN yang sangat cepat, dan setelah mendapat dukungan utama di kernel Linux, kecepatannya akan menjadi lebih cepat lagi. Seperti yang ditunjukkan dalam artikel ini, menyiapkan Wireguard sangatlah mudah, terutama jika dibandingkan dengan solusi VPN lain seperti OpenVPN atau L2TP/IPSEC.