03 Jan 2021
Di awal 2021 ini, cloud services sudah sangat lazim digunakan orang di seluruh dunia, termasuk di Indonesia. Skema tagihannya yang bisa per jam dan kecepatan provisioningnya memungkinkan banyak usaha rintisan (start up company) untuk bisa memulai bisnisnya dengan cepat dan murah.
Yang tadinya harus menyediakan modal besar untuk membeli server, melakukan instalasi, membuat atau menyewa data center, menyediakan listrik, disaster recovery, dan pos investasi lain yang nilainya besar, sekarang tidak perlu lagi memusingkan hal tersebut. Cukup bikin akun, masukkan data kartu kredit, dan kita bisa langsung membuat virtual private server yang memiliki IP public dan siap diakses dari mana saja.
Akan tetapi, tidak semua orang bisa memanfaatkan cloud services. Beberapa jenis industri mengharuskan data transaksi disimpan di dalam negeri, sedangkan penyedia cloud services tidak banyak yang memiliki data center di Indonesia. Untuk itu, kita perlu solusi untuk menghubungkan VPS kita di cloud provider dengan database server kita di data center sendiri.
Salah satu contoh kegunaannya adalah apabila kita ingin menggunakan layanan serverless semacam AWS Lambda untuk mengakses database kita di data center on premise.
Skema tersebut diilustrasikan seperti pada gambar berikut

Langkah-langkah implementasinya sebagai berikut:
Lanjut membaca ...
01 Jan 2021
Penggunaan VPN yang kita bahas pada artikel kali ini biasa disebut dengan skenario Road Warrior di berbagai artikel di internet. Definisinya bisa dilihat sendiri di wikipedia
Pada intinya, Road Warrior adalah pekerja yang bekerja di luar kantor (banyak tugas luar misalnya) dan butuh akses terhadap perangkat di dalam jaringan kantor, seperti database server, printer, aplikasi internal, shared file/folder, dan sebagainya.
Di awal tahun 2021 ini, banyak kebutuhan di atas (share file, printer, aplikasi) yang sudah tidak relevan lagi di era komputasi awan sekarang ini. File sharing bisa dilakukan dengan mudah dengan layanan Dropbox, Google Drive, dan lainnya. Bahkan kita bisa berkirim file melalui chat. Printer juga bisa dihubungkan dengan layanan Google Cloud Print, sehingga kita bisa menggunakan printer kita dari mana saja. Aplikasi bisnis kebanyakan sekarang sudah berbasis web dan dihosting di internet, sehingga bisa diakses dari mana saja. Walaupun demikian, kadangkala kita tetap butuh, sehingga saya tuliskan sekalian di sini cara konfigurasinya.
Lanjut membaca ...
30 Dec 2020
Penggunaan VPN kali ini sangat bermanfaat bagi para programmer. Seringkali kita membuat aplikasi yang tentunya kita buat di laptop kita sendiri. Setelah kode program kita tulis, kita biasa jalankan aplikasinya di laptop kita dengan alamat http://localhost
dan kita akses dari browser di laptop kita sendiri.
Akan tetapi, ada kalanya kita ingin mempresentasikan aplikasi kita tersebut untuk diakses oleh orang lain melalui internet. Atau kita ingin menyuruh orang lain mengakses aplikasi kita dari smartphone atau gadget lain yang menggunakan paket data. Karena browser/aplikasi yang mengakses aplikasi kita berjalan di perangkat yang berbeda, bahkan di jaringan yang berbeda juga (wifi rumah vs wifi kantor, wifi rumah vs paket data). Oleh karena itu kita tidak bisa menggunakan alamat http://localhost
untuk mengaksesnya.
Solusinya adalah menghubungkan laptop kita ke VPN gateway yang memiliki IP public, kemudian membuat konfigurasi routing dan forwarding untuk meneruskan request ke port tertentu di gateway ke komputer kita di rumah.
Skema tersebut diilustrasikan seperti pada gambar berikut

Langkah-langkah implementasinya sebagai berikut:
Lanjut membaca ...
28 Dec 2020
Pada artikel bagian kedua ini, kita akan membuat internet gateway atau proxy. Ada banyak kegunaan dari internet proxy ini, diantaranya:
- mencegah ISP kita untuk memasukkan iklan-iklan yang mengganggu
- mencegah pengelola jaringan internet di negara tertentu untuk memantau kegiatan internet kita. Ini berguna misalnya untuk jurnalis yang bertugas di daerah yang otoriter, sehingga rawan diciduk ketika menulis artikel yang sensitif
- mengakses layanan yang hanya ada di negara tertentu. Misalnya hiburan streaming yang pilihan tayangannya berbeda antar negara
- mengetes aplikasi yang kita buat, apakah berjalan dengan baik ketika diakses dari luar negeri
Skenario ini bisa diilustrasikan seperti pada gambar berikut

Langkah-langkah implementasinya sebagai berikut:
Lanjut membaca ...
25 Dec 2020
Sejak belasan tahun yang lalu, saya sudah merekomendasikan pentingnya menguasai konsep dan konfigurasi jaringan, khususnya administrasi jaringan dan server dengan Linux. Di penghujung 2020 ini, rekomendasi tersebut terasa lebih relevan seiring dengan semakin naik daunnya budaya DevOps.
Untuk itu, kita akan menutup tahun 2020 ini dengan membahas implementasi VPN yang sekarang sedang naik daun, yaitu WireGuard. WireGuard adalah aplikasi VPN yang sangat mudah digunakan. Jauh lebih sederhana daripada pendahulunya seperti OpenVPN dan IPSec. Selain itu, performanya juga jauh melampaui para pendahulunya tersebut. Bahkan Linus Torvalds sendiri memuji kode program dan kesederhanaan WireGuard, padahal Linus biasanya terkenal tajam lidahnya.
Informasi lebih rinci mengenai keunggulan Wireguard dapat dibaca di artikel ini, artikel ini, dan artikel ini. Tapi tidak ada yang sempurna di dunia ini, Wireguard juga memiliki beberapa masalah dalam urusan privasi, seperti dibahas di artikel ini. Walaupun demikian, untuk keperluan yang akan kita bahas di sini, privasi tidak terlalu menjadi pertimbangan kita, karena di hampir seluruh skenario yang akan kita bahas komputer dan jaringan yang terlibat adalah milik kita sendiri.
Dalam rangkaian artikel kali ini, kita akan membahas beberapa skenario penggunaan VPN yang umum digunakan oleh masyarakat umum dan juga software developer, yaitu:
- Membuat proxy internet
- Mengakses jaringan internal kantor dari luar kantor
- Membuka akses ke aplikasi yang berjalan di laptop untuk diakses dari internet
- Menghubungkan aplikasi yang berjalan di cloud services ke database yang berjalan di data center on premise
Disclaimer : rangkaian artikel ini mengasumsikan pembaca sudah menguasai dasar-dasar jaringan komputer dan pengoperasian Linux dengan command line/terminal.
Sebelum masuk ke konfigurasi yang kompleks, terlebih dulu kita akan mempelajari konsep dasar dari aplikasi Wireguard. Kita akan berlatih menghubungkan dua atau beberapa host dengan Wireguard. Untuk latihan ini, kita bisa menggunakan dua laptop, satu laptop dan satu VPS di cloud, ataupun satu laptop dan satu smartphone.
Skemanya dapat digambarkan sebagai berikut

Lanjut membaca ...